Come ripristinare macchine virtuali e snapshot in XCP-ng e XenServer

In questo articolo spiegheremo come recuperare i dati da macchine virtuali e snapshot in XCP-ng e XenServer, dove vengono archiviati i dischi virtuali, come funziona il meccanismo degli snapshot e cosa fare se una macchina virtuale è stata eliminata o il suo disco è diventato inaccessibile. Illustreremo inoltre le opzioni per il recupero dei dati dai dischi virtuali dopo il danneggiamento del file system, l’eliminazione accidentale di file o un guasto dello storage, nonché l’uso di software specializzati per il recupero delle informazioni.

Come ripristinare macchine virtuali e snapshot in XCP-ng e XenServer

XCP-ng e XenServer sono hypervisor utilizzati per creare, eseguire e gestire macchine virtuali che memorizzano sistemi operativi, applicazioni e dati importanti su dischi virtuali. Per proteggersi dai guasti e consentire il rollback a uno stato precedente, vengono utilizzati gli snapshot (snapshot). Tuttavia, l’eliminazione di una macchina virtuale, il danneggiamento dello storage, un guasto hardware, errori amministrativi o un merge non riuscito di uno snapshot possono comportare la perdita di accesso a dati importanti.

Per affrontare questi problemi, utilizzeremo l’utility multipiattaforma Hetman RAID Recovery. Questo programma consente di collegare dischi ed eseguire il recupero in ambienti Windows, Linux e macOS. Riconosce automaticamente la struttura logica dei dispositivi di archiviazione server, estrae in sicurezza le macchine virtuali integre insieme agli snapshot e consente inoltre di individuare e recuperare file eliminati direttamente dall’interno dei sistemi operativi guest.

Vai a vedere
Come recuperare macchine virtuali e snapshot XCP-ng / XenServer

Come recuperare macchine virtuali e snapshot XCP-ng / XenServer

Architettura dello storage locale in XCP-ng

Per un recupero dati riuscito, è importante comprendere il funzionamento di un Storage Repository nell’ambiente XCP-ng. L’hypervisor supporta lo storage basato su LVM, in cui ogni disco virtuale viene creato come volume logico separato. Tuttavia, oggi ci concentreremo sullo storage locale con file system EXT4, in cui i dischi virtuali sono archiviati come normali file.

Architettura dello storage locale in XCP-ng

Dopo un guasto del server, un’unità di questo tipo diventa un dispositivo non riconosciuto per i sistemi operativi desktop standard. Gli strumenti integrati di Windows o macOS semplicemente non comprendono la specifica struttura logica implementata dall’hypervisor. Di conseguenza, non è possibile collegare direttamente il disco e copiare le immagini richieste, anche se i dati sono fisicamente ancora integri.

Vale inoltre la pena menzionare le specificità dei formati dei dischi virtuali e degli snapshot. Nell’ambiente XCP-ng su storage EXT4, i file sono solitamente archiviati in formato VHD. Quando viene creato uno snapshot, il sistema genera un nuovo file differenziale collegato e tutte le modifiche successive nel sistema guest vengono scritte al suo interno. L’hypervisor crea questi snapshot per acquisire lo stato esatto di una macchina virtuale in un determinato momento.

Per un sistema di terze parti è estremamente difficile interpretare una struttura così specifica senza software dedicato. È qui che entra in gioco Hetman RAID Recovery.

Per recuperare dati da array RAID guasti, dispositivi NAS e altri sistemi di archiviazione multidisco.

Il programma riconosce con precisione la logica del file system EXT4 e fornisce immediatamente accesso diretto ai file delle macchine virtuali e degli snapshot esistenti, oltre a individuare in modo efficiente i dati eliminati in precedenza. Inoltre, l’utility supporta completamente lo storage basato su LVM, consentendo di individuare e recuperare con successo i dischi virtuali direttamente dai volumi logici. L’algoritmo del programma riconosce automaticamente la loro configurazione, garantendo un’estrazione sicura dei dati anche in caso di danni gravi alla struttura host.

