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

Guida all'uso delle snapshot nelle macchine virtuali

La snapshot di una VM corrisponde ad una sua istantanea registrata su disco (sullo storage fisico). L’istantanea può essere utilizzata in qualsiasi momento per riportare la macchina virtuale allo stato dell’istantanea stessa. Una snapshot è utile quando vi è la necessità di compiere modifiche sul software della VM, ad esempio aggiornamenti del sistema operativo o modifiche sugli applicativi che vi girano sopra, garantendo la possibilità di ripristinare la VM ad uno stato precedente ed annullando eventuali problemi dovuti alle modifiche effettuate.

guida-snapshot-1

 

Possono essere create più snapshot per VM, e la relazione tra le diverse snapshot è di tipo parent-child (genitore-figlio), con organizzazione ad albero. Ogni snapshot ha un genitore ed un figlio, tranne l’ultima snapshot che non ha figli.

Una snapshot mantiene le informazioni riguardanti:

  • impostazioni della VM (incluse nei file .vmx e .nvram) e stato di alimentazione;
  • stato dei dischi;
  • stato della memoria nel momento di creazione della snapshot.

E’ importante rilevare che le snapshot non possono e non devono essere considerate come un metodo di backup delle macchine virtuali.

 

Creazione di una snapshot

  1. Utilizzando il client vSphere, fare clic con il tasto destro sulla macchina virtuale desiderata.
  2. Dal menu Snapshot, selezionare la voce Take snapshot.

    guida-snapshot-2 

  3. Nel box di dialogo, bisogna specificare un nome per la snapshot e (opzionalmente) inserire una descrizione. Se si spunta l’opzione Snapshot the virtual machine’s memory, disponibile solo per le macchine accese, il contenuto della memoria sarà salvato insieme alla snapshot. Se nel sistema operativo guest sono installati i VMware Tools, è consentito mettere in quiescenza il file system, spuntando la relativa casella.

    guida-snapshot-3

 

Gestione delle snapshot

Le snapshot possono arrivare a occupare molto spazio all’interno dello storage. L’indicazione generale è di non lasciare attive le snapshot create, perché generano un overhead nei tempi di accesso ai dati della VM e possono crescere sullo storage fino alla dimensione del disco padre. Nel caso in cui si arrivasse ad avere il datastore con lo spazio in esaurimento a causa della crescita di una o più snapshot, sarà necessario procedere a una migrazione della VM o al consolidamento delle snapshot. L’operazione con cui si eliminano tutte le snapshot è chiamata consolidation. Un’altra possibilità è quella di clonare la VM su un altro datastore, perché il cloning di una macchina virtuale prevede implicitamente il consolidamento delle sue snapshot.

  1. Utilizzando il client vSphere, fare clic con il tasto destro sulla macchina virtuale desiderata.
  2. Dal menu Snapshot, selezionare la voce Snapshot manager.
  3. All’interno dello Snapshot Manager, sono possibili le operazioni seguenti:
  4. Delete - consolida le modifiche della snapshot selezionata sulla snapshot superiore (parent disk). La snapshot selezionata viene poi eliminata.
  5. Delete All - consolida le modifiche delle snapshot precedenti allo stato corrente, quello indicato dalla voce You are here. Le snapshot precedenti saranno eliminate.
  6. Go to - permette di ripristinare la VM allo stato della snapshot selezionata.

    guida-snapshot-4

 

File di una snapshot

Ogni snapshot è costituita dagli elementi seguenti:

      Memory state file, con suffisso ed estensione del tipo nome_vm-Snapshot#.vmsn, dove il simbolo # è il numero di sequenza (a partire da 1), rappresenta lo stato della memoria. Ne viene creato uno nuovo per ogni nuova snapshot, e cancellato se la relativa snapshot viene cancellata. Se, durante la creazione della snapshot, si sceglie di includere anche il contenuto di memoria della VM, questo file sarà grande quanto la dimensione della memoria, diversamente sarà di dimensioni molto ridotte.

      Snapshot description file, con suffisso ed estensione del tipo nome_vm-00000#.vmdk, contiene informazioni sulla snapshot.

      Snapshot delta file, con suffisso ed estensione del tipo nome_vm-00000#-delta.vmdk, contiene le modifiche effettuate sul disco della VM. Quando viene creata una snapshot, la macchina virtuale non utilizza più il suo file .vmdk per le operazioni di scrittura, ma impiega il delta disk file che conterrà tutte le modifiche temporalmente successive alla creazione della snapshot.

      Snapshot list file, con suffisso ed estensione del tipo nome_vm.vmsd, mantiene le informazioni riguardanti tutte le snapshot della macchina virtuale, ovvero i riferimenti ai file .vmsn e .vmdk. È creato insieme alla macchina virtuale e ne esiste uno solo indipendentemente dalla presenza e dal numero di snapshot.

 

Funzionamento del processo di snapshot

Alla creazione di una snapshot, viene creato uno “child disk”, corrispondente al file nome_vm-00000#-delta.vmdk. I dischi derivanti da una snapshot utilizzano un meccanismo di copy-on-write (copia su scrittura), ossia i blocchi dei dati modificati sono copiati dal parenti disk solo quando vi è un’operazione di scrittura. Gli incrementi sono di 16mb. Il primo disco child viene creato a partire dall’immagine base della VM (il disco originale), e le snapshot successive vengono generate a partire dal disco precedente rispetto alla struttura ad albero.

guida-snapshot-5 

Esclusione di dischi dal processo di snapshot

Si possono escludere uno o più dischi dal processo di snapshot impostandoli come dischi indipendenti (independent disk). Quest’impostazione si effettua normalmente durante la creazione del disco, ma può essere applicata anche successivamente, a macchina virtuale spenta.

Un disco indipendente può essere di tipo persistent o nonpersistent. Nel primo caso, alla creazione di una snapshot, per questo disco non vengono generati file “delta”, e le successive scritture su disco sono mantenute anche in caso di eliminazione della snapshot.

Nel secondo caso, viene impiegato un meccanismo di log (redo log) per tracciare le modifiche effettuate su disco dopo la creazione della snapshot. Il redo log e le scritture su disco vengono perse con lo spegnimento o il riavvio della macchina virtuale.

 

 

(0 Votes)