Consulenze presso Eunet srl, via dell'Artigianato 15, 09122 Cagliari 070 753609 Lun - Ven 08:30-13:00 / 14.30-17.00

Consolidamento manuale delle snapshot in vSphere 5.x

Può accadere che dal client di gestione delle VM non siano presenti snapshot, ma in realtà la VM stà lavorando su una snapshot. In questa situazione le prestazioni della VM sono degradate ed in genere il programma utilizzato per i salvataggi restituisce errori di vario di genere,  questo perchè rileva la presenza della snapshot.

 

Consolidiamo le snapshot quando da interfaccia grafica non è più possibile.

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1007849

 Note: con VM indicheremo la Virtual Machine, quindi la macchina virtuale presente sull'host vSphere.

La Virtual Machine di questo esempio si chiama VM-server-pap-NT4. La proceduta è valida per qualsiasi sistema operativo presente sulla Virtual machine.

La procedura è stata testata su host vSphere 4.1 nel link VMware viene fatta distinzione per host vSphere 5.x.

Consiglio un salvataggio della Virtual Machine prima di qualsiasi operazione.

 

Come si vede dall'immagine sotto non sono presenti snapshot da consolidare.

1-snapshot-manager

In realtà la VM stà lavorando su un disco generato dalla snapshot.

2 -edit-setting-1

Possiamo vedere lo stato dei dischi collegandosi all'host vSphere in SSH. Posizioniamoci nella cartella della VM

3 -ls-vmdk

Come possiamo vedere oltre al file della VM sono presenti un file delta ed un file 0001 con estensione vmdk.

Prima di procedere accertiamoci che queste snapshot sono legate al file principale .vmdk e non siano invece snapshot da non utilizzare.

Assicuriamoci che la VM sia spenta.

 

vmware-cmd nomeVM.vmx getstate

 4 -getstate

Per farlo dobbiamo verificare il CID e PARENCID del disco virtuale.

Procediamo con l'individuazione del disco principale indicato nel file di configurazione della VM.

cat nomeVM.vmx | grep vmdk

 5-cat-vmx

Con questa informazione ci assicuriamo che il disco principale della VM è VM-server-pap-NT4.vmdk quindi gli altri file sono delle snapshot di questo file.

Verifichiamo il numero CID e parentCID quindi il legame fra il file principale e la snaphot secondaria. In caso di più snapshot il concetto rimane valido.

cat nomeVM.numSnapshoot.vmdk | grep -i "cid|parentcid|vmdk" --color

 6-cid-pantcid

Adesso che ci siamo assicurati di lavorare con i file giusti consolidiamo i file .vmdk

creiamo una cartella “recover” questa sarà la destinazione del file consolidato prima di rendere la modifica permanente.

mkdir -p /vmfs/volumes/"nostro-datastore"/recover

vmkfstools -i nostraVM-numSnapshot.vmdk /percorso-del-datastore-di-destinazione

Esempio con più snapshot.

cid-win2008

(Nell'esempio sopra il file da selezionare è l'ultimo, quindi -000002.vmdk)

7- vmkfstools-1

8-vmkfstool-2

adesso proviamo a far ripartire la nostra VM con il disco appena consolidato.

Tasto destro sulla nostra VM e scegliamo edit

9-edit-setting

 rimuoviamo l'ard disk presente ,facendo attenzione di rimuoverlo solamente dall'inventario.

 10-edit-setting2

 Adesso possiamo aggiungere nuovemente l'hard disk scegliendo il file vmdk che abbiamo ripristinato nella cartella recover.

 11-edit-setting4

 

12- edit-setting5

Avviamo la VM con il nuovo disco e verifichiamo che tutto sia andato a buon fine.

Se tutto è andato a buon fine procediamo col togliere i vecchi file vmdk frammentati e mettere il disco consolidato.

Posizioniamoci nella cartella originale della VM e spostiamo i file non più necessari in una cartella temporanea.

mkdir tmp
mv *.vmdk cartella-temporanea

   13 -mv-vmdk

per copiare il disco consolidato dalla cartella recover alla cartella corretta utilizziamo ancora l'utility vmkfstool

vmksfstools -i /percorso-datastore-file-recover /destinazione-del-disco-consolidato

  14-vmkfstool-last

 Adesso rimuoviamo dall'inventario la VM in questione.

 Dal vSphere Client tasto destro sulla VM rimuovi dall'inventario

 15 -remove-inventory

 Adesso andiamo a rivedere la cartella della VM esplorando il datastore.

 Da storage – configuration – espola datastore

 16 -browse-datastore

 facciamo tasto destro sul file vmx e selezioniamo add inventory.

 17 -add-inventory

Facciamo ripartire la VM , se tutto è andato a buon fine possiamo rimuovere la cartella tmp precedentemente creata.

 Rimuoviamo il vecchio file hard disk .vmdk e la sua snapshot 0001...vmdk

rm -rf cartella-dei-file-temporanei
rm -rf tmp

 Nota:

Può accadere, dopo queste operazioni ,che facendo una nuova snapshot riceviamo questo errore:

errore-snapshot

Maggiori specifiche le possiamo trovare nella KB Vmware.

Per risolvere è necessario spengere la V.M ed eliminare i file con estenzione ".vmsd" e ".vmsn" .

Se lo facciamo a V.M accesa viene subito creata una snapshot

snapshot-vmsd

Sarà necessario ripuntare allo stato precedente e successivamente fare un "delete all" delle snapshot.

 luca mazzanti

(0 Votes)