Backup di Hyper-V a livello di host o guest
Quando si utilizza la piattaforma di virtualizzazione Hyper-V di Microsoft, il backup delle VM è di fondamentale importanza. Per mantenere al sicuro i dati delle VM, è necessario conoscere i diversi metodi di backup delle VM Hyper-V e quali sono quelli più adatti alle proprie esigenze. Esistono due diversi approcci al backup delle VM Hyper-V: a livello di guest e a livello di host.
Il metodo a livello di guest è simile al backup delle macchine fisiche e funziona a livello di VM con l’aiuto di agenti installati su ciascuna di esse. Il backup a livello di host offre maggiori vantaggi, poiché funziona a livello di hypervisor ed esegue il backup di intere VM, comprese le loro configurazioni, facilitando il ripristino. Entrambi sono esplorati in dettagliati in questo post del blog, insieme alle funzioni di NAKIVO Backup & Replication per il backup a livello di host.
Backup di Hyper-V a livello di guest
Il backup delle VM a livello di guest è simile al backup di un host fisico. Per eseguire il processo di backup, sul sistema operativo guest (OS) viene installato uno speciale software basato su agenti. Quasi tutti i prodotti di backup per Windows utilizzano il Volume Shadow Copy Service (VSS, noto anche come Volume Snapshot Service) di Microsoft. VSS è una tecnologia sviluppata per creare copie di backup coerenti con le applicazioni dei dati con snapshot. Per questo processo vengono utilizzati componenti speciali di VSS chiamati VSS writer. In Linux, gli snapshot LVM (Logical Volume Manager) possono essere utilizzati per uno scopo simile.
Il ruolo degli agenti
Un agente è un software di backup installato su un computer fisico o una VM per interagire con il file system e le applicazioni. Gli agenti possono essere utilizzati per creare copie dell’intero sistema o di singoli file o programmi. Gli agenti vengono solitamente eseguiti come processo di sistema all’interno del sistema operativo guest e stabiliscono una connessione di rete con un server su cui è possibile gestire i backup. Le soluzioni di backup che utilizzano agenti sono spesso denominate soluzioni di backup legacy.

Casi d’uso del backup a livello di guest nell’ambiente virtuale
Il backup a livello di guest può essere utilizzato per i seguenti motivi:
- Se un sistema operativo guest non è ufficialmente supportato dall’hypervisor, il che significa che non è possibile eseguire un backup coerente con l’applicazione utilizzando un metodo a livello di host.
- Se una VM è collegata a uno storage condiviso a livello di sistema operativo guest o dispone di un disco fisico collegato direttamente (incluso un disco pass-through) che non è supportato dal software di backup a livello di host. Ad esempio, supponiamo che una VM sia collegata a un LUN (Logical Unit Number) SAN (Storage Area Network) tramite protocollo iSCSI (utilizzando un iniziatore iSCSI guest) e che un software come un server di database o un file server stia utilizzando quel volume. In questo caso, il writer VSS di Hyper-V non sarebbe in grado di eseguire un backup completamente coerente di tutti i dischi utilizzati dalla VM (i volumi all’interno dei dischi virtuali VHD e i volumi dei dischi fisici collegati direttamente). Questo perché, per eseguire un backup corretto, le applicazioni e entrambi i tipi di disco devono essere inattivi quando viene acquisita l’istantanea. I dischi pass-through possono essere convertiti in dischi virtuali VHD allo scopo di eseguire backup a livello di host. Si noti che la VM può essere collocata su uno storage condiviso, come un dispositivo NAS (Network Attached Storage) o SAN. Queste soluzioni vengono utilizzate per eseguire il backup a livello di host con clustering.

- Alcune organizzazioni con ambienti virtualizzati di piccole dimensioni utilizzano il backup delle VM a livello di guest perché desiderano risparmiare sui costi. Tuttavia, questo approccio non è consigliabile. Sebbene in passato potesse avere senso, poiché le soluzioni legacy basate su agenti erano più economiche per ambienti con poche VM, ora esistono soluzioni di backup delle VM a livello di host altrettanto (o più) convenienti per piccoli ambienti Hyper-V.
Svantaggi del backup a livello di guest
- Gli agenti devono essere installati su ogni VM, il che è scomodo e richiede tempo.
- Il processo di ripristino è più difficile. È necessario creare prima una VM vuota, quindi configurarne le impostazioni (CPU virtuale, memoria, dischi, rete, ecc.). Solo allora è possibile ripristinare la VM e occorre un supporto di ripristino per riavviare il sistema.
- Il consumo di risorse di elaborazione è molto più elevato, soprattutto quando si esegue il backup contemporaneo di più VM residenti su un unico host Hyper-V.
- Il software di backup basato su agente richiede l’uso di credenziali di root o amministrative per configurare gli agenti, il che può essere pericoloso.
- Nessuna snapshot a livello di VM.
Backup di Hyper-V a livello di host
I metodi di backup a livello di host sono preferibili per il backup delle VM di Hyper-V. I metodi di backup a livello di host funzionano a livello di hypervisor piuttosto che a livello di macchina virtuale guest e possono eseguire il backup delle VM indipendentemente dal sistema operativo in esecuzione. È possibile eseguire il backup completo delle macchine virtuali, inclusi i file del disco virtuale (indicati dal formato VHD in Hyper-V) e i file di configurazione in cui sono memorizzate le impostazioni della VM, quali CPU, memoria, rete ecc. Esistono due tipi di metodi di backup a livello di host: il metodo Saved State e il metodo Child VM Snapshot.

