Come recuperare ZVOL e container LXC da un array RAIDZ in Proxmox VE

In questo articolo esamineremo il processo di recupero di macchine virtuali archiviate come dispositivi a blocchi ZVOL e contenitori LXC da un array software RAIDZ basato sul file system ZFS, creato in Proxmox Virtual Environment versione 9.1.1.

Come recuperare ZVOL e container LXC da un array RAIDZ in Proxmox VE

Analizzeremo gli scenari di perdita di dati più comuni. Questi includono l’eliminazione accidentale di file importanti all’interno del sistema guest oppure l’eliminazione errata della macchina virtuale stessa o del dataset del contenitore. Prenderemo inoltre in considerazione il recupero dei dati in caso di problemi hardware, come il danneggiamento dell’array causato dal guasto di un’unità o da un malfunzionamento generale del server. Affronteremo anche i guasti software, ad esempio un arresto anomalo dell’hypervisor Proxmox VE causato da aggiornamenti non riusciti, errori critici o corruzione della partizione di sistema.

Mostreremo come rimuovere correttamente i dischi da un array guasto, collegarli direttamente a un PC funzionante, assemblare automaticamente l’array RAIDZ e recuperare i dati.

Il nostro software specializzato consente di recuperare senza problemi i dati da qualsiasi file system guest per Windows, Linux e macOS.

Vai a vedere
Proxmox RAIDZ Recovery: recuperare macchine virtuali e container LXC

Proxmox RAIDZ Recovery: recuperare macchine virtuali e container LXC

Come funziona ZFS in Proxmox

Il file system ZFS in un ambiente Proxmox differisce in modo fondamentale da soluzioni tradizionali come Ext4. Invece di creare una directory standard e collocarvi file di dischi virtuali convenzionali, ZFS è strettamente integrato con l’hypervisor a livello di gestione dello storage. Ciò offre elevate prestazioni e affidabilità, ma cambia completamente l’approccio all’archiviazione e al recupero dei dati.

  • Per le macchine virtuali complete, Proxmox non utilizza le consuete immagini qcow2 o RAW. Il sistema crea per esse speciali dispositivi a blocchi dedicati chiamati ZVOL. Il software di recupero dati non li vede come file separati in una cartella, ma come dischi fisici completi. Questo approccio consente all’hypervisor di lavorare in modo più efficiente con gli snapshot e con l’allocazione delle risorse del server.
  • Per i contenitori LXC leggeri si utilizza un approccio leggermente diverso. Invece di creare dischi virtuali, Proxmox distribuisce ogni contenitore in un proprio dataset ZFS isolato, noto come subvolume. Durante la scansione dell’array, questi dataset appariranno come normali cartelle con all’interno una struttura di directory standard del sistema Linux, dalla quale i file necessari possono essere estratti direttamente.
Caratteristica Macchine virtuali (ZVOL) Contenitori LXC (subvolume)
Metodo di archiviazione Dispositivi a blocchi ZVOL dedicati Dataset ZFS separati
Organizzazione dei dati I dati sono archiviati come dispositivo a blocchi che opera come un’unità indipendente I dati sono organizzati come file system con una gerarchia di directory Linux
Formato del disco virtuale Non vengono utilizzati file immagine qcow2 o RAW standard; vengono invece creati ZVOL Non è richiesto alcun file di disco virtuale separato
Aspetto durante il recupero Come un singolo dispositivo a blocchi, simile a un’unità fisica Come cartelle con file e sottocartelle
Accesso ai file Il contenuto del dispositivo a blocchi deve essere analizzato per determinare la struttura del file system È possibile esplorare la struttura delle directory ed estrarre direttamente i file necessari
Specificità d’uso di ZFS Gestione efficiente dello storage a blocchi e supporto degli snapshot Archiviazione isolata del file system di ciascun contenitore
Oggetto principale del recupero Dischi virtuali e dati all’interno dei ZVOL File, cartelle e dati dei contenitori LXC

Come collegare i dischi del server a un computer

Prima di avviare il recupero software, è necessario collegare correttamente i dischi del server a un computer funzionante. L’opzione più affidabile è una connessione diretta tramite i connettori SATA presenti sulla scheda madre.

