Ripristinare lo stato delle Azure VM con la funzionalità di snapshot dei dischi e clonazione delle Azure VM

Uno dei vantaggi principali offerti dalla virtualizzazione è sicuramente rappresentato dal fatto che è possibile in qualsiasi momento effettuare uno snapshot dello stato delle VM, chiamato anche checkpoint, che consenta di poter ripristinarne lo stato in caso di malfunzionamenti dovuti ad aggiornamenti del sistema o degli applicativi.

Nonostante questa funzionalità sia facile da gestire on-premises e sia alla base dei backup che quotidianamente effettuiamo, in Azure non è implementata in maniera diretta, ma è comunque possibile ottenere lo stesso risultato.

In questa guida mostrerò come, partendo da uno snapshot di un disco di una Azure VM, sia possibile ripristinare lo stato della macchina in caso ci siano delle problematiche, senza necessariamente dover ripristinare un backup, che, come sappiamo, per le Azure VM può essere fatto una sola volta al giorno utilizzando Azure Backup. Per maggiori dettagli sul backup delle Azure VM vi invito a leggere la guida About Azure VM backup – Azure Backup | Microsoft Docs

Uno snapshot del disco può essere creato in qualsiasi momento ed è indipendente dai backup.

Purtroppo, in Azure non abbiamo accesso all’Hyper-V e quindi non possiamo catturare un checkpoint della VM per poi farne il revert in caso di problemi. È possibile però avere lo stesso risultato utilizzando gli snapshot dei dischi.

I passaggi sono molto semplici:

  1. Catturare uno snapshot dei dischi da proteggere (a VM accesa o spenta)
  2. Creare un managed disk utilizzando lo snapshot catturato
  3. Applicare il managed disk creato come disco del sistema operativo della VM nel caso sia necessario tornare indietro nel tempo e ripristinare uno stato precedente del sistema (a VM spenta)

L’operazione viene fatta senza dover cancellare la VM e ricrearla.

Cattura dello snapshot della Azure VM

Per creare lo snapshot del disco, in questo caso il disco del sistema operativo della Azure VM, selezionate la VM da portale di Azure e successivamente selezionate il disco. Cliccate su +Create snapshot per procedere con la creazione.

Figura 1: Creazione dello snapshot del disco del sistema operativo

Lo snapshot può essere di tipo Full o Incremental. Nel mio caso ho scelto il tipo Full, perché è la prima volta che catturo uno snapshot del disco. Maggiori dettagli per la creazione dello snapshot tramite PowerShell sono disponibili alla pagina Create a snapshot of a virtual hard drive using the portal or PowerShell – Azure Virtual Machines | Microsoft Docs

Figura 2: Creazione dello snapshot del disco della VM – Scelta del tipo di snapshot e dello storage type

Così come il disco della VM è crittografato, potete anche scegliere di crittografare lo snapshot. Azure Disk Encryption permette di proteggere i dati contenuti nei dischi delle VM grazie alla tecnologia Bitlocker ed è integrato con Azure Key Vault per permettere di controllare e gestire le chiavi di crittografia. La protezione dei dati permette di salvaguardare la sicurezza e allo stesso tempo permette di soddisfare i requisiti di conformità dell’azienda.

Maggiori dettagli sono disponibili leggendo la mia guida Azure Disk Encryption: Protezione dei dischi delle VM – ICT Power, dove mostro come poter utilizzare le proprie chiavi di cifratura da conservare in un Azure Key Vault.

Figura 3: Scelta della crittografia dello snapshot

Figura 4: Informazioni di riepilogo della creazione dello snapshot

Figura 5: Creazione dello snapshot completata

Creazione di un managed disk utilizzando lo snapshot catturato

Selezionate lo snapshot da utilizzare e dal pulsante +Create disk seguite il wizard per la creazione di un managed disk.

Figura 6: Creazione di una Azure managed disk partendo da uno snapshot

Figura 7: Nome e informazioni da inserire per la creazione del managed disk

Figura 8: Scelta della crittografia del disco

Figura 9: Informazioni di riepilogo e creazione del nuovo Azure managed disk

Il disco gestito creato è adesso nello stato Unattached. Per poter visualizzare i dischi non collegati potete aggiungere la colonna Disk State, dopo aver visualizzato i dischi nel portale di Azure. Per aggiungere una nuova colonna vi basterà cliccare sul pulsante Manage View e quindi su Edit columns.

Figura 10: Visualizzazione dei managed disk

Applicazione del managed disk creato come disco del sistema operativo della VM

Adesso che abbiamo a disposizione il nuovo managed disk possiamo utilizzarlo come disco del sistema operativo della Azure VM per riportarla ad uno stato precedente in caso di problematiche dovute all’aggiornamento del sistema o delle applicazioni. Dopo aver spento la VM, selezionate la voce Disks dal portale di Azure e scegliete Swap OS disk.

Figura 11: Swap del disco del sistema operativo

Scegliete dal menu a tendina quale managed disk utilizzare e confermate inserendo il nome della Azure VM, come mostrato nelle figure sotto:

Figura 12: Scelta del managed disk da utilizzare

Figura 13: Conferma dello swap del disco inserendo il nome della VM

Nel giro di un paio di secondi vedrete che il disco sarà stato montato e potrete riavviare la vostra Azure VM, che sarà stata ripristinata allo stato in cui avete catturato lo snapshot.

Figura 14: Operazione di swap del disco del sistema operativo effettuata con successo

Clonazione di una Azure VM partendo dallo snapshot di un disco di sistema

Se avete necessità di clonare una macchina virtuale in Azure, perché avete bisogno di fare dei test oppure dovete fare troubleshooting senza voler toccare la macchina in produzione, è possibile utilizzare questi semplici passaggi:

  1. Catturare uno snapshot del disco di sistema da clonare (a VM accesa o spenta)
  2. Creare un managed disk utilizzando lo snapshot catturato
  3. Utilizzare il managed disk creato come disco del sistema operativo di una nuova VM

Dopo aver selezionato il disco creato è possibile creare una nuova macchina virtuale facendo clic sul pulsante +Create VM. Completate il wizardinserendo le informazioni richieste per la creazione della VM e attendete l’avvio. In pochi secondi avrete clonato la macchina di partenza

P.S: Ovviamente durante il wizard di creazione delle Azure VM fate attenzione a quale VNET collegheret la macchina per non correre il rischio di avere due macchine identiche sulla stessa rete.

Figura 15: Creazione di una nuova VM partendo da un disco Unattached

Conclusioni

Gli snapshot dei managed disks ci permettono di ripristinare velocemente uno stato precedente del sistema e quindi di sfruttare la stessa funzionalità offerta dai checkpoint creati con gli hypervisor on-premises. Anche la clonazione delle VM, effettuata in questo modo, è un’operazione rapida e davvero semplice.