Metodo Saved State
Il metodo Metodo stato salvato è un metodo offline che non è coerente con le applicazioni. Quando si utilizza questo metodo, il servizio Copia shadow del volume di Hyper-V assegna al writer VSS l’esecuzione del processo di backup. Se la VM è in esecuzione in quel momento, viene messa in uno “stato salvato”. Ciò significa che la VM rimane offline per un breve periodo di tempo mentre viene acquisito il snapshot. Il writer VSS di Hyper-V mette la VM in uno stato di ibernazione. Ciò garantisce che i file aperti possano essere salvati e che lo stato delle applicazioni in esecuzione possa essere registrato sul disco rigido virtuale.
Come funziona il metodo dello stato salvato?
Analizzato nei dettagli, questo processo consiste nelle seguenti fasi:
- PrepareForSnapshot evento. A questo punto, il software di backup avvia la preparazione della VM per il backup e lo stato della VM viene salvato utilizzando la modalità di ibernazione.
- Acquisizione dello snapshot. In questa fase viene utilizzato il writer VSS di Hyper-V, che viene eseguito come processo VMMS.exe (Virtual Machine Management Service). Viene acquisita l’istantanea (denominata anche punto di controllo della VM nell’ambiente Hyper-V); il software di backup crea un backup basato sull’istantanea. La creazione dell’istantanea consente di eseguire il backup dei dati della VM evitando qualsiasi modifica dei dati durante il processo di copia. Al termine, viene attivato l’evento PostSnapshot.
- PostSnapshot evento. La VM viene riportata allo stato precedente (ovvero si riattiva dalla modalità di ibernazione).
Metodo snapshot VM figlio
Il metodo snapshot VM figlio è un metodo coerente con le applicazioni ed è preferibile per il backup delle VM in esecuzione. Questo metodo può essere utilizzato per ambienti di produzione ad alta disponibilità. La VM rimane online durante l’operazione di backup, ma il backup creato è comunque coerente dal punto di vista transazionale. Mentre il metodo dello stato salvato utilizza Hyper-V VSS al di fuori delle VM figlie, il metodo dello snapshot della VM figlia utilizza il meccanismo VSS all’interno della VM figlia (il termine “VM figlia” è sinonimo di “VM ospite”) per creare i backup.
Come funziona il metodo snapshot della VM figlia?
La sequenza di eventi è in parte simile al metodo stato salvato.
- PrepareForSnapshot evento. Il servizio Hyper-V VSS Requestor nella VM figlia attiva l’evento PrepareForSnapshot per avviare la creazione del backup.
- Evento di acquisizione snapshot. Dopo aver ricevuto la richiesta dal servizio VSS Requestor, viene creata la snapshot. Quindi il controllo viene restituito dal servizio Hyper-V VSS Requestor al servizio Hyper-V VSS Writer.
- PostSnapshot evento. Il writer VSS attiva l’evento PostSnapshot per informare il software di backup che la creazione dello snapshot della VM è stata completata. Il software di backup può quindi copiare lo snapshot come parte del processo di backup della VM.
Il ruolo dei servizi di integrazione Hyper-V
I servizi di integrazione Hyper-V vengono utilizzati per eseguire backup con il metodo snapshot della VM figlia; forniscono una speciale interazione tra l’hypervisor e la VM figlia. Questi servizi comprendono una serie di driver e servizi che possono essere abilitati o disabilitati individualmente a seconda delle esigenze. Il servizio VSS Requestor Service descritto sopra fa parte della suite di Integration Services, che deve essere installata sulla VM per eseguire il backup a livello di host.
A partire da Windows Server 2008 R2 e Windows 7, Integration Services è incluso nel sistema operativo. Se si desidera installare o aggiornare manualmente i servizi di integrazione sulla VM, è possibile farlo utilizzando Hyper-V Manager e montando l’immagine del disco virtuale vmguest.iso sull’unità virtuale della VM. Per aggiornare manualmente i servizi di integrazione su un host Hyper-V, è possibile scaricarli dal sito Microsoft e installarli tramite PowerShell. Windows 10 e Windows Server 2016 possono aggiornare Integration Services sia sugli host che sui guest tramite il servizio Windows Update.
Requisiti per l’utilizzo del metodo snapshot della VM figlia
Per eseguire il backup con il metodo snapshot della VM figlia, è necessario soddisfare le seguenti condizioni:
- I servizi di integrazione Hyper-V, incluso Hyper-V VSS Requestor, devono essere installati nella VM figlia.
- Tutti i volumi all’interno della VM devono essere configurati come dischi di base anziché dinamici. I file system dei dischi all’interno della VM figlia devono supportare gli snapshot (ad esempio, il file system NTFS soddisfa questo criterio).
- I file di snapshot della VM devono trovarsi nello stesso volume dei file VHD.
- La VM figlia deve essere in esecuzione.
Se una delle condizioni sopra elencate non è soddisfatta, non è possibile utilizzare il metodo Snapshot della VM figlia. In questo caso, come metodo predefinito verrà utilizzato il metodo dello stato salvato.
Vantaggi dei metodi di backup a livello di host
Come mostrato sopra, i metodi di backup a livello di host sono preferibili per il backup delle macchine virtuali Hyper-V e offrono molti vantaggi rispetto al metodo a livello di guest. Questi vantaggi possono essere riassunti come segue:
- Un backup a livello di hypervisor è più facile da gestire. Non sono necessari agenti. Il prodotto di backup può gestire l’intero host Hyper-V e tutte le VM residenti su questo host. È possibile selezionare le VM specifiche di cui eseguire il backup.
- Durante il processo di backup viene acquisito tutto il contenuto della VM, inclusi i dischi virtuali, gli snapshot e le impostazioni della VM. È sufficiente selezionare l’hypervisor e una posizione di archiviazione per il ripristino della VM; non è necessario creare e configurare manualmente una nuova VM.
- Possibilità di eseguire il backup online delle VM Hyper-V coerente con le applicazioni utilizzando il metodo Child VM Snapshot, fondamentale per gli ambienti di produzione. Non vi è alcuna interruzione del funzionamento della macchina virtuale e il backup è coerente dal punto di vista transazionale.
- Risparmio di risorse (processore, memoria e spazio su disco).
Utilizzo di NAKIVO Backup & Replica per migliorare il backup di Hyper-V
NAKIVO Backup & Replication utilizza metodi a livello di host per eseguire il backup delle VM Hyper-V e semplifica il processo di configurazione dei lavori di backup. NAKIVO Backup & Replication offre backup nativi per Hyper-V Server 2012 R2 e Hyper-V Server 2016 ed è in grado di eseguire backup basati su immagini a livello di blocco delle VM in esecuzione senza tempi di inattività.
Il prodotto utilizza anche diverse tecnologie di risparmio di spazio di archiviazione. I backup di Hyper-V sono incrementali grazie a Resilient Change Tracking (RCT), che tiene traccia dei blocchi di dati che sono stati modificati dall’ultimo backup. I dati di backup di Hyper-V vengono archiviati nel repository utilizzando la modalità sintetica completa. I file di swap vengono esclusi durante il processo di backup di Hyper-V e i dati vengono deduplicati in modo globale per ridurre ulteriormente le dimensioni.
Funzionalità di NAKIVO Backup & Replica che migliora il backup di Hyper-V
- La modalità coerente con le applicazioni consente di eseguire backup coerenti delle VM che eseguono Microsoft Exchange, SQL Server, Active Directory e altre applicazioni o database.
- L’archiviazione remota dei backup di Hyper-V nel cloud Azure o AWS offre un ulteriore livello di protezione contro i disastri.
- La verifica del backup integrata controlla che il backup sia coerente e consente di garantire che i dati di backup archiviati nel repository siano identici ai dati della VM di origine. Con la funzione di Verifica degli screenshot, gli screenshot dei sistemi operativi caricati della VM figlia ripristinata in prova vengono inviati automaticamente via e-mail subito dopo l’esecuzione del backup.
- Le funzioni cluster-friendly consentono di eseguire il backup delle VM nei cluster di failover Hyper-V. Le VM possono cambiare posizione tra i diversi host all’interno del cluster. Il prodotto traccia automaticamente l’ubicazione delle VM, che possono essere sempre sottoposte a backup.
Conclusione
Abbiamo trattato i metodi di backup a livello di guest e a livello di host per le VM Hyper-V. Il backup a livello di guest richiede l’uso di agenti, mentre il backup a livello di host offre una serie di vantaggi, tra cui un ripristino più semplice e un risparmio di risorse. Questo è il motivo per cui NAKIVO Backup & Replication esegue il backup di Hyper-V a livello di host con un approccio coerente con le applicazioni.
Il metodo Child VM Snapshot è in genere preferito per gli ambienti di produzione grazie alla possibilità di creare backup online transazionalmente coerenti senza interrompere il funzionamento della VM. Quando una VM è offline, è possibile utilizzare il metodo Saved State. Se non è possibile utilizzare nessuno dei due metodi di backup a livello di host, per motivi di compatibilità o altre restrizioni, è possibile eseguire il backup a livello di guest.