Home > Linux, Server > XenServer eliminare VDI in uso utilizzando l’interfaccia comandi ( CLI )

XenServer eliminare VDI in uso utilizzando l’interfaccia comandi ( CLI )

Scenario. L’operazione di copia su altro Storage Repository (SR) di una VM non è terminata correttamente. Il risultato è un disco (VDI), nome “Biblioteca”, collegato alla VM che non è possibile eliminare utilizzando XenCenter. Inoltre il comando xe vdi-destroy evidenzia che il VDI in questione risulta in uso:

# xe vdi-destroy uuid=c1e96819-089f-44b2-874b-b5facd9d4068 
This operation cannot be performed because this VDI is in use by some other operation
vdi: c1e96819-089f-44b2-874b-b5facd9d4068 (Biblioteca)
operation: destroy

In questo caso con tutta probabilità il disco VDI in oggetto risulterà ancora attaccato al dom0 (control domain) e pertanto in uso secondo la prospettiva di XenServer. Per rimuovere il disco “Biblioteca” bisogna ricorrere alla Command Line Interface (CLI). Di seguito le operazioni passo passo da compiere con l’indicazioni dell’utilizzo di [tab] e doppio [tab] per accelerare le operazioni (Per l’aiuto si può usare xe help, xe help -all e xe help “command” ).

La procedura indicata è stata testata su XenServer 6.1 tuttavia poichè utilizza comandi standard non dovrebbero esserci problemi anche con le versioni precedenti almeno fino alla 5.

Per visualizzare gli Storage Repository si può utilizzare il comando:

# xe sr-list
# xe sr-list
uuid ( RO)                : 37239476-c08f-ad02-c776-77830c73d6c6
          name-label ( RW): Local storage
    name-description ( RW): 
                host ( RO): xs-602
                type ( RO): lvm
        content-type ( RO): user

uuid ( RO)                : 4f9d6505-0f10-5e08-9629-4a4813ec57a7
          name-label ( RW): sr-l-T18
    name-description ( RW): 
                host ( RO): xs-602
                type ( RO): lvm
        content-type ( RO): user

uuid ( RO)                : 38faf3c9-f7ab-a8b6-4fb9-80a4745c2b05
          name-label ( RW): sr xenserver 5
    name-description ( RW): 
                host ( RO): xs-602
                type ( RO): lvm
        content-type ( RO): user
...
..

Per ricercare l’UUID  del VDI “Biblioteca” localizzato nello Storage Repository UUID=4f9d6505-0f10-5e08-9629-4a4813ec57a7.

# xe vdi-list

doppio tab per evidenziare gli argomenti disponibili

# xe vdi-list
allow-caching=                missing=                      snapshot-time=
allowed-operations=           name-description=             sr-name-label=
allowed-operations:contains=  name-label=                   sr-uuid=
crashdump-uuids=              on-boot=                      storage-lock=
crashdump-uuids:contains=     other-config=                 tags=
current-operations=           params=                       tags:contains=
current-operations:contains=  parent=                       type=
database:                     physical-utilisation=         uuid=
is-a-snapshot=                read-only=                    vbd-uuids=
location=                     sharable=                     vbd-uuids:contains=
managed=                      sm-config=                    virtual-size=
metadata-latest=              snapshot-of=                  xenstore-data=
metadata-of-pool=             snapshots=

Poichè sono presenti più local storage repository (SR) usiamo anche il parametro sr-uuid così da limitare i VDI visualizzati.
Tab per completare doppio tab per avere l’elenco degli SR disponibili

# xe vdi-list sr-uuid=
[root@localhost ~]# xe vdi-list sr-uuid=
37239476-c08f-ad02-c776-77830c73d6c6   66c01d4b-911d-8cfd-d5a0-d78a5ad2f732 
38faf3c9-f7ab-a8b6-4fb9-80a4745c2b05   c425f5fb-1e60-685c-0a1c-6cc11a0087b7 
4f9d6505-0f10-5e08-9629-4a4813ec57a7   f9dc6463-379d-844e-6b2f-1f313f7b96eb