Poiché si tratta di unità server, possono utilizzare l’interfaccia SAS. In tal caso, per leggerle su un computer standard è necessario installare un adeguato controller SAS. È possibile utilizzare anche adattatori USB esterni o docking station, ma occorre tenere presente che la velocità di scansione di array di grandi dimensioni tramite USB sarà significativamente inferiore.

Durante il collegamento delle unità, è importante ricordare il numero minimo di dischi richiesto per lavorare con array RAIDZ1. Poiché questa architettura di array riserva spazio per un blocco di parità, il software può ricostruire completamente i dati anche se manca un disco fisico.

Nel nostro caso, il pool originale era composto da tre dischi. Pertanto, per estrarre con successo tutti i dati, sarà sufficiente collegare al computer solo due dischi funzionanti.

Come collegare i dischi del server a un computer

Se non sono disponibili porte sufficienti, la soluzione ottimale consiste nel creare immagini virtuali di alcuni dischi. È possibile collegare direttamente alcuni dischi fisici e utilizzare copie esatte bit per bit degli altri, montate direttamente nell’interfaccia dell’utility.

Il software riconosce tali immagini come dispositivi fisici completi e le utilizza automaticamente per ricostruire la struttura dell’array. Questo metodo garantisce la sicurezza dei dati originali, poiché l’analisi successiva viene eseguita su copie virtuali. Dopo che tutti i componenti del pool sono stati collegati fisicamente o montati come immagini, Hetman RAID Recovery leggerà automaticamente i metadati ZFS e visualizzerà l’array assemblato nella finestra principale, fornendo accesso alla scansione successiva e al salvataggio dei file.

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

Per creare un’immagine, avvia Hetman RAID Recovery, seleziona l’unità richiesta dall’elenco e fai clic su Salva disco.

Hetman RAID Recovery: Creazione di un’immagine del disco

Nella finestra visualizzata, specifica il percorso di salvataggio del file.

Nota che la dimensione dell’immagine sarà pari alla capacità totale dell’unità di origine, indipendentemente da quanto spazio sia effettivamente utilizzato. Pertanto, assicurati in anticipo che l’unità di destinazione disponga di spazio libero sufficiente.

Dopo aver salvato l’immagine, vai al menu principale e seleziona Monta disco.

Hetman RAID Recovery: Montaggio di un’immagine del disco

Nell’elenco dei tipi, seleziona Immagini di dischi RAW e carica il tuo file.

Hetman RAID Recovery: Montaggio di un’immagine disco RAW

Comparirà nell’elenco dei dispositivi insieme alle unità collegate fisicamente. Se ci sono più unità problematiche, ripeti questa procedura per ciascuna di esse.

Dopo che tutti i componenti del pool sono stati collegati fisicamente o montati come immagini, Hetman RAID Recovery leggerà automaticamente i metadati ZFS e visualizzerà l’array assemblato nella finestra principale, fornendo accesso alla scansione successiva e al salvataggio dei file.

Hetman RAID Recovery: Immagine disco montata

Come recuperare i dati da RAIDZ in Proxmox VE

METODO 1. Recupero dati automatico

Dopo aver collegato fisicamente le unità al computer, avvia Hetman RAID Recovery.

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

L’utility inizierà automaticamente la scansione di tutti i dispositivi collegati e leggerà i metadati di servizio del file system ZFS. In base a questi dati, il programma ricostruirà autonomamente l’array RAIDZ danneggiato. Questo processo è completamente automatico e consente di riottenere l’accesso ai dati anche dopo un arresto anomalo critico dell’hypervisor Proxmox o un guasto hardware completo del server.

Hetman RAID Recovery: Array RAIDZ danneggiato

Nella finestra principale verranno visualizzati tutti gli array rilevati. Seleziona il pool assemblato e avvia la modalità Analisi rapida per un’analisi veloce della struttura di archiviazione.

Hetman RAID Recovery: Analisi rapida dell’array RAIDZ

