Come Eliminare uno Snapshot Utilizzando Hyper-V Manager o PowerShell

Gli snapshot, noti come checkpoint in Hyper-V, sono utili quando è necessario conservare l’ultimo stato di esecuzione corretta di una VM prima di distribuire nuovo software o installare un aggiornamento. Tuttavia, è necessario fare attenzione durante l’eliminazione degli snapshot, altrimenti si potrebbero perdere dati importanti.

In questo post, spieghiamo il meccanismo dei checkpoint di Hyper-V. Copriremo quando utilizzare questi checkpoint e mostreremo come eliminare gli snapshot dall’interfaccia di gestione Hyper-V e tramite PowerShell.

Meccanismo dei Checkpoint di Hyper-V

Prima di entrare nei dettagli su come i checkpoint di Hyper-V funzionano, lasciatemi chiarire eventuali confusioni legate ai termini snapshot e checkpoint.

Gli snapshot e i checkpoint rappresentano la stessa capacità di salvare lo stato di una VM in un determinato momento. Questo stato può essere ripristinato in futuro se si verifica un problema con la VM. Microsoft si riferisce alla funzionalità di salvataggio dello stato di una VM come snapshot per le versioni precedenti a Windows Server 2012 R2. Nelle versioni successive, Microsoft utilizza il termine checkpoint. Inoltre, snapshot è il termine utilizzato negli ambienti VMware. In questo post, utilizziamo entrambi i termini in modo intercambiabile poiché il meccanismo e le procedure coperte si applicano sia agli snapshot che ai checkpoint. Quindi, come funzionano i checkpoint/snapshot?

Come vengono salvati i checkpoint di Hyper-V

I dati della VM Hyper-V sono salvati sotto forma di file .vhdx. Quando viene creato un checkpoint, il file .vhdx diventa un file di sola lettura. Le nuove modifiche applicate alla VM vengono salvate in un disco rigido virtuale differenziale. Questo disco rigido virtuale differenziale è salvato sotto forma di file .avhdx nella stessa cartella contenente il file .vhdx.

Puoi creare una catena di checkpoint. Ogni checkpoint rappresenta lo stato della VM in un punto specifico nel tempo. Ogni checkpoint è rappresentato da un file .avhdx.

Il meccanismo dei checkpoint di Hyper-V è efficiente nell’utilizzo dello spazio di archiviazione. Tuttavia, le prestazioni delle operazioni di lettura del disco virtuale sono significativamente ridotte. Il motivo è che la lettura dei file richiederebbe il controllo dell’intera catena di checkpoint (file .avhdx) fino a quando non si raggiunge il file .vhdx della VM.

Nella schermata sottostante, puoi vedere un disco virtuale .vhdx principale e due dischi .avhdx dopo la creazione di due checkpoint Hyper-V per una VM.

Secondo questo meccanismo, eliminare un file .avhdx non elimina il checkpoint. Invece, questo tipo di eliminazione interrompe la catena e porta alla perdita di dati.

Per eliminare un checkpoint senza perdere dati, il file .avhdx deve essere unito a un altro file .avhdx (o .vhdx) (genitore) nella catena. Se questo checkpoint è l’unico checkpoint per la VM, il file .avhdx viene unito al file .vhdx e il file .vhdx diventa nuovamente scrivibile.

Nella prossima sezione, mostreremo come eliminare snapshot (checkpoint) dall’interfaccia di Hyper-V Manager senza perdere dati.

Elimina gli Snapshot utilizzando l’interfaccia di Hyper-V Manager

Hyper-V Manager è un tool GUI gratuito per la gestione di host e VM Hyper-V. Può essere utilizzato per configurare le VM, allocare RAM, creare snapshot o eliminarli.

Per eliminare lo snapshot di Hyper-V (checkpoint) dall’interfaccia di Hyper-V Manager:

  1. Seleziona l’host dal riquadro sinistro.
  2. Seleziona la VM dal riquadro Virtual Machines.
  3. Fai clic con il pulsante destro del mouse sul checkpoint da eliminare dal riquadro Checkpoints. Seleziona Elimina Checkpoint…

Nella schermata sottostante, puoi vedere un disco virtuale .vhdx padre e un file snapshot .avhdx dopo l’eliminazione del secondo checkpoint di Hyper-V.

Elimina gli Snapshot utilizzando PowerShell

Per eseguire azioni di massa sulle VM di Hyper-V, Windows PowerShell è più efficiente rispetto alla GUI di Hyper-V Manager poiché è possibile utilizzare comandi per eliminare più snapshot contemporaneamente. Inoltre, alcune azioni, come l’eliminazione di un checkpoint che non ha l’opzione di eliminazione nella GUI, possono essere eseguite solo tramite PowerShell.

A checkpoint that cannot be deleted from the Hyper-V Manager is called a lingering checkpoint. Lingering checkpoints happen when a VM backup job fails.

Quando un job di backup di una VM viene avviato utilizzando una soluzione di backup, la VM viene messa in modalità sola lettura. I nuovi dati inviati dagli utenti VM vengono salvati in un tipo speciale di checkpoint chiamato checkpoint di ripristino. Quando il job di backup viene completato con successo, il file .avhdx del checkpoint di ripristino viene unito al file .vhdx della VM, e il checkpoint viene eliminato automaticamente. tuttavia, se il job di backup fallisce, il checkpoint di ripristino non viene eliminato automaticamente e rimane come un checkpoint persistente.

Per eliminare un checkpoint utilizzando PowerShell:

  1. Apri l’IDE di Windows PowerShell come amministratore.
  2. Ottieni il nome esatto del checkpoint con il comando Get-VMSnapshot. Fornisci il VMName quando richiesto.
  3. Esegui il comando:

    Get-VM -Name <VMName> | Get-VMSnapShot -Name <CheckpointName> | Remove-VMSnapshot

  1. Verifica che il checkpoint sia stato eliminato con successo utilizzando il comando:

    Get-VMSnapshot

Pensieri finali

Creare checkpoint è una buona pratica per motivi di test e creazione di un ambiente di accettazione. Tuttavia, non è consigliato tenere checkpoint in un ambiente di produzione. I checkpoint influiscono negativamente sulla performance di lettura di Hyper-V.

L’eliminazione dei file dei checkpoint direttamente dal disco porta alla perdita di dati. I checkpoint dovrebbero essere eliminati dal Gestore Hyper-V. È possibile utilizzare anche PowerShell per eliminarli, specialmente se non c’è l’opzione di eliminazione nell’interfaccia grafica del Gestore Hyper-V.

Adottare una soluzione di backup e replica è cruciale per la protezione dei dati e delle applicazioni.

Source:
https://www.nakivo.com/blog/how-to-delete-hyper-v-snapshots/