Esaminare il backup coerente con le applicazioni delle macchine virtuali Linux di Azure

Completato

Quando viene eseguito il backup di snapshot delle macchine virtuali, la coerenza a livello di applicazioni fa riferimento al fatto che le applicazioni vengono avviate all'avvio delle macchine virtuali dopo il ripristino. Nelle macchine virtuali Windows, gli snapshot si basano sul Servizio Copia Shadow del volume per semplificare la coerenza delle applicazioni. Per le macchine virtuali Linux è possibile usare il framework di script di pre-backup e script di post-backup Linux per eseguire backup coerenti con le applicazioni.

Il framework offre un'opzione per eseguire script di pre e post-backup durante la creazione di snapshot delle macchine virtuali. Gli script pre-backup vengono eseguiti immediatamente prima della creazione dello snapshot della macchina virtuale e gli script post-backup vengono eseguiti immediatamente dopo la creazione dello snapshot della macchina virtuale.

Gli script di pre-backup richiamano API native delle applicazioni per disattivare gli I/O e scaricano sul disco il contenuto in memoria. Queste azioni garantiscono la coerenza dello snapshot con le applicazioni. Gli script post-backup usano le API native dell'applicazione per sbloccare le operazioni di I/O, che consentono all'applicazione di riprendere le normali operazioni dopo lo snapshot della macchina virtuale.

Configurare pre-script e post-script

  1. Accedere come utente root alla macchina virtuale Linux VM di cui si vuole eseguire il backup.

  2. In GitHub scaricare VMSnapshotScriptPluginConfig.json e copiarlo nella directory /etc/azure di tutte le macchine virtuali di cui si vuole eseguire il backup. Se la directory /etc/azure non esiste, crearla.

  3. Copiare lo script di pre-backup e lo script di post-backup per l'applicazione in tutte le macchine virtuali di cui si intende eseguire il backup. È possibile copiare gli script in qualsiasi posizione nella macchina virtuale. Assicurarsi di aggiornare il percorso completo del file di script nel file VMSnapshotScriptPluginConfig.json.

  4. Assicurarsi che siano disponibili le autorizzazioni seguenti per i file:

    • VMSnapshotScriptPluginConfig.json: autorizzazione "600". Solo l'utente "root" deve avrà le autorizzazioni di "lettura" e "scrittura" per questo file e nessun utente avrà le autorizzazioni di "esecuzione".
    • File script di pre-backup: autorizzazione "700". Solo l'utente "root" avrà le autorizzazioni di "lettura", "scrittura" ed "esecuzione" per questo file.
    • Script di post-backup: autorizzazione "700". Solo l'utente "root" avrà le autorizzazioni di "lettura", "scrittura" ed "esecuzione" per questo file.
  5. Configurare VMSnapshotScriptPluginConfig.json come illustrato di seguito:

    • pluginName: lasciare invariata questa voce. In caso contrario, gli script potrebbero non funzionare come previsto.
    • preScriptLocation: specificare il percorso completo dello script di pre-backup nella VM di cui si eseguirà il backup.
    • postScriptLocation: specificare il percorso completo dello script di post-backup nella VM di cui si eseguirà il backup.
    • preScriptParams: specificare i parametri facoltativi da passare allo script di pre-backup.
    • postScriptParams: specificare i parametri facoltativi da passare allo script di post-backup.
    • preScriptNoOfRetries: impostare il numero di volte in cui lo script di pre-backup deve essere ripetuto se è presente un errore prima di terminare. Zero indica un solo tentativo, senza alcun nuovo tentativo in caso di errore.
    • postScriptNoOfRetries: impostare il numero di volte in cui lo script di post-backup deve essere ripetuto se è presente un errore prima di terminare. Zero indica un solo tentativo, senza alcun nuovo tentativo in caso di errore.
    • timeoutInSeconds: specificare i timeout individuali per lo script di pre-backup e lo script di post-backup (il valore massimo può essere 1800).
    • continueBackupOnFailure: Impostare questo valore su True se si vuole eseguire il fallback di Backup di Azure a un backup coerente al file system o coerente con l'arresto anomalo in caso di errore di pre-script o post-script. Se si imposta questo valore su False, il backup non viene eseguito in caso di errore dello script (tranne quando si dispone di una macchina virtuale con un solo disco, nel qual caso l'errore dello script comporta sempre un backup coerente con l'arresto anomalo).
    • fsFreezeEnabled: specificare se il comando fsfreeze di Linux deve essere chiamato durante la creazione dello snapshot della macchina virtuale per garantire la coerenza del file system. Si consiglia di mantenere questa impostazione su true, a meno che l'applicazione abbia legami di dipendenza con la disattivazione di fsfreeze.
  6. Il framework di script è ora configurato. Se il backup della macchina virtuale è già configurato, il backup successivo richiamerà gli script e attiverà backup coerenti con le applicazioni.

Importante

Questo framework offre agli utenti numerose potenzialità. Controllare il framework e assicurarsi che solo l'utente "root" abbia accesso ai file di script e JSON critici. Se i requisiti non vengono soddisfatti, lo script non viene eseguito e pertanto si verificherà un arresto anomalo del file system e verrà creato un backup non coerente.