Al termine della scansione, il file system recuperato verrà visualizzato nella finestra principale. Qui è importante comprendere come il programma etichetta i diversi tipi di ambienti virtuali Proxmox. I dispositivi a blocchi delle macchine virtuali complete verranno visualizzati con l’identificatore vm e la parola disk nel nome, e saranno contrassegnati come volumi ZVOL. I dataset isolati dei container LXC verranno mostrati dal programma come normali cartelle con la parola subvol.

Hetman RAID Recovery: Dataset LXC isolati

Per recuperare automaticamente i dati da un contenitore, è sufficiente trovare la cartella con il numero corrispondente del tuo LXC e aprirla.

Poiché i contenitori sono archiviati come dataset del file system, all’interno di questa cartella vedrai la gerarchia standard di directory del sistema Linux. Puoi navigare facilmente tra le directory e cercare i file utente, i database o le configurazioni richiesti. Seleziona gli oggetti da salvare e fai clic sul pulsante Recupero sulla barra degli strumenti.

Hetman RAID Recovery: Recupero dei dati del dataset

Nel passaggio successivo, il programma ti chiederà di specificare un percorso per il salvataggio dei file. Assicurati di scegliere un’unità separata con spazio libero sufficiente per evitare di sovrascrivere i dati originali sui dischi del server. Conferma l’avvio del processo di copia e l’utility trasferirà in modo sicuro i file selezionati dal contenitore al tuo disco locale.

Hetman RAID Recovery: Salvataggio dei dati del dataset

Al termine dell’operazione, tutti i dati recuperati saranno completamente pronti per l’uso senza necessità di montaggio o di altre azioni aggiuntive.

METODO 2. Lavorare con le macchine virtuali (ZVOL)

Il recupero dei dati dalle macchine virtuali complete richiede un approccio diverso. Poiché Proxmox le memorizza non come normali file, ma come dispositivi a blocchi ZVOL dedicati, il programma le gestirà con lo stesso principio usato per le unità fisiche. Per estrarre i dati dal sistema operativo guest, è necessario esportare questo dispositivo a blocchi, montarlo e scansionarlo.

Hetman RAID Recovery: Lavorare con macchine virtuali ZVOL

Durante l’analisi del pool, individua il dispositivo a blocchi ZVOL richiesto e salvalo sul computer utilizzando la funzione Recupero.

Hetman RAID Recovery: Recupero di una macchina virtuale ZVOL

L’utility esporta questo oggetto in formato RAW. Questo formato è una copia esatta bit per bit dei dati e non presenta una struttura interna complessa né compressione. Di conseguenza, offre prestazioni massime ed è l’oggetto più comodo per gli algoritmi di recupero, che possono analizzarlo come un normale disco fisico.

La procedura di montaggio del file salvato è il più semplice possibile. Apri lo strumento di montaggio dischi nel menu superiore del programma. Successivamente, individua il campo per le immagini disco standard e seleziona l’opzione RAW. A questo punto, nella finestra di ricerca, seleziona semplicemente il file salvato della tua macchina virtuale. Il programma lo monterà immediatamente e lo visualizzerà nella schermata principale, preparando completamente il disco virtuale per la scansione finale.

Hetman RAID Recovery: Montaggio di un file ZVOL salvato

Dopo il montaggio riuscito, l’oggetto apparirà nell’elenco dei dispositivi come un’unità standard, pronta per un esame dettagliato del suo contenuto interno. La scelta della modalità di analisi dipende dalla natura della perdita di dati. Se i file sono stati semplicemente eliminati per errore all’interno del sistema guest, l’uso di Analisi rapida sarà sufficiente per visualizzare rapidamente la gerarchia delle directory.

Nei casi più complessi, dopo la formattazione o la modifica della struttura logica delle partizioni, è necessario utilizzare Analisi completa per una ricerca approfondita dei dati. Al termine dell’analisi, potrai visualizzare i file trovati, verificarne l’integrità nella finestra di anteprima e salvare i dati necessari su un dispositivo di archiviazione sicuro.

Hetman RAID Recovery: Scansione di un file ZVOL montato

METODO 3. Recupero dopo l’eliminazione di una macchina virtuale

