Che cos’è il backup VM coerente con le applicazioni?
Quando si parla di backup, ci sono un sacco di opzioni da considerare, come il tipo di backup, la frequenza, l’origine, la destinazione e tante altre. Agli albori dei backup tradizionali, la maggior parte delle soluzioni di backup si limitava a catturare i file su disco. Tuttavia, nel mondo moderno della tecnologia di backup, la maggior parte dei server è incentrata sulle applicazioni. I backup “incoerenti” di file flat non sono certamente adeguati. Abbiamo parlato di backup “crash consistent” che sono coerenti per un volume di cui viene eseguito il backup utilizzando il servizio Volume Shadow Copy.
Tuttavia, esiste un’opzione particolare per i backup coerenti che è in grado di eseguire backup coerenti delle applicazioni. La maggior parte delle moderne soluzioni di backup per VM VMware offre solitamente la possibilità di eseguire un backup application-aware.
Cosa sono i backup coerenti con le applicazioni (application-aware)?
I backup coerenti con le applicazioni o application-aware hanno un caso d’uso speciale in quanto portano i backup coerenti un passo avanti. Mentre i backup crash-consistent creano backup coerenti dei file su un volume utilizzando il Volume Shadow Copy Service, essi non tengono conto dei dati dell’applicazione che potrebbero essere presenti nella memoria, né delle operazioni I/O in sospeso. I backup coerenti con le applicazioni sfruttano speciali hook nel Volume Shadow Copy Service e nell’applicazione di cui eseguono il backup. Questi hook speciali sono chiamati VSS writer. I VSS writer sono componenti speciali specifici dell’applicazione del Volume Shadow Copy Service di Microsoft. Hanno il ruolo speciale di garantire che i dati dell’applicazione vengano correttamente svuotati dalla memoria, congelati per un tempo sufficiente a consentire l’esecuzione di uno snapshot VSS e quindi scongelati dopo l’esecuzione dello snapshot. Il processo richiede in genere solo pochi secondi.
Si tratta di un processo estremamente importante che deve avvenire quando si pensa a un’applicazione che richiede coerenza transazionale, come Microsoft SQL Server. I writer VSS Microsoft per SQL Server sono in grado di scaricare i dati dalla memoria, congelare le operazioni SQL e quindi rilasciare il congelamento dopo l’esecuzione dello snapshot. Ciò garantisce che i dati presenti nella memoria e le operazioni di I/O dei dati in sospeso vengano correttamente scaricati e gestiti prima che l’operazione di snapshot esegua lo snapshot VSS del disco. Ciò rende l’operazione di backup “coerente con l’applicazione”, poiché non solo il disco, ma anche l’applicazione viene sottoposta a backup in uno stato in cui mantiene la coerenza transazionale. Se utilizziamo solo un backup coerente senza attivare le funzioni di riconoscimento delle applicazioni, è probabile che ci ritroveremo con un’applicazione che non è in uno stato coerente.
La coerenza dell’applicazione non è solo una preoccupazione al momento dell’operazione di backup. È e dovrebbe essere una preoccupazione anche al completamento di un’operazione di ripristino. È possibile ripristinare correttamente un server di applicazioni come Microsoft Exchange o Microsoft SQL Server utilizzando un ripristino di un backup coerente, tuttavia è necessario utilizzare il processo richiesto da tali applicazioni per riportare l’applicazione in uno stato coerente. Ciò può includere la riproduzione dei log, ecc. È quindi importante notare che il tempo necessario per ripristinare quei particolari servizi includerà non solo il tempo necessario per ripristinare le risorse dei file raw, che si tratti di una VM VMware o Hyper-V, ma anche il tempo necessario per riportare l’applicazione in uno stato coerente.
Come già osservato, traiamo vantaggio dall’utilizzo di un software di backup per server virtuali che ci consente di creare backup coerenti con le applicazioni. Le risorse ripristinate, comprese le VM VMware o Hyper-V, avranno già i dati dell’applicazione in uno stato coerente. Disporre di questo tipo di backup per server di applicazioni critiche come Microsoft SQL Server o Microsoft Exchange Server può essere di grande vantaggio per il nostro obiettivo di tempo di ripristino (RTO) per i servizi aziendali.
Creazione di un lavoro di backup coerente con le applicazioni con NAKIVO Backup & Replication
Di seguito, vediamo un esempio di un lavoro di backup in Nakivo Backup & Replication v7 in cui, nelle Opzioni del lavoro, possiamo selezionare Modalità coerente con le applicazioni e come desideriamo che il processo proceda in caso di errori con VSS.

Passando con il mouse sull’icona del “punto interrogativo” accanto alla casella combinata app-ware, è possibile visualizzare una descrizione dettagliata del processo app-ware e delle dipendenze. Si noti il riferimento, nel caso delle VM VMware, agli strumenti VMware. VMware Tools viene utilizzato per il quiescing del sistema operativo guest per i dati delle applicazioni.

