Perché le istantanee da sole non sono backup
Avere un quadro chiaro di ciò che gli snapshot e i backup delle VM possono fare per te è fondamentale quando i tuoi dati sono in gioco. Per fugare ogni dubbio, gli snapshot NON sono backup. Sono due processi diversi progettati per soddisfare esigenze diverse. Oggi, spiegherò la discrepanza tra gli snapshot e i backup delle VM e vi fornirò alcuni scenari in cui ciascuno di essi si adatta meglio.
Mentre è vero che molti prodotti Veeam utilizzeranno uno snapshot come parte di un backup – uno snapshot da solo non è un backup. Questa logica si applica anche agli snapshot di VMware VM, ai checkpoint di Hyper-V e agli snapshot dello storage.
Come funzionano gli snapshot?
In poche parole, uno snapshot VM è il processo di salvataggio dello stato dei dati di una VM con la possibilità di tornare a quel punto nel tempo. La VM può essere spenta, accesa o sospesa quando vengono prese le istantanee. Le istantanee multiple sono organizzate in una gerarchia genitore-figlio.
Di solito, le istantanee sono usate per testare gli aggiornamenti del software o per operazioni non sicure su una VM, e poi riportate allo stato iniziale se necessario – pensatele come un segnalibro o un pulsante di annullamento. Le istantanee non sono una copia completa del disco di base, quindi non sono sufficienti per ripristinare una VM in caso di guasto allo storage.
Schede virtuali VMware
Nelle VMware, il disco virtuale è un file .vmdk che risiede su un archivio dati (LUN). Quando si crea uno snapshot in Snapshot Manager, il disco originale diventa di sola lettura, e tutte le nuove modifiche ai dati vengono scritte in un delta disk .vmdk temporaneo, che punta a quello originale. Il delta disk è la differenza tra lo stato al momento in cui lo snapshot è stato preso e lo stato attuale del disco virtuale. Il processo di prendere uno snapshot VMware comporta anche la creazione di due file aggiuntivi: le informazioni sulle istantanee e i metadati (.vmsd) e le informazioni sullo stato di esecuzione (.vmsn). Dopo che uno snapshot viene cancellato (committed), tutte le modifiche vengono unite al file .vmdk originale, e si ritorna alla modalità di lettura-scrittura.
Figura 1. Snapshots in VMware vSphere client
Per assicurare un uso sano degli snapshots negli ambienti virtualizzati vSphere, VMware fornisce diverse best practices:
- Utilizza un massimo di 32 snapshots in una catena, ma per una migliore performance, usa solo due o tre snapshots
- Non lasciare uno snapshot in esecuzione per più di 24 – 72 ore. Aumenterà di dimensione, e il tuo storage può esaurire lo spazio
- Non usare le istantanee come backup. Se il disco virtuale originale viene cancellato, non è possibile ripristinare una VM dalle istantanee
Punti di controllo Hyper-V
Le cose sono leggermente diverse con le istantanee Hyper-V (rinominate punti di controllo Hyper-V a partire da Windows Server 2012 R2). Quando un checkpoint Hyper-V viene creato in Hyper-V Manager, la VM in esecuzione viene messa in pausa e viene creato un disco di differenziazione .avhd(x) nella stessa cartella del disco virtuale padre (.vhd /.vhdx) per conservare le modifiche, insieme a una copia del file di configurazione .xml. Il disco virtuale originale è impostato come di sola lettura e, se la VM è in esecuzione, ci saranno altri due file associati – lo stato salvato della VM (.bin) e le informazioni sulla memoria (.vsv), poi la VM viene ripresa.
Figura 2. Checkpoints in Hyper-V Manager
Le raccomandazioni di Microsoft per i checkpoints di Hyper-V includono:
- Non usare snapshots sulle VM che ospitano servizi sensibili al tempo, come Microsoft Exchange Server o Active Directory Domain Services
- Non espandere lo storage virtuale esistente di una VM quando ci sono snapshots su di essa, perché verrebbero compromessi
- Utilizza Hyper-V Manager per cancellare i file .avhd(x) dall’albero delle istantanee, invece di eliminarli manualmente
E le istantanee di archiviazione?
Le istantanee di archiviazione sono un’ottima struttura da sfruttare come parte di un lavoro di backup. Veeam Backup & Replication supporta molti array di storage sia per il backup dalle istantanee di storage che per Veeam Explorer per le istantanee di storage. Anche qui ci sono alcuni punti da coprire:
- Anche con un array di supporto per sfruttare Veeam Explorer for Storage Snapshots, è comunque necessario fare un backup per andare su uno storage diverso. Veeam Explorer for Storage Snapshots è una tecnica di solo ripristino dall’array di origine che ha scattato l’istantanea.
- Il backup da Storage Snapshots è un ottimo modo per fare un backup utilizzando la potenza dello storage array e spostare i dati su uno storage diverso.
Uno degli evangelisti di Veeam, Rick Vanover, ama dire che: “Non abbiamo nient’altro che prove, sotto forma di storie di successo dei clienti, che i buoni array falliscono davvero – quindi portate i vostri backup su uno storage diverso e seguite la regola del 3-2-1.”
Quando dovrei usare gli snapshot?
Gli snapshot sono una soluzione a breve termine da usare principalmente in ambienti di test e sviluppo per patch, aggiornamenti o per testare rapidamente le cose e fare il rollback in caso di errore. Sono meno raccomandati in produzione. Tuttavia, ci sono alcuni scenari in cui gli snapshot sono davvero utili per l’ambiente di produzione. Per esempio, se si intraprendono azioni rischiose, come un aggiornamento del sistema operativo o cambiamenti di configurazione che potrebbero danneggiare il sistema, allora gli snapshot sono una buona idea.
Perché gli snapshot non sono raccomandati per gli ambienti di produzione? Principalmente per ragioni di integrità dei dati. Con gli snapshot, non stai facendo una copia del disco rigido virtuale. C’è il disco virtuale della VM e il disco delta, il che significa che se il volume del disco della VM viene danneggiato, allora anche le tue istantanee sono andate perché non possono essere unite sul disco di base. Le istantanee non ti proteggono dai guasti al disco, e avrai ancora un singolo punto di errore.
Un’altra ragione è basata sulle prestazioni. Gli snapshot possono avere un impatto sulle prestazioni delle VM. Questo non accade molto spesso – si verifica solo in alcune situazioni particolari, ma può accadere. Per esempio, l’esecuzione di VM molto cariche su snapshot invecchiati (e quindi di dimensioni maggiori) peggiorerebbe sicuramente le prestazioni di quelle VM, specialmente se usano dischi dinamici. È un errore comune tenere una VM in esecuzione su uno snapshot per molto tempo – lo snapshot aumenterà di dimensione perché assorbirà tutte le modifiche, invece del disco sorgente. Di conseguenza, il commit richiederà molto più tempo e potrebbe persino stordire la VM durante il processo di fusione.
Aspetta, Veeam non usa gli snapshot?
Buona osservazione! Veeam Backup & Replication usa effettivamente le istantanee come parte di un lavoro di backup. Può utilizzare uno snapshot VMware VM, un checkpoint Hyper-V o uno snapshot dello storage. È importante notare che lo snapshot da solo non è un backup – ma può essere utilizzato come parte critica del processo di backup. Questo perché lo snapshot viene utilizzato come parte del processo di spostamento dei dati verso un file di backup o una VM replicata. Lo snapshot viene rimosso quando il lavoro di backup è completo.
Snapshots vs backup
Un backup è una copia coerente della VM che ti dà la possibilità di ripristinarla nel caso in cui i file originali siano compromessi da un disastro o da un errore umano. A differenza delle istantanee, i backup sono indipendenti dalla VM, e possono essere facilmente esportati e archiviati fuori sede (nel cloud, su nastro o altro storage remoto). Leggi la regola d’oro 3-2-1.
Veeam Backup & Replication sfrutta la tecnologia VSS (Volume Shadow Copy Service) e l’elaborazione delle immagini in base alle applicazioni per creare backup VM a livello di immagine. I backup delle VM a livello di immagine consentono di proteggere un intero carico di lavoro: disco virtuale, sistema operativo, applicazioni software e file di configurazione del sistema. Tutti questi elementi vengono memorizzati in un unico file di backup VM a livello di immagine, il che offre molteplici opzioni di ripristino per le vostre applicazioni business-critical – dal ripristino completo della VM al ripristino granulare degli elementi dell’applicazione.
Inoltre, Veeam Backup & Replication è progettato con numerose tecnologie per ottimizzare il traffico di backup e ridurre le dimensioni dei file di backup, come la deduplicazione, la compressione o l’accelerazione WAN, e vi offre la possibilità di testare la recuperabilità del backup con SureBackup. Inoltre, Veeam vi offre un modo alternativo per testare e risolvere rapidamente i problemi della vostra VM, il Virtual Lab. Qui è possibile creare un ambiente virtuale isolato che non ha impatto sulla produzione ed eseguire diverse operazioni, come testare gli aggiornamenti del software o eseguire corsi di formazione.
E se il mio ambiente non può tollerare snapshot di qualsiasi tipo?
Questa è una possibilità reale oggi. Un modo per affrontare il processo di backup è utilizzare Veeam Agent per Microsoft Windows o Veeam Agent per Linux. Questi nuovi prodotti di backup Veeam non usano affatto snapshot dell’infrastruttura al di sotto del sistema operativo. Per Windows, il framework VSS viene utilizzato per fare un backup basato su immagini, e per Linux, il veeamsnap viene utilizzato per avere un’immagine del file system.
Inoltre, in arrivo in Veeam Backup & Replication v10, la funzionalità Veeam CDP fornirà un motore di replica per le macchine virtuali VMware che non utilizza snapshot VMware. Questo sfrutta le API di vSphere per l’I/O Filtering o VAIO che lavorano nel percorso di archiviazione della VM.
Conclusione
Le VM snapshot da sole non possono essere utilizzate come un modo affidabile per proteggere i dati e ripristinarli in caso di guasto, ma sono molto utili per test rapidi e risoluzione dei problemi. Inoltre, uno snapshot della VM può essere utilizzato se fa parte di una sequenza completa di eventi per fare un backup o un lavoro di replica. Ricordatevi però di tenere d’occhio la quantità di snapshot e di gestirli correttamente per evitare problemi di storage e di prestazioni. D’altra parte, i backup delle VM a livello di immagine forniscono un alto livello di protezione delle applicazioni e dei dati, permettono un basso RPO e supportano virtualmente qualsiasi scenario di ripristino, da un ripristino dell’intero VM a quello di un’applicazione.