L’eliminazione di una macchina virtuale o di un contenitore in Proxmox avviene di solito a causa di un errore dell’amministratore. Nel file system ZFS, ciò provoca la scomparsa immediata del dispositivo a blocchi ZVOL o del dataset subvolume. Poiché nel sistema non esiste un cestino, lo spazio liberato diventa immediatamente disponibile per nuove scritture. Tuttavia, i dati rimangono ancora fisicamente sui dischi.

La regola principale in questa situazione è arrestare immediatamente il server e interrompere ogni scrittura sull’array per evitare la sovrascrittura permanente dei dati.

Per recuperare gli oggetti perduti, utilizzeremo nuovamente Hetman RAID Recovery.

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

Seleziona il pool ricostruito e avvia la modalità di analisi approfondita Analisi completa. Questo processo richiede più tempo perché il programma lavora direttamente con i settori del disco, cercando attentamente i componenti frammentati del file system in base alle loro firme.

Hetman RAID Recovery: Analisi completa del pool RAIDZ ricostruito

Al termine della scansione, gli oggetti trovati verranno visualizzati nella finestra del programma.

Hetman RAID Recovery: Oggetti trovati dopo l’analisi completa

Per trovare rapidamente il ZVOL richiesto o il dataset eliminato, è comodo utilizzare la funzione di ricerca. Se stai recuperando un contenitore LXC, cerca le cartelle denominate subvol e verifica il loro contenuto.

Hetman RAID Recovery: Ricerca di una cartella subvol

Per le macchine virtuali complete, il principale riferimento sarà la dimensione del volume ZVOL trovato, soprattutto se il nome originale non è più conservato. I file trovati nei contenitori possono essere verificati immediatamente tramite la finestra di anteprima.

I volumi ZVOL individuati devono solo essere montati direttamente nel programma per un’analisi successiva del loro contenuto.

Dopo aver verificato l’integrità dei dati, seleziona gli elementi richiesti e fai clic sul pulsante Recupero. Specifica il percorso su un dispositivo di archiviazione separato e sicuro con spazio libero sufficiente e attendi il completamento del processo di copia.

Hetman RAID Recovery: Recupero dei file trovati

Conclusione

Il recupero dei dati da un array RAIDZ in Proxmox VE presenta caratteristiche specifiche, perché ZFS utilizza una propria struttura di archiviazione e di gestione dei dati. Le macchine virtuali in un ambiente di questo tipo possono utilizzare ZVOL, presentati come dispositivi a blocchi, mentre i contenitori LXC sono archiviati come distinti dataset ZFS contenenti la struttura файлов del contenitore.

In caso di danneggiamento o perdita dell’accesso a RAIDZ, è importante non ricreare l’array, non formattare le unità e non eseguire operazioni che possano sovrascrivere i dati di servizio ZFS. Per un recupero corretto, è necessario preservare la struttura originale dell’array e, quando possibile, lavorare con copie dei dischi.

Un software specializzato per il recupero dei dati consente di analizzare la struttura ZFS, individuare i dischi virtuali ZVOL, i file system e i dati dei contenitori LXC anche nelle situazioni in cui Proxmox VE o lo stesso array RAIDZ non forniscono più un accesso normale alle informazioni.

In questo modo, l’approccio corretto al recupero consente di accedere sia ai dati delle macchine virtuali memorizzati in ZVOL sia ai file e alle directory dei contenitori LXC, preservandone la struttura originale. Ciò è particolarmente importante dopo il guasto di un’unità, la corruzione del pool ZFS, l’eliminazione accidentale dei dati o errori critici di Proxmox VE.

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.

Michał Mirosznyczenko

Editore: , Scrittore tecnico

Michał Mirosznyczenko jest jednym z czołowych programistów firmy Hetman Software. Bazując na piętnastoletnim doświadczeniu w tworzeniu oprogramowania, dzieli się swoją wiedzą z czytelnikami naszego bloga. Oprócz programowania Michał jest ekspertem w dziedzinie odzyskiwania danych, systemów plików, urządzeń do przechowywania danych i macierzy RAID.