La consistenza è data dalla somma di validità, accuratezza, usabilità e integrità dei dati tra applicazioni e sistema operativo. Questa è una caratteristica critica di qualsiasi soluzione di backup. In questo articolo vorrei parlare della consistenza dei dati più in dettaglio, definire diversi livelli di backup consistenti e spiegare come potete accertarvi che i vostri backup Veeam siano consistenti.
Al giorno d’oggi è difficile immaginare una situazione in cui la consistenza dei dati non abbia importanza per un’azienda. È sempre importante, specialmente quando i dati vengono modificati attivamente: come nei sistemi bancari, che effettuano simultaneamente migliaia di transazioni finanziarie, che vengono registrate in altrettanti database.
Livelli di consistenza dei backup
Ci sono diversi tipi di consistenza per i backup, alcuni possono essere identificati in base a se possono essere eseguiti su un sistema attivo e che garantiscano una protezione anche per i dati transazionali (backup application-aware).
Prendiamo ora in considerazione i livelli di consistenza dei backup uno per uno.
Backup inconsistenti
Il primo e più datato è un backup inconsistente. Si può immaginare facilmente come una semplice operazione di copia dei file che trasferisce tutti i file del computer in un’altra posizione, come un disco USB o un NAS. Se si verifica una modifica nei file durante l’esecuzione del backup, il risultato è un backup inconsistente. In questo caso, il backup non sarà identico ai file di sistema originali. Inoltre, molti file che compongono il sistema operativo guest della VM possono avere timestamp diversi, rendendo difficile l’identificazione del file per il ripristino.
Questo metodo non è in grado di salvare dati dalla memoria di sistema e può presentare problemi con l’accesso ai file bloccati in lettura.
Backup crash-consistent
Il livello successivo è il backup crash-consistent. La differenza principale rispetto al backup non consistente è che i dati in un backup crash-consistent vengono salvati tutti nello stesso momento. Lo si può immaginare come uno snapshot immediato di tutti i file su un disco.
Detto questo, c’è un motivo per cui è chiamato “crash-consistent”. Il ripristino di un sistema da questo backup equivale a ripristinare il sistema dopo un reset hardware poiché durante questo backup non vengono salvati file aperti e nemmeno operazioni di I/O in sospeso. Per questo alcune applicazioni richiederanno una gestione speciale e una manutenzione post-crash, provocando un impatto negativo soprattutto per i database.
Ad esempio, Microsoft Exchange potrebbe richiedere di impostare un gruppo di ripristino speciale e l’integrazione dei file di log. Microsoft SQL od Oracle potrebbero richiedere il ripristino delle transazioni non salvate dal backup e non ancora in stato ‘committed’ nel database. Ciò equivale più o meno a togliere l’alimentazione ad un server se si tratta di un server fisico, o di spegnere la VM: il disco viene messo in pausa in quell’esatto point in time, senza nessuna preparazione.
Backup consistente a livello di file
In questo backup, tutti i file nel sistema si trovano tutti in uno stato consistente, a differenza del backup crash consistent, in cui i file non sono stati salvati con gli ultimi aggiornamenti. Tuttavia, non ci siamo ancora occupati delle transazioni in corso.
Per le VM in esecuzione su un host ESX(i), VMware offre la quiescenza con i VMware Tools. Quando si esegue lo snapshot di una VM in esecuzione, i VMware Tools mettono in quiescenza il file system.
Backup consistente a livello di transazione
Questo backup non presenta gli aspetti negativi menzionati sopra e ha tutti i dati allo stesso punto temporale, incluse le transazioni completate. Il problema consiste nell’ottenerlo sul sistema “live”, senza downtime e con le applicazioni in esecuzione per il 100% del tempo.
Veeam è in grado di effettuare backup consistenti a livello di transazione con l’aiuto di Microsoft Volume Shadow Copy Service (VSS). Microsoft VSS è in grado di coordinare tutte le azioni specifiche che devono essere eseguite su un sistema al fine di “mettere in quiescenza” le applicazioni. Una volta abilitato, può mettere in pausa l’I/O in arrivo e fornire assistenza al software di backup. Microsoft VSS è incluso in tutti gli OS Windows a partire da Windows Server 2003.
Application-Aware Image Processing (AAIP) è una tecnologia proprietaria di Veeam che assicura il corretto ripristino delle VM e il ripristino corretto di tutte le applicazioni installate sulla VM senza nessuna perdita di dati. Veeam Backup & Replication non installa agenti persistenti all’interno delle VM, bensì utilizza un processo di coordinamento che viene avviato alla richiesta dell’operazione di backup e rimosso al termine di essa. Questo processo è progettato per evitare attività legate agli agenti come la pre-installazione, il troubleshooting e l’aggiornamento.
Per attivare i VSS, Veeam Backup & Replication si comporta come un requestor e richiede a Microsoft VSS di mettere in stato di consistenza le applicazioni prima che l’hypervisor crei lo snapshot della VM. A questo punto il provider VSS si coordina con le applicazioni VSS-aware per bloccare tutte le operazioni di I/O in uno specifico point in time.
In questo modo garantisce che non sussistano transazioni incompiute o file incompleti durante le operazioni di copia dei dati.
Come avere la certezza che un backup sia consistente?
Quando configurate un backup job, individuate la finestra “Guest processing” e selezionate l’opzione “Enable application-aware processing”. Quindi eseguire il job e accertarsi che l’esecuzione sia corretta.
Sfruttando la tecnologia AAIP di Veeam si può intervenire anche sullo stato di salute di applicazioni critiche, come il troncamento dei log di un server SQL o Exchange. Questa è una procedura di manutenzione critica soprattutto se parliamo del passaggio ad una soluzione di backup che è completamente agentless. Diversamente, i log crescerebbero senza controllo.
Per abilitare la quiescenza di VMware per le VM nel job, seguirei passaggi descritti nella documentazione Veeam.
Quando si abilitano sia l’elaborazione delle immagini application-aware sia la quiescenza con i VMware Tools, Veeam impiega la tecnologia AAIP come metodo predefinito e se la VSS non è possibile, esegue il failover sulla quiescenza con i VMware Tools.
Tenete conto del fatto che è sempre possibile verificare i vostri backup utilizzando la funzionalità SureBackup testando il ripristino in una sandbox isolata.
Risorse utili:
- Blog Veeam: Backup di MySQL su una VM Linux
- Centro assistenza Veeam: Elaborazione delle immagini application-aware