Da sempre una delle funzioni più utili di vmware è la possibilità di generare snapshots delle varie virtual machine. Questo ci da la possibilità di registrare lo stato di una determinata macchina prima di effetturare qualsiasi operazione “critica”, come l’installazione di un service pack, un nuovo software o la modifica di alcuni parametri di funzionamento e poter tornare indietro se qualcosa non va a buon fine.
Spesso però molti sistemisti abusano di questo strumento utilizzandolo come alternativa ai normali backup. Questo atteggiamento è molto sbagliato, dal momento che il file system VMFS viene letteralmente riempito di questi file, e le eventuali operazioni di consolidamento possono diventare problematiche. Vediamo perchè.
Come prima cosa cerchiamo di capire come funziona una snapshot. Quando ne generiamo una il disco originale diventa di sola lettura e un file delta separato viene creato per contenere tutte le modifiche che vengono apportate da quel momento in poi. Il file delta non contiene le modifiche e la storia del file system come fosse un database transazionale, semplicemente contiene i blocchi di dati aggiornati rispetto al disco originale, ma sempre all’ultima versione scritta. Se un blocco viene scritto 4 volte, la versione originale sarà presente nel disco originale e solo la 4a versione sarà presente nel delta file.
Ipotizziamo di avere un disco originale di 40 Gb e di aver creato 2 snapshots. Nel file system VMFS avremo:
Originale: 40 Gb
Snapshot 1: 10 Gb
Snapshot 2: 20 Gb
Ovviamente un delta file non sarà mai pià grande del suo disco originale. Se diamo il comando “delete-all” vmware effettua le seguenti operazioni:
1. viene creata una snapshot “helper” per registrare le modifiche che avvengono sul disco durante l’operazione di consolidamento
1. consolida la snapshot 2 nella 1 facendola aumentare fino a 30 Gb.
2. Snapshot 1 viene consolidata nel disco originale
3. La snapshot helper viene consolidata nel disco originale
4. Tutte le snapshot vengono cancellate.
Come si intuisce dalla scaletta, avremo bisogno di un determinato spazio disco per contenere le versioni consolidate e ingrandite delle snapshot oltre allo spazio per la snapshot helper; nel nostro esempio 30 e passa GB. Nel caso limite di questo esempio, dovremo avere spazio disco equivalente a 4 volte la dimensione del disco originale più un pò di spazio per l’helper (40 gb di disco iriginale, 40 gb di snapshot 1, 40 gb di snapshot 2, 40 gb per consolidare 2 in 1).
Quindi prestate molta attenzione nel dare il comando “delete-all” per non incorrere nella saturazione del file system. Ed evitate quindi di avere troppe snapshot in giro…