VSS Writer e risoluzione dei problemi
Come accennato, i VSS Writer sono componenti specifici per applicazioni speciali del Volume Shadow Copy Service di Microsoft. Questi possono essere componenti installati da Microsoft o di terze parti, che in genere vengono installati con l’applicazione stessa. Nel caso dei componenti writer VSS Microsoft, questi possono essere visualizzati installati su una base applicativa specifica. I controller di dominio avranno il writer “NTDS”, SQL Server avrà “SqlServerwriter” ed Exchange Server avrà “Microsoft Exchange Writer”. Quando si tratta di risolvere i problemi dei writer VSS, se e quando abbiamo problemi con i backup coerenti con le applicazioni, abbiamo a disposizione diverse utilità e risorse per la risoluzione dei problemi.
Un’ottima utility da riga di comando per visualizzare/risolvere i problemi relativi agli scrittori VSS specifici attivi, nonché lo stato di tali scrittori, è il comando vssadmin . Se si apre un prompt dei comandi e si digita semplicemente vssadmin è possibile visualizzare i comandi specifici disponibili con vssadmin.

Utilizzando il comando vssadmin list writers è possibile visualizzare l’elenco dettagliato degli scrittori VSS speciali utilizzati per varie applicazioni. Si noti che di seguito abbiamo eseguito il comando su un server Microsoft SQL. Abbiamo elencato SqlServerWriter . Si notino inoltre le annotazioni Stato e Ultimo errore , poiché sono molto utili per vedere lo stato attuale e gli eventuali errori presenti sul particolare writer VSS.

La schermata avanti è stata acquisita da un controller di dominio Windows Server 2016. Si noti che per questo server il comando vssadmin list writers mostra il writer NTDS specifico per i servizi di dominio Active Directory.

Come indicato sopra, VMware Tools è una parte essenziale dell’elaborazione coerente con le applicazioni all’interno di una VM. Per impostazione predefinita, la registrazione per VMware Tools non è attivata. Durante la risoluzione dei problemi relativi a VSS su una VM, potrebbe essere necessario abilitare la registrazione per VMware Tools all’interno del sistema operativo guest. A tal fine, è necessario modificare o creare il file tools.conf nella VM.
Di seguito, il file non era presente nella VM Windows Server 2016. Passando alla directory C:ProgramdataVMwareVMware Tools , abbiamo creato il file di configurazione. Assicurati di visualizzare le estensioni per dare al file il nome corretto.

Dopo aver creato il file, dobbiamo modificarlo e aggiungere quanto segue per il rispettivo sistema operativo. Nota per Windows le doppie barre rovesciate per il percorso dei dati degli strumenti. È anche possibile utilizzare una barra per Windows.
Ospiti Windows
[logging]
log = true
vmtoolsd.level = debug
vmtoolsd.handler = file
vmtoolsd.data = c:windowstempvmtoolsd.log
Ospiti Linux
vmtoolsd.data = /tmp/vmtoolsd.log
Dopo aver creato/modificato il file, è sufficiente riavviare il servizio VMware Tools.

Il file di log risultante contiene informazioni di debug, comprese le informazioni sul funzionamento di VSS. Di seguito è riportato uno snippet di un log di debug abbastanza pulito subito dopo l’abilitazione della modalità di debug di VMware Tools.

Inoltre, durante la risoluzione di qualsiasi errore relativo a VSS, è consigliabile consultare i log degli eventi di Windows, in particolare i log delle applicazioni e di sistema. Le voci del log Applicazioni appariranno come origine VSS mentre le voci del log Sistema appariranno sotto l’origine volsnap. Esistono anche procedure specifiche di risoluzione dei problemi VMware VSS da seguire per esaminare e risolvere gli errori VSS relativi agli strumenti VMware.
Considerazioni
L’utilizzo di backup VM coerenti con le applicazioni per le applicazioni business-critical è essenziale per disporre di una solida strategia di ripristino di emergenza quando si eseguono backup di applicazioni che si basano sulla coerenza transazionale. I backup coerenti con le applicazioni consentono di scaricare su disco tutti i dati presenti nella memoria e le operazioni I/O in sospeso prima di eseguire il backup coerente del disco. Ciò è possibile grazie a speciali writer del Volume Shadow Copy Service che comunicano con l’applicazione specifica e bloccano correttamente le operazioni per un tempo sufficiente a eseguire il backup dell’applicazione con coerenza transazionale. Per le organizzazioni che desiderano sia proteggere i dati sia essere in grado di ripristinare i dati delle applicazioni il più rapidamente possibile, il ripristino dei backup coerenti con le applicazioni evita la necessità di ripristinare separatamente i dati delle applicazioni, come la riproduzione dei log, ecc.
Le moderne soluzioni di backup come NAKIVO Backup & Replication & offrono davvero ottime funzioni e funzionalità. Conoscere le opzioni disponibili, come backup coerente con le applicazioni e sfruttarle per la coerenza transazionale con le applicazioni, aiuta le organizzazioni ad avere una soluzione di backup coerente, affidabile ed efficiente. Ciò garantisce che le organizzazioni possano raggiungere sia gli obiettivi relativi al punto di ripristino che al tempo di ripristino.