Componente Descrizione
Local Storage Repository (Local SR) Un repository di archiviazione locale collegato al server XCP-ng in cui sono memorizzati i dischi delle macchine virtuali (VDI) e i dati correlati.
Storage Repository (SR) Un’unità logica di archiviazione utilizzata dall’hypervisor per organizzare l’accesso ai dischi virtuali. Un SR può essere locale o basato su rete.
Physical Block Device (PBD) Un oggetto che associa un repository di archiviazione SR a un host XCP-ng specifico e ne fornisce l’accesso.
Virtual Disk Image (VDI) Un disco virtuale che memorizza il sistema operativo, le applicazioni e i file del sistema operativo guest.
Virtual Block Device (VBD) Un dispositivo virtuale che collega un VDI a una macchina virtuale (VM).
VHD (Virtual Hard Disk) Un formato di disco virtuale utilizzato in molti repository di archiviazione XCP-ng e XenServer. Può supportare catene di dischi di base e snapshot.
LVM (Logical Volume Manager) Un meccanismo di gestione dei volumi logici utilizzato in alcuni tipi di storage locale basati su dispositivi a blocchi.
EXT (file system ext4) Un file system utilizzato per archiviare i file dei dischi virtuali nel corrispondente tipo di storage locale.
Snapshot Uno stato salvato di una macchina virtuale o dei suoi dischi in un determinato momento. In base al tipo di storage, può essere implementato tramite una catena di dischi virtuali.
Catena VHD Una sequenza composta da un disco di base e da dischi figlio contenenti le modifiche relative allo snapshot. L’interruzione dei collegamenti tra essi può rendere più difficile l’accesso ai dati correnti.
XAPI L’API di gestione di XCP-ng utilizzata per lavorare con macchine virtuali, storage, dischi virtuali e snapshot.
Metadati dello storage Informazioni sulla configurazione dell’SR, sui dischi virtuali e sulle loro relazioni. Il danneggiamento o la perdita dei metadati può causare la mancata visualizzazione dei dischi virtuali nell’interfaccia di gestione.

Collegamento dei dischi e creazione delle immagini

Il primo passo nel processo di recupero consiste nel rimuovere fisicamente i dischi del server e collegarli a una workstation:

  • L’opzione migliore è il collegamento diretto alle porte SATA della scheda madre.
  • Se non sono disponibili porte libere sufficienti, oppure se si utilizzano dischi server SAS, è possibile installare una scheda di espansione HBA.
  • In alternativa, è possibile utilizzare box esterni USB o dock station, ma occorre tenere presente che la larghezza di banda USB può aumentare il tempo totale di scansione.

Esiste una regola di fondamentale importanza quando si collegano i dischi. Il sistema operativo Windows, Linux o macOS può richiedere di formattare o inizializzare nuovi dischi. Questi messaggi di sistema devono essere ignorati e semplicemente chiusi per evitare di distruggere definitivamente le informazioni.

Il sistema operativo richiede di inizializzare nuovi dischi

Per garantire la massima sicurezza dei dati originali, consigliamo sempre di creare un’immagine completa dell’unità collegata. Si tratta di una copia esatta, byte per byte, del disco fisico. Questa funzionalità integrata è utile anche quando non è possibile collegare contemporaneamente al computer tutti i dischi necessari.

Per creare un’immagine, selezionare il disco nel programma, fare clic su Salva disco e specificare il percorso in cui salvare il file.

Hetman RAID Recovery: creazione di un’immagine del disco

Dopodiché, aprire il menu principale, selezionare Monta disco, scegliere il tipo Immagini di dischi raw e aprire l’immagine salvata per proseguire il lavoro in sicurezza.

Hetman RAID Recovery: montaggio di un’immagine del disco

Come recuperare macchine virtuali e snapshot di XCP-ng / XenServer

METODO 1. Recupero di macchine virtuali esistenti ed eliminate

Passiamo alla parte pratica. Subito dopo aver selezionato il disco, il programma riconosce automaticamente la struttura del file system EXT4. Avviamo una Scansione rapida dello storage collegato.

Hetman RAID Recovery: avvio della scansione del disco

Nel giro di pochi secondi, l’algoritmo rileva i dischi virtuali esistenti insieme alle catene di file degli snapshot. La stessa ricerca rapida funziona altrettanto bene con l’architettura LVM, in cui il programma individua immediatamente tutti i volumi logici disponibili contenenti macchine virtuali.

Hetman RAID Recovery: il programma riconosce automaticamente la struttura EXT4

Per prima cosa, consideriamo lo scenario di recupero delle macchine virtuali esistenti. Nel nostro caso, i file sono fisicamente presenti sul disco, ma l’accesso a essi è andato perso esclusivamente a causa di un guasto generale del server. Selezioniamo semplicemente queste macchine virtuali integre, facciamo clic sul pulsante Recupera e le salviamo con successo su un’unità locale sicura del computer.

Hetman RAID Recovery: fare clic sul pulsante Recupera

Ora consideriamo la situazione dei file che sono stati eliminati accidentalmente dall’utente prima del guasto del sistema.

Prestare attenzione a come i file eliminati vengono visualizzati nell’interfaccia del programma. Sono contrassegnati da una speciale croce rossa, che ne facilita l’individuazione.

Hetman RAID Recovery: i file eliminati sono contrassegnati con una croce rossa

Selezionare queste macchine virtuali eliminate trovate, fare clic sul pulsante Recupera e salvarle con successo su un’unità locale sicura del computer.

METODO 2. Recupero di file dai sistemi operativi guest

Un’altra potente funzionalità del programma è la possibilità di montare direttamente i dischi virtuali individuati. Ciò consente di accedere al loro contenuto interno senza dover avviare l’hypervisor stesso.

Hetman RAID Recovery: montaggio di un disco XenServer

Soprattutto, è possibile montare anche i dischi virtuali eliminati che il sistema ha appena trovato sul nostro storage EXT4 ed estrarre da essi informazioni utili.

Hetman RAID Recovery: dischi delle macchine virtuali identificati