un solo tab per completare su sr-uuid=4f9

[root@localhost ~]# xe vdi-list sr-uuid=4f9d6505-0f10-5e08-9629-4a4813ec57a7 
uuid ( RO)                : 2b49dbf2-4676-4de9-9e3d-f12797b6076a
          name-label ( RW): Lubu1110
    name-description ( RW): Lubuntu1110 Copy
             sr-uuid ( RO): 4f9d6505-0f10-5e08-9629-4a4813ec57a7
        virtual-size ( RO): 8589934592
            sharable ( RO): false
           read-only ( RO): false

uuid ( RO)                : c1e96819-089f-44b2-874b-b5facd9d4068
          name-label ( RW): Biblioteca
    name-description ( RW): 100% XP ori
             sr-uuid ( RO): 4f9d6505-0f10-5e08-9629-4a4813ec57a7
        virtual-size ( RO): 64424509440
            sharable ( RO): false
           read-only ( RO): false

Adesso dobbiamo ricercare il VBD (virtual block device) del nostro VDI “Biblioteca” che dovrebbe evidenziare la connessione al dom0.
tab su xe vbd-list uuid=c1e  per completare l’uuid oppure taglia incolla

xe vbd-list vdi-uuid=c1e96819-089f-44b2-874b-b5facd9d4068

Se il VDI in oggetto fosse una macchina virtuale potrebbero essere presenti due VBD uno per la VM e uno per il dom0. Nel nostro caso il VDI “Biblioteca” è uno disco di storage e quindi ci aspettiamo una solo VBD verso dom0.

[root@localhost ~]# xe vbd-list vdi-uuid=c1e96819-089f-44b2-874b-b5facd9d4068 
uuid ( RO)             : 8d5590c6-759d-5bf3-ce62-104be70b0545
          vm-uuid ( RO): 6b74bc18-469c-46b1-b2e8-21caee26475f
    vm-name-label ( RO): Control domain on host: xs-602
         vdi-uuid ( RO): c1e96819-089f-44b2-874b-b5facd9d4068
            empty ( RO): false
           device ( RO): sm/backend/4f9d6505-0f10-5e08-9629-4a4813ec57a7/c1e96819-089f-44b2-874b-b5facd9d4068

Il risultato conferma le attese. Per poter cancellare il VDI dobbiamo pertanto scollegare ( unplug ) il disco dal dom0 con xe vbd-unplug.

xe vbd-unplug uuid=8d5590c6-759d-5bf3-ce62-104be70b0545

Quindi eliminare il block device con

xe vbd-destroy uuid=8d5590c6-759d-5bf3-ce62-104be70b0545

Scollegato il vdi dal dom0 adesso sarà possibile rimuovere il disco utilizzando XenCenter oppure con il comando xe vdi-destroy.
possiamo usare i tab per il completamenti vari

xe vdi-destroy uuid=c1e96819-089f-44b2-874b-b5facd9d4068

Glossario

dom0  = dominio privilegiato.  E’  la Virtual Machine (VM) creata dall’Hypervisor di XenServe al boot. Il dominio privilegiato è  l’unico che ha accesso diretto all hardware e che si occupa di lanciare le altre VM .
domU = dominio non privilegiato .  Tutte le altre istanze di macchina virtuale (VM) in esecuzione diverse da dom0  sono dominioU:  viene creato un distinto dominio per ogni istanza.
Host:  la machine che esegure XenServer
Guest: una Virtual Machine  eeeguita dentro XenServer.
VM : Virtual Machine, in XenServer è identificata da uno specifico uuid è ospitata in una Virtual Disk Image con un proprio vdi-uuid ed è connessa al dom0 grazie a un VBD con un suo vdb-uuid.
VDI:  Virtual Disk Image, un immagine o file che rappresenta un hard disk virtual.
VDB: Virtual Block Device, un modo per connettere una VDI a una virtual machine
UUID: Universally unique identifier. Una stringa di caratteri che XenServer, in this case, per idenficare in modo univoco un particolare oggetto. You can read more at http://en.wikipedia.org/wiki/UUID

Altre risorse nle blog:


		
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: