Recupero dei dati della macchina virtuale da RAID 1 specchiato sull’hypervisor XCP-ng
In questo tutorial, ti guideremo attraverso il processo di recupero dei dati di macchine virtuali da una configurazione RAID1 in mirroring sull’ipervisore XCP-ng. Che tu abbia riscontrato guasti ai dischi, corruzione dei dati o altri problemi con i dati delle macchine virtuali, ti accompagneremo passo dopo passo nella procedura di recupero.

Come recuperare i dati dalle macchine virtuali Linux KVM dopo un crash o una cancellazione
- Installare XCP-ng
- Come creare una macchina virtuale
- Come recuperare i dati da una macchina virtuale
- Domande e risposte
- Commenti
XCP-ng è una distribuzione Linux con un ipervisore Xen preconfigurato e un progetto Xen API pronto all’uso. XCP-ng sta per Xen Cloud Platform – next gen.
L’obiettivo principale di questo progetto è fornire un modo semplice per distribuire infrastrutture basate su macchine virtuali utilizzando Xen come ipervisore e una potente XenAPI per offrire soluzioni pronte all’uso. XCP-ng è compatibile con la maggior parte dei server ed è per questo molto diffuso. Tuttavia, come con qualsiasi altro ipervisore, possono verificarsi fattori che causano la perdita di accesso alle macchine virtuali – sia a seguito di un errore di sistema, sia per un guasto del server.
Di conseguenza, non sarà possibile ripristinare l’accesso ai dati della macchina virtuale senza ricorrere a strumenti software di terze parti.
| Caratteristica | Descrizione |
|---|---|
| Tipo di prodotto | Una soluzione di virtualizzazione open-source basata su Xen che supporta le funzionalità complete di un ipervisore. |
| Sviluppatore | Azienda Vates (supportata dalla community). |
| Licenza | Software open-source (GPLv2). |
| Piattaforme | Supporta sistemi server operativi basati su Linux e Windows. |
| Architettura | Gira sull’ipervisore Xen, fornendo la gestione delle VM tramite API o GUI. |
| Caratteristiche principali | Virtualizzazione dei server, supporto VM, migrazione VM, backup e recupero. |
| Supporto hardware | Ampio supporto per hardware server con processori Intel e AMD. |
| Integrazione | Possibile integrazione con soluzioni di gestione come Xen Orchestra per il controllo centralizzato. |
| Scalabilità | Supporto per clustering e gestione di grandi infrastrutture virtualizzate. |
| Vantaggi | Gratuito, scalabile, community attiva, supporto per standard di sicurezza moderni. |
| Utilizzo | Utilizzato per infrastrutture cloud, virtualizzazione aziendale, ambienti di test. |
Installare XCP-ng
Come distribuzione Xen pronta all’uso, il modo più semplice per distribuire XCP-ng è utilizzare un’immagine ISO, disponibile sul sito del progetto.

L’installazione di XCP non differisce molto dall’installazione dell’ipervisore Xen.

Nel nostro canale abbiamo un video molto dettagliato sull’installazione dell’ipervisore XEN.
L’unica differenza è che installerò il sistema su un RAID in mirroring. Durante l’installazione è necessario specificare i dischi e utilizzarli per creare l’array.
Come creare una macchina virtuale
Per quanto riguarda la creazione di macchine virtuali, è molto simile a come si fa con l’ipervisore XEN. Per gestire le macchine virtuali useremo XCP Center. Il programma ha un’interfaccia simile a XEN Center.

Puoi approfondire la creazione di una macchina virtuale guardando il video sull’ipervisore XEN. Poiché questo processo è assolutamente identico, non mi soffermerò su di esso e passerò invece agli aspetti di recupero.
Su questo ipervisore ho configurato due macchine virtuali, una con Windows 10 e un’altra con Ubuntu Linux. Ti mostrerò come estrarre i dati da entrambe.
Come recuperare i dati da una macchina virtuale
Se la macchina virtuale non si avvia, se mostra un errore che non può essere risolto, oppure se c’è un guasto hardware o un errore di sistema nel server – qualunque sia la causa, ma non riesci ad avviare la macchina virtuale – utilizza uno strumento specializzato di recupero dati, Hetman RAID Recovery: supporta il recupero da tutti i tipi di RAID più diffusi e da dischi virtuali di vari ipervisori, incluso XCP.
Per impostazione predefinita, XCP-ng utilizza LVM per lo storage delle sue macchine virtuali. Questo metodo di archiviazione ha diversi vantaggi rispetto ai file VHD, ma a volte è necessario utilizzare la modalità di archiviazione basata su file come in VMware ESX, il che può creare ulteriori difficoltà per il processo di recupero.
Nel mio caso, il sistema è basato su RAID in mirroring, il che rende il recupero ancora più complesso.
Per avviare il processo di recupero, dovresti rimuovere i dischi dal server e collegarli alla scheda madre di un computer Windows. Se la tua scheda madre non dispone di porte SATA o connettori di alimentazione per tutti i dischi necessari, puoi aggiungere adattatori o schede di espansione per risolvere il problema.

Quando colleghi i dischi fisici che costituivano il RAID dove sono memorizzati i file delle macchine virtuali, Hetman RAID Recovery mostrerà immediatamente i dischi virtuali delle macchine virtuali e le loro dimensioni.
| N° | Passo | Descrizione |
|---|---|---|
| 1 | Spegni l’ipervisore | Spegni in modo sicuro l’ipervisore XCP-ng per evitare ulteriori danni ai dati. |
| 2 | Scollega i dischi | Arresta e scollega i dischi che facevano parte del RAID1 in mirroring. |
| 3 | Collega i dischi al PC | Collega i dischi a un computer Windows usando adattatori SATA o USB. |
| 4 | Installa Hetman RAID Recovery | Scarica e installa Hetman RAID Recovery sul PC Windows. |
| 5 | Avvia il programma | Apri Hetman RAID Recovery e consenti al programma di rilevare automaticamente la configurazione RAID1. |
| 6 | Scansione dei dati | Seleziona l’array RAID1 rilevato ed esegui una scansione completa per trovare i dati persi. |
| 7 | Revisiona e recupera | Revisiona i file trovati e seleziona quelli che desideri recuperare. Salvali su un altro disco. |
| 8 | Recupera la macchina virtuale | Trasferisci i dati recuperati indietro sull’ipervisore XCP-ng o ripristinali in una nuova macchina virtuale. |
Come trovare i dischi delle macchine virtuali
Se hai memorizzato molte macchine virtuali sull’ipervisore ed è difficile distinguerle, ci sono alcuni comandi che possono aiutarti. Questo è possibile fintanto che il server è operativo.
Per vedere quali dischi virtuali appartengono a una specifica macchina virtuale, dovresti eseguire alcuni comandi sul server per trovare l’UUID (Universal Unique Identifier) della macchina virtuale, l’UUID del suo disco e l’UUID SR (Universal Unique Identifier del Storage Repository).
Per farlo, connettiti al server via SSH e digita il primo comando:
xe vm-list
Come risultato, avrai trovato l'UUID della macchina virtuale;

Determiniamo l'identificatore della macchina virtuale con Windows 10 e Linux.
Ora puoi usare questo identificatore per visualizzare i dischi collegati, con l'aiuto di questo comando:
xe vm-disk-list uuid= aae7d446-4072-8966-b828-396b63082644
L'ultimo elemento è l'UUID della macchina virtuale.
Come risultato, ottieni l'UUID del disco virtuale che, a sua volta, può essere utilizzato per trovare l'UUID del repository di storage.
xe sr-list name-label=Local storage

Ora che abbiamo l'identificatore del repository, è facile capire a quale macchina virtuale appartengono specifici dischi e potrai identificare tali dischi nell'utilità di recupero dati.
Questo è il nome del disco che ci serve -
8620cbbb-fc1a-2520-e97c-9a66486441fd.VHD
Scansione del disco di una macchina virtuale Windows
Perfetto, ora abbiamo rimosso i dischi dal server e li abbiamo collegati a un computer Windows. Scarica, installa e avvia Hetman RAID Recovery.