Dopo aver montato il disco, avviamo su di esso una Scansione rapida.

Hetman RAID Recovery: analisi rapida del disco montato

In questa fase, dimostriamo il processo di ricerca dei file utente che erano stati eliminati accidentalmente all’interno del nostro sistema operativo guest Windows 10 prima del guasto generale del server.

Il programma ricostruisce correttamente l’albero delle directory. Possiamo esaminare i dati trovati tramite la funzione di anteprima, verificare l’integrità dei documenti ed eseguire il salvataggio finale dei file richiesti sul computer locale.

Hetman RAID Recovery: recupero di file dal disco montato

METODO 3. Recupero dei dati mediante snapshot

Il programma funziona bene anche con gli snapshot di sistema. Dopo l’analisi del disco, l’interfaccia visualizza i file degli snapshot accanto ai file della macchina virtuale. Qui è possibile vedere sia gli snapshot correnti esistenti sia quelli eliminati in precedenza.

Hetman RAID Recovery: snapshot rilevati dal programma

Per prima cosa, dimostriamo il recupero dei dati da uno snapshot esistente. Nel nostro caso, abbiamo creato uno snapshot di base del sistema. Montiamo questo snapshot corrente individuato, eseguiamo una scansione rapida e svolgiamo il processo di ricerca e recupero dei file che corrispondono esattamente a questo specifico momento nel tempo.

Hetman RAID Recovery: snapshot montati
Hetman RAID Recovery: file dello snapshot

Passiamo ora al recupero dei dati da uno snapshot eliminato. Per rendere il test più impegnativo, dopo aver creato il primo snapshot abbiamo aggiunto nuovi file, creato un altro snapshot e quindi lo abbiamo eliminato completamente.

Hetman RAID Recovery: snapshot delle macchine virtuali rilevati dal programma

Montiamo questo snapshot eliminato individuato dal programma, lo analizziamo con successo e salviamo i file richiesti sul computer locale.

Hetman RAID Recovery: snapshot delle macchine virtuali montati

Ciò conferma chiaramente la capacità del sistema di recuperare i dati indipendentemente dallo stato attuale dello snapshot.

Hetman RAID Recovery: dati recuperati da uno snapshot di macchina virtuale

Conclusione

Il recupero delle macchine virtuali e degli snapshot in XCP-ng e XenServer dipende dalla causa della perdita dei dati, dal tipo di storage e dallo stato dei dischi virtuali. L’eliminazione accidentale di una macchina virtuale, il danneggiamento dello storage, il guasto di un’unità fisica o l’interruzione di una catena di snapshot possono comportare la perdita di accesso al sistema operativo, alle applicazioni e ai file dell’utente.

Durante il recupero, è importante identificare correttamente la struttura dello storage (SR), individuare i dischi virtuali corrispondenti (VDI) e verificare l’integrità dei file VHD e delle dipendenze tra essi. Se un disco o uno snapshot è inaccessibile tramite l’interfaccia di gestione, ciò non significa sempre che i dati siano persi definitivamente. In alcuni casi, le informazioni possono essere recuperate direttamente dal disco virtuale utilizzando software specializzati per il recupero dei dati.

Per evitare di peggiorare la situazione, si consiglia di interrompere le operazioni di scrittura sullo storage danneggiato, non eliminare gli elementi residui della catena di snapshot e non creare nuovo storage sopra un dispositivo contenente dati persi. Se possibile, creare una copia settore per settore del disco ed eseguire le operazioni successive sulla copia.

I software specializzati per il recupero dei dati, incluse le soluzioni di Hetman Software, possono aiutare a eseguire la scansione dei dischi virtuali accessibili, trovare i file persi e recuperare le informazioni dopo l’eliminazione o il danneggiamento del file system. Il risultato dipende dallo stato del dispositivo di archiviazione, dalla natura del danno e dal fatto che i dati persi siano stati o meno sovrascritti.

Backup regolari, verifica dell’integrità degli snapshot e monitoraggio delle condizioni dello storage di XCP-ng e XenServer contribuiranno a ridurre il rischio di perdita dei dati e a ridurre i tempi di recupero dell’infrastruttura virtuale.

Anton Kryvoruchko

Autore: , Scrittore tecnico

Anton Kryvoruchko è traduttore dall'italiano, dall'inglese, dal francese e dal polacco. Ha molti anni di esperienza e lavora con testi di vario argomento: dalla narrativa e testi tecnici alle riviste scientifiche popolari. Lavora costantemente per migliorare le sue conoscenze e competenze, perciò nel tempo libero impara anche il tedesco e lo spagnolo.

Mykhailo Miroshnichenko

Editore: , Scrittore tecnico

Mykhaylo Miroshnychenko è uno dei programmatori principali di Hetman Software. Avendo già quindici anni di esperienza nello sviluppo di software condivide le sue conoscenze con i lettori del nostro blog. Oltre alla programmazione, Mykhaylo è anche un esperto di recupero di dati, di file system, di dispositivi di archiviazione e di array RAID.