Ci sono momenti in cui è necessario installare gli aggiornamenti del sistema operativo o le patch di sicurezza su una delle tue macchine virtuali ospiti (VM). Tuttavia, il processo di aggiornamento può talvolta andare storto, causando un fallimento del sistema, la perdita dei dati di configurazione o la disinstallazione di determinati programmi. Microsoft Hyper-V ha fornito l’opportunità di creare snapshot Hyper-V, che ti consentono di salvare lo stato della VM in un determinato momento e ripristinare il sistema al suo stato precedente se si verifica un errore di sistema.
In questo post del blog, descriveremo come unire gli snapshot Hyper-V utilizzando Hyper-V Manager o PowerShell e come possono essere utilizzati. Tuttavia, per imparare come gestire gli snapshot Hyper-V, è necessario prima comprendere la tecnologia che sta dietro di essi.
Cos’è uno snapshot Hyper-V?
A Hyper-V snapshot is a point-in-time copy of a VM, which contains all the information required to restore your data. With the use of Hyper-V snapshots, you can revert the VM to a point when the VM state was captured and the snapshot was taken. Hyper-V snapshot technology is enabled by default when the Hyper-V role is installed on your computer and your first VM is created. Hyper-V snapshots of a selected VM can be taken in any state (Off, Running, Paused, and Saved) and the operation is typically complete in a few seconds.
Nota che attualmente gli snapshot Hyper-V sono conosciuti come checkpoint Hyper-V, ma entrambi questi termini sono altrettanto validi.
Tipi di snapshot Hyper-V
Microsoft Hyper-V fornisce due tipi di snapshot:
- Snapshot di produzione applicano la tecnologia di backup all’interno del sistema operativo ospite per creare snapshot coerenti con i dati della VM. A tale scopo, viene utilizzato il servizio Windows Volume Shadow Copy Service (VSS) o Linux File System Freeze. Gli snapshot di produzione Hyper-V possono essere utilizzati per catturare lo stato dell’ambiente di produzione in quanto migliorano la coerenza dei dati delle applicazioni e del sistema operativo ospite. Nota che gli snapshot di produzione Hyper-V non catturano lo stato della memoria della VM, le informazioni sulla sua attività CPU o la configurazione hardware.
Nelle nuove versioni del sistema operativo (Windows Server 2016 e Windows 10), i checkpoint di produzione sono l’opzione predefinita per il tipo di checkpoint. Tuttavia, è possibile cambiarlo in Hyper-V Manager o Windows PowerShell.
- Le snapshot standard catturano lo stato della VM, inclusa la sua attività CPU e memoria, e la configurazione hardware in un punto specifico nel tempo. Quindi, una snapshot standard di Hyper-V consente di catturare lo stato attuale delle applicazioni e ripristinare la VM a uno stato o condizione specifici in un punto nel tempo. Sono principalmente utilizzabili in scenari di sviluppo e test. La creazione di snapshot standard di Hyper-V non può essere considerata una strategia di backup affidabile in quanto potrebbero causare problemi di inconsistenza dei dati nelle applicazioni che non sono consapevoli di VSS.
Come Funzionano le Snapshot di Hyper-V
Come saprai, le VM di Hyper-V sono memorizzate nei dischi virtuali, che sono nel formato file .vhd(x). Allo stesso tempo, i file di snapshot creati su queste VM di Hyper-V sono memorizzati nel formato file .avhd(x) e vengono mantenuti nella stessa cartella del file immagine del disco rigido. Le snapshot di Hyper-V sono fondamentalmente dischi virtuali di differenziazione e ciascuno di essi ha una relazione padre-figlio con il disco rigido virtuale corrispondente. È possibile creare fino a 50 snapshot per ciascuna VM. Tutte le snapshot di Hyper-V sono organizzate in un ordine gerarchico, costituendo quindi un sottoalbero di checkpoint.
Tuttavia, il problema è che i file .avhd(x) tendono ad accumularsi e occupare molto spazio su disco, il che influisce conseguentemente sulle prestazioni della VM. Se si desidera rimuovere i file .avhd(x) non necessari, è necessario eliminare gli snapshot di Hyper-V. Questa opzione non implica che si stiano effettivamente eliminando gli snapshot. Invece, si fondono semplicemente gli snapshot di Hyper-V e i dati che essi contengono in un disco principale o in un altro disco virtuale. Non è consigliabile eliminare gli snapshot di Hyper-V direttamente dal computer. Dopo aver fuso gli snapshot di Hyper-V, tutti i file .avhd(x) verranno eliminati dal disco. In questo modo, è possibile creare spazio aggiuntivo sull’host Hyper-V.
Come unire gli snapshot di Hyper-V
In uno dei nostri precedenti post del blog, abbiamo trattato come gestire gli snapshot di Hyper-V (creazione, applicazione, rinomina, abilitazione/disabilitazione, ecc.). Tuttavia, il post odierno serve come guida per unire manualmente gli snapshot di Hyper-V.
Per unire gli snapshot di Hyper-V, è necessario utilizzare Hyper-V Manager o PowerShell. Entrambi questi approcci saranno descritti di seguito.
Utilizzo di Hyper-V Manager
Prima di iniziare a descrivere come unire gli snapshot di Hyper-V, dovremmo prima determinare quali snapshot verranno uniti. Gli snapshot di Hyper-V dovrebbero essere uniti in un ordine specifico: dal figlio al genitore. Pertanto, è importante stabilire la struttura dell’albero dei checkpoint stabilendo l’ordine della loro creazione: dai più recenti ai più vecchi.
Come accennato in precedenza, ogni snapshot ha una relazione genitore-figlio con un altro snapshot creato prima di esso. Tutti insieme possono essere rappresentati sotto forma di catena. Ad esempio, sono stati creati 3 snapshot per 1 disco rigido virtuale. Il disco virtuale principale su cui sta funzionando la VM agisce come genitore del primo checkpoint, questo checkpoint agisce come genitore del secondo checkpoint e il secondo checkpoint agisce come genitore del terzo checkpoint.
Per stabilire la struttura del checkpoint, segui i seguenti passaggi:
- Apri Hyper-V Manager.
- Nella finestra centrale, seleziona la VM di cui desideri unire gli snapshot.
- Nella sezione Azioni sulla destra, clicca su Ispeziona Disco.
- Seleziona il file .avhd(x) e clicca su OK.
- Successivamente, dovresti vedere una panoramica generale delle proprietà del disco rigido virtuale, incluse il suo nome, la sua posizione e il nome del genitore. Determina il genitore del file .avhd(x) selezionato.
- Ripeti i passaggi 3-5 per ogni file .avhd(x) e identifica il loro ordine per la fusione.
Per avviare il processo di fusione degli snapshot di Hyper-V, effettuare le seguenti operazioni:
- Aprire il Gestore di Hyper-V.
- Selezionare la VM richiesta.
- Fare clic su Modifica disco. Si aprirà la procedura guidata Modifica disco virtuale.. Fare clic su Avanti.
- Fare clic su Sfoglia per selezionare l’ultimo file .avhdx. Fare clic su Avanti.
- Selezionare Unisci per fondere le modifiche archiviate in un disco differenziale nel disco genitore o in un altro disco. Fare clic su Avanti.
- Selezionare Nel disco rigido virtuale genitore e fare clic su Fine.
- Per completare interamente il processo di fusione degli snapshot di Hyper-V, ripetere i passaggi 1-5 per ciascun file .avhd(x), fino a quando tutte le modifiche sono state unite nel disco rigido virtuale genitore originale.
- L’ultimo passaggio consiste nel riavviare la VM per adottare le modifiche implementate.
Utilizzando PowerShell
Prima di poter iniziare a unire gli snapshot di Hyper-V, assicurati che il tuo computer abbia abilitato il cmdlet Merge-VHD. In caso contrario, comparirà il seguente errore sullo schermo:Il termine 'Merge-VHD' non è riconosciuto come nome di un cmdlet, funzione, file di script o programma eseguibile.
Controlla l'ortografia del nome o, se è stato incluso un percorso, verifica che il percorso sia corretto e riprova.
Per risolvere questo problema, apri PowerShell come amministratore e esegui il seguente comando:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell
Se tutto è corretto, dovresti vedere quanto segue:
Ora sei pronto per eseguire il cmdlet Merge-VHD. Nota che questa operazione viene eseguita offline.
Per unire gli snapshot di Hyper-V, esegui questo cmdlet:
Merge-VHD Percorso = '' PercorsoDestinazione = ''
In questo caso, i dati di diversi dischi figlio, a partire dal più recente, possono essere uniti nel disco genitore più vecchio. Sullo schermo, vedrai quanto segue:
Dopo che l’operazione è completa, spegni la VM guest e riavvia il sistema. A differenza di Hyper-V Manager, che richiede di unire ogni livello della catena dei dischi separatamente, PowerShell consente di eseguire un’operazione così complessa con un singolo comando.
Perché Dovresti Usare Gli Snapshot di Hyper-V
I snapshot di Hyper-V consentono di salvare lo stato della VM prima di applicare modifiche alla configurazione, installare nuovi software, eseguire aggiornamenti del sistema operativo, aggiornamenti dei patch di sicurezza, ecc. Se stai per eseguire un’operazione che potrebbe modificare la tua infrastruttura virtuale o se c’è un alto rischio di fallimento, crea prima un snapshot di Hyper-V della tua VM. Servirà come rete di sicurezza nel caso qualcosa vada storto e tu abbia bisogno di ripristinare il sistema al suo stato precedente.
Tuttavia, gli snapshot di Hyper-V offrono i migliori risultati quando utilizzati in ambienti di sviluppo e di test. Non sono un’alternativa di backup efficace e affidabile e non consigliamo di utilizzarli nell’ambiente di produzione. Invece, considera l’utilizzo di una soluzione di backup Hyper-V completa, che include diverse opzioni di protezione dei dati e può risparmiarti tempo, denaro e sforzi rispetto alla manutenzione dell’infrastruttura tradizionale.
Source:
https://www.nakivo.com/blog/merge-hyper-v-snapshots-step-step-guide/