Il programma ha ricostruito il sistema RAID dove sono memorizzati i file delle macchine virtuali; di seguito puoi vedere le informazioni che è riuscito a identificare. Poco più in basso, sotto il RAID, sono visualizzati tutti i dischi virtuali delle macchine virtuali; se è difficile capire quale di essi ti serve, cercalo tramite l'identificatore. Nel mio caso ci sono solo due macchine virtuali. Per iniziare, scansioniamo il disco della macchina virtuale Windows.

Fai clic con il pulsante destro del mouse sul disco e seleziona Apri.
Seleziona il tipo di scansione; inizia con la «Scansione rapida». Se la «Scansione rapida» non riesce a trovare i file richiesti, procedi con l'«Analisi completa». Per farlo, torna al menu principale, fai clic con il tasto destro sul disco e scegli «Analizza nuovamente». Devi anche selezionare un file system: scegli NTFS, poiché si tratta di una macchina virtuale con Windows 10, e avvia la scansione.
Quindi naviga nella cartella dove erano memorizzati i file, seleziona i file che vuoi ripristinare, clicca su Recupera, specifica il disco e la cartella in cui desideri salvare i file e clicca nuovamente su Recupera.

Al termine dell'intero processo, troverai i file recuperati nella cartella che hai scelto.
Puoi vedere che il programma non ha difficoltà a trovare i file che erano memorizzati sul disco virtuale. Per facilitare la ricerca, tutti i nostri programmi dispongono dell'opzione di ricerca per nome file. Inoltre, potrai visualizzare in anteprima il contenuto dei file per assicurarti che sia quello che ti serve.
Scansione del disco di una macchina virtuale Linux
Ora vediamo quanto è efficace questo programma nel recuperare file da una macchina virtuale Linux. Apri il disco e scegli Scansione rapida per cominciare. Come puoi vedere, ha trovato i file - tutti i dati che erano memorizzati sul disco della macchina virtuale.

Di conseguenza, il programma è riuscito persino a trovare i file cancellati, e tutto ciò che devi fare è ripristinarli. Hetman RAID Recovery supporta tutti i file system più diffusi, i tipi di RAID e la maggior parte degli ipervisori. Se il sistema RAID in questione è danneggiato, il programma lo ricostruirà automaticamente e ti permetterà di recuperare i dati critici che stai cercando.

Come recuperare i dati manualmente, con il Costruttore RAID
Quando un disco è danneggiato o le informazioni di servizio sono state cancellate, il programma può avere difficoltà a ricostruire il RAID automaticamente; tuttavia, puoi farlo manualmente con il Costruttore RAID se conosci le proprietà di questo array danneggiato.

Apri il Costruttore, seleziona la «Modalità manuale» e compila tutte le informazioni che conosci su questo array di dischi: il tipo di RAID, l'ordine dei blocchi e la dimensione del blocco.
Aggiungi i dischi che facevano parte dell'array, usa le frecce per specificarne l'ordine e sostituisci i dischi mancanti con unità vuote cliccando il pulsante «più». Inoltre, puoi specificare l'offset che aiuta a localizzare l'inizio del disco. A volte il programma può avere difficoltà a identificarlo automaticamente, quindi dovrai inserire manualmente il valore dell'offset.

Di norma, se fornisci le proprietà corrette, il RAID appena costruito avrà almeno una partizione. Espandila per verificare le cartelle di cui hai bisogno. Se le cartelle che cerchi sono visualizzate, allora hai costruito correttamente il RAID.
Quando hai specificato tutte le proprietà che conosci, clicca su «Aggiungi» e l'array apparirà nel Gestore unità.
Per recuperare i dati, l'ultimo passo è eseguire la scansione dell'array, trovare i file che desideri ripristinare, selezionarli e recuperarli nella cartella che scegli.

