Come recuperare i dati da array RAID 0, RAID 5 e RAID 6 gestiti da mdadm e creati in OpenMediaVault
In questo articolo esamineremo il processo di recupero dati da array mdadm RAID 0, 5 e 6 creati nel sistema operativo OpenMediaVault 8.2.8. Analizzeremo gli scenari di perdita di dati più comuni: cancellazione accidentale di file tramite i protocolli di rete SMB, NFS o FTP, corruzione dei dati dovuta al guasto di uno o più dischi, guasto dell’hardware del server o del NAS, nonché malfunzionamenti software del sistema operativo OpenMediaVault causati da aggiornamenti o bug critici.

- Capacità di OpenMediaVault
- PASSO 1. Numero di dischi necessari per il recupero
- PASSO 2. Collegamento dei dischi al computer
- PASSO 3. Lavorare con le immagini dei dischi
- PASSO 4. Rilevamento automatico del RAID
- PASSO 5. Costruzione manuale del RAID
- Conclusione
- Domande e risposte
- Commenti
OpenMediaVault è un sistema operativo popolare per la creazione di server NAS domestici e aziendali basati su Linux. Per fornire tolleranza ai guasti e migliorare le prestazioni utilizza RAID software implementato tramite l’utilità mdadm. Più spesso gli utenti creano array RAID 0, RAID 5 e RAID 6, che permettono di combinare più dischi in un unico pool di archiviazione e di proteggere i dati dai guasti dei dischi.
Tuttavia, anche gli array RAID affidabili non sono immuni alla perdita di dati. Il guasto di uno o più dischi, il malfunzionamento del controller, la corruzione del filesystem, errori durante la riconfigurazione dell’array o la cancellazione accidentale di informazioni possono portare alla perdita di accesso ai file importanti.
In questo articolo descriveremo come recuperare i dati da array software mdadm RAID 0, RAID 5 e RAID 6 creati su OpenMediaVault. Imparerai le cause tipiche di perdita dei dati, come collegare correttamente i dischi a un computer e utilizzare software specializzato per ripristinare la struttura dell’array e recuperare le informazioni perse.
Ripristino dati da RAID 0, 5 e 6 creati su Infortrend ESDS 1012 RC
Capacità di OpenMediaVault
OpenMediaVault è un sistema operativo open source progettato specificamente per la creazione di storage connesso in rete (NAS). È basato su Debian Linux e si rivolge a utenti domestici e piccole imprese che necessitano di una soluzione di archiviazione di rete semplice, affidabile e flessibile. Il sistema è gestito tramite una comoda interfaccia web, pertanto non è richiesta una profonda conoscenza di Linux o esperienza da riga di comando per la configurazione.

Il vantaggio principale di questo sistema operativo è la gestione del disco potente e flessibile. OpenMediaVault include supporto integrato per la gestione del RAID software tramite l’utilità mdadm, che consente di creare configurazioni tolleranti ai guasti o ad alte prestazioni come RAID 0, 1, 5 e 6. I meccanismi di monitoraggio integrati S.M.A.R.T. forniscono un controllo continuo dello stato fisico dei dischi, segnalando in anticipo potenziali problemi hardware.
La caratteristica principale degli array software basati su mdadm è la loro elevata portabilità e completa indipendenza dall’hardware. Poiché l’architettura RAID — in particolare i livelli 0, 5 o 6 — è implementata interamente dal software del sistema operativo, tali array non sono strettamente vincolati a un controller RAID specifico o alla scheda madre del dispositivo NAS.
| Caratteristica | OpenMediaVault |
|---|---|
| Tipo di sistema | Sistema operativo open source per NAS |
| Piattaforma base | Debian Linux |
| Licenza | Open Source (GPLv3) |
| Architetture CPU | x86, x86-64, ARM |
| Gestione | Interfaccia web |
| Filesystem supportati | EXT2, EXT3, EXT4, XFS, JFS, Btrfs, ZFS (tramite plugin) |
| Supporto RAID | JBOD, RAID 0, RAID 1, RAID 5, RAID 6, RAID 10 |
| Tipo di RAID | RAID software basato su mdadm |
| Protocolli di rete | SMB/CIFS, NFS, FTP, SFTP, SSH, Rsync, WebDAV |
| Supporto Docker | Sì |
| Virtualizzazione | Tramite plugin e container Docker |
| Gestione utenti e gruppi | Supportata |
| Controllo accessi | ACL e permessi POSIX |
| Monitoraggio dischi | Test S.M.A.R.T. |
| Notifiche | Notifiche via email |
| Supporto UPS | Sì |
| Capacità di backup | Rsync, Time Machine, plugin di backup |
| Supporto plugin | Sì, tramite OMV-Extras |
| Crittografia disco | LUKS |
| Supporto SSD TRIM | Sì |
| Amministrazione remota | Tramite interfaccia web e SSH |
| Requisiti minimi RAM | 1 GB minimo (2 GB o più raccomandati) |
| Dispositivi di archiviazione supportati | HDD, SSD, NVMe e unità USB |
PASSO 1. Numero di dischi necessari per il recupero
Prima di iniziare il recupero è importante capire quanti dischi dell’array devono essere presenti e in buone condizioni di funzionamento.
- RAID 0 richiede almeno due dischi ed è l’unico livello trattato che non offre ridondanza. I dati vengono scritti in blocchi sequenziali su tutti i dischi dell’array, offrendo elevate prestazioni di lettura e scrittura. Tuttavia, lo svantaggio di questa architettura è la completa mancanza di protezione: il guasto di un singolo disco rende immediatamente l’array illeggibile e tutti i dati inaccessibili.
- RAID 5 è una soluzione più protetta e richiede almeno tre dischi. Oltre ai dati stessi, il sistema scrive blocchi di parità distribuiti uniformemente tra tutti i dischi dell’array. In caso di guasto di un singolo disco, questi blocchi di parità vengono usati per ricostruire matematicamente le informazioni perse basandosi sui dati dei dispositivi rimanenti sani. In tal modo l’array rimane pienamente operativo fino alla sostituzione del disco guasto.
- RAID 6 è il livello più resiliente trattato e richiede almeno quattro dischi. A differenza del RAID 5, qui vengono calcolati e memorizzati due insiemi indipendenti di checksum, consentendo all’array di tollerare il guasto simultaneo di due dischi senza perdere l’accesso ai dati. Questa caratteristica rende RAID 6 una scelta ottimale per ambienti in cui l’affidabilità dello storage è una priorità.

PASSO 2. Collegamento dei dischi al computer
I dischi possono essere collegati a un computer in diversi modi a seconda dell’hardware disponibile.
L’opzione più semplice e affidabile è il collegamento tramite SATA direttamente alla scheda madre. Questo fornisce la massima velocità di trasferimento dati e la minima latenza durante le operazioni di lettura.
Se sulla scheda madre non ci sono porte SATA sufficienti, è possibile utilizzare un adattatore PCIe-SATA per collegare contemporaneamente quattro o più dischi.
Per un collegamento rapido senza aprire il case, sono comodi docking station esterni USB o adattatori SATA-USB. Tuttavia, questa opzione offre velocità di trasferimento dati inferiori, che possono risultare evidenti quando si lavora con grandi volumi di dati.

PASSO 3. Lavorare con le immagini dei dischi
Particolare attenzione va riservata al lavoro con le immagini dei dischi. Questo approccio è particolarmente rilevante quando i dischi sono danneggiati fisicamente o esiste il rischio di ulteriore degrado.
In situazioni in cui è tecnicamente impossibile collegare tutti i dischi necessari per il recupero a un computer contemporaneamente, per esempio a causa della mancanza di porte libere, è possibile utilizzare il metodo di creazione delle loro immagini.
Puoi collegare i dischi al sistema uno per uno, creare immagini da essi e quindi caricare tutti i file risultanti nell’applicazione Hetman RAID Recovery. L’utilità lavorerà con le immagini montate esattamente come con dischi fisici reali, permettendoti di ricostruire completamente un array virtuale ed estrarre le informazioni necessarie da esso.
Per creare un’immagine, avvia l’applicazione, seleziona il disco desiderato dall’elenco e clicca su Salva disco. Nella finestra di dialogo che appare specifica la destinazione per il file.

Nota che la dimensione dell’immagine sarà pari alla capacità totale del disco di origine indipendentemente da quanto spazio dati effettivo contiene. Pertanto, assicurati in anticipo che lo storage di destinazione disponga di spazio libero sufficiente.
Una volta salvata l’immagine, vai al menu principale e seleziona Monta disco. Nell’elenco dei tipi scegli Immagini disco raw e carica il file.

Essa apparirà nell’elenco dei dispositivi accanto ai dischi fisicamente collegati.
Se sono presenti più dischi problematici, ripeti questa procedura per ciascuno di essi.
Dopo che tutti i componenti dell’array sono presenti nel sistema, sia fisicamente sia come immagini, il programma rileverà automaticamente la configurazione RAID e ne mostrerà la struttura pronta per l’analisi e il recupero.

PASSO 4. Rilevamento automatico del RAID
Consideriamo un algoritmo di azione per gli scenari di perdita dati più comuni. Inizieremo dai guasti hardware — spegnimento completo dell’hardware del server, guasto di componenti interni o danno a singoli dischi dell’array. Queste situazioni sono quelle che più frequentemente fanno sì che il sistema operativo smetta di vedere l’array e comportano la perdita completa dell’accesso ai dati.
In questa categoria rientrano anche i guasti critici dello stesso OpenMediaVault — situazioni in cui il sistema non si avvia o funziona in modo errato dopo un aggiornamento o un errore di sistema. In tali circostanze l’unico modo per accedere ai dischi è collegarli a un altro computer, bypassando l’ambiente danneggiato.
Un gruppo separato è costituito dagli errori dell’utente. Il più tipico è la cancellazione accidentale di file usando Shift + Delete, che rimuove definitivamente i dati senza spostarli nel Cestino. Sebbene tale perdita appaia irreversibile, nella maggior parte dei casi le informazioni possono essere recuperate con software specializzato perché i dati rimangono fisicamente sul disco fino a essere sovrascritti da nuovi file.
Per affrontare questi problemi utilizzeremo Hetman RAID Recovery — software specializzato progettato per la ricostruzione automatica e manuale di array danneggiati e l’estrazione sicura dei file.
Il principale vantaggio di questo strumento è che consente il recupero con successo anche in assenza completa del server NAS originale o della scheda madre su cui l’array è stato creato.
L’utilità è multipiattaforma e pienamente funzionale in ambienti Linux e macOS. In questo video eseguiremo l’operazione di recupero utilizzando il sistema operativo Windows 11.
Passiamo a una dimostrazione pratica di recupero dopo un guasto hardware del server usando come esempio un array RAID 5 composto da tre dischi. Per RAID 0 e RAID 6 la procedura è completamente identica, quindi i passaggi descritti sono universali per tutte le configurazioni supportate.
Dopo aver collegato fisicamente i dischi rimossi a un computer basato su Windows 11, apri innanzitutto l’utilità di sistema Gestione disco. Verifica che tutti i dischi siano rilevati dal sistema a livello hardware.
Estremamente importante: se Windows suggerisce di inizializzare o formattare questi dischi — rifiuta questa azione. Qualsiasi inizializzazione sovrascriverà i metadati e causerà danni irreversibili alla struttura del tuo array.

Dopo che la ricostruzione automatica è completata il programma mostrerà l’array nella schermata principale indicando il tipo, la dimensione totale e il filesystem.

Per iniziare la ricerca dei dati, seleziona uno qualsiasi dei dischi di questo array e avvia la modalità Scansione rapida. Il programma analizzerà i metadati e le directory del filesystem, rileverà gli elementi persi e valuterà il loro stato.

Al termine la schermata mostrerà tutto il contenuto dell’array disponibile per il recupero e la funzione di anteprima permetterà di verificare l’integrità dei file trovati. Per completare il processo seleziona i file richiesti e clicca su Recupero nel menu principale.

Specifica la destinazione su un altro disco sano e conferma l’azione. Il programma preservarà la struttura originale delle cartelle e gli attributi dei file. Al termine della copia clicca su Fine — i dati recuperati saranno disponibili per l’uso successivo.

Se il programma non è in grado di riconoscere automaticamente l’array o il risultato della Scansione rapida è insufficiente, usa la Scansione completa, che esegue un’analisi più approfondita con la possibilità di specificare manualmente i filesystem utilizzati nell’array.
PASSO 5. Costruzione manuale del RAID
I guasti durante l’espansione dell’array, la cancellazione della configurazione o l’inizializzazione accidentale dei dischi durante l’installazione di un nuovo sistema operativo solitamente portano a danni critici ai superblock. Poiché i metadati di servizio vengono cancellati, il rilevamento automatico della struttura di storage diventa impossibile. In tali casi complessi è necessario utilizzare il modulo RAID Constructor integrato in Hetman RAID Recovery.
Questo strumento permette di ricreare manualmente la geometria esatta dell’array. Puoi specificare autonomamente i parametri chiave: l’ordine corretto dei dischi, la dimensione dello stripe, l’offset di inizio dati e il tipo di algoritmo di parità. Ricostruendo manualmente l’array il programma ignora le informazioni di servizio danneggiate e assembla virtualmente il volume logico direttamente dai resti del filesystem, permettendo l’estrazione dei dati anche dopo una sovrascrittura parziale.
Consideriamo un esempio pratico di recupero di un array RAID 6 di quattro dischi in cui due dischi sono guasti simultaneamente o l’array è stato formattato accidentalmente. RAID 6 è stato progettato specificamente per tali situazioni — la parità doppia consente il recupero anche quando due dischi sono persi contemporaneamente. Tuttavia, il successo del recupero dipende direttamente dall’accuratezza nel riprodurre la configurazione originale dell’array, perché in tali casi il programma potrebbe non essere in grado di rilevare automaticamente la struttura.

Per la ricostruzione in questa situazione utilizza il RAID Constructor in modalità manuale dove dovrai specificare l’ordine dei dischi, la dimensione dello stripe e i parametri di parità.

Per RAID 5 la sequenza di lavoro con il RAID Constructor è simile, ma tollera la perdita di un solo disco. Nel caso di RAID 0 il recupero dopo la perdita di qualsiasi disco tramite metodi software è impossibile perché questo livello non contiene ridondanza.
Per operare in modalità manuale il RAID Constructor richiede la conoscenza preliminare dei parametri di base dell’array. Nel nostro esempio vengono utilizzati i seguenti valori:
- tipo di layout dello stripe – Left Synchronous P+Q,
- dimensione dello stripe – 512 KB,
- dimensione del settore – 512 byte.

Questi parametri sono specifici per ciascuna configurazione e possono differire a seconda delle impostazioni usate quando l’array è stato creato in OpenMediaVault. Se i valori esatti sono sconosciuti possono essere determinati per tentativi direttamente all’interno del programma; il RAID Constructor permette di iterare le opzioni e valutare i risultati prima di avviare una scansione completa.
Nella finestra del constructor sposta i dischi richiesti dal pannello Dischi disponibili alla lista Dischi selezionati. È essenziale mantenere rigorosamente il loro ordine hardware originale, altrimenti l’array logico verrà assemblato in modo errato e il recupero dei file risulterà impossibile.

Se un particolare disco è fisicamente assente o illeggibile, usa la funzione Aggiungi disco vuoto. Il disco virtuale vuoto creato deve essere posizionato esattamente nella posizione in cui si trovava il disco mancante. Questo permette agli algoritmi del programma di calcolare correttamente i frammenti di dati mancanti a partire dai media funzionanti rimanenti.
In alcune configurazioni dell’array i dati effettivi del filesystem non iniziano all’inizio del disco ma con un offset — un certo numero di byte occupati da un’area di servizio. Se questa informazione è danneggiata o mancante, il programma non può determinare automaticamente dove inizia il filesystem e richiede l’inserimento manuale di questo valore.
Il parametro si chiama Offset e indica la posizione esatta di inizio dei dati sul disco. Se viene inserito in modo errato o lasciato vuoto, il programma o non rileverà affatto il filesystem o mostrerà una struttura di directory errata con file mancanti.
Nel nostro esempio il valore di Offset è 135 266 304 byte — questo numero deve essere inserito manualmente per ogni disco fisico durante la ricostruzione dell’array nel RAID Constructor.

Se alcuni parametri dell’array sono sconosciuti, possono essere determinati direttamente per tentativi nel programma. La finestra di anteprima è la guida: i valori selezionati correttamente produrranno una partizione con filesystem rilevato e una struttura di directory leggibile. Questa è l’indicazione principale che la logica dell’array è stata riprodotta correttamente.
Per semplificare questo processo il programma fornisce la funzione Rileva automaticamente. Essa itera automaticamente le possibili combinazioni di parametri — ordine dei dischi, dimensione dello stripe e offset — e determina la configurazione più probabile.

Questa modalità è indispensabile quando tutte le informazioni tecniche sull’array sono completamente perse. La scansione e la verifica di milioni di combinazioni richiedono solitamente molto più tempo rispetto all’inserimento manuale di parametri semplici.
La durata totale di questa operazione dipende direttamente dalle capacità dei dischi e dalle prestazioni del tuo PC. Tuttavia, l’attesa è pienamente giustificata dalla massima probabilità di successo nel recupero dei dati negli scenari di distruzione dello storage più complessi.
Dopo aver inserito tutti i parametri clicca su Aggiungi — l’array apparirà nella schermata principale del programma e sarà pronto per la scansione e il recupero dei file.

Una volta che l’array ricostruito appare nell’elenco dei dispositivi puoi procedere alla scansione. A seconda della causa della perdita di dati — guasto di configurazione, guasto del disco o sovrascrittura accidentale dei metadati dell’array — inizia con la Scansione rapida. Il programma analizzerà rapidamente i metadati del filesystem e mostrerà la struttura di cartelle e file esistente.

Prima di avviare il recupero utilizza la funzione di Anteprima per assicurarti della leggibilità e dell’integrità dei file richiesti.
Se il risultato della Scansione rapida è insoddisfacente o il filesystem è gravemente danneggiato, esegui la Scansione completa. Questa modalità effettua un’analisi approfondita dell’intero spazio dell’array e può trovare file anche in casi complessi.
Al termine della scansione seleziona le cartelle e i file che desideri ripristinare e clicca su Recupero.
[blog_img src=”/uk/pic/blog/a29/recover-raid6-files.jpg” alt=”Hetman RAID Recovery: salvataggio dei dati recuperati dall’array RAID”>Nella finestra di dialogo specifica il percorso di salvataggio su un disco separato e conferma l’azione cliccando nuovamente su Recupero. Dopo il completamento dell’operazione il programma segnalerà l’avvenuto recupero dei dati.
Conclusione
Nonostante l’elevata affidabilità degli array RAID software basati su mdadm utilizzati in OpenMediaVault, essi non offrono una protezione assoluta contro la perdita di dati. Il guasto di uno o più dischi, il danneggiamento dei metadati dell’array, errori durante la ricostruzione del RAID o la cancellazione accidentale di file possono rendere le informazioni inaccessibili.
Nella maggior parte dei casi i dati di array RAID 0, RAID 5 e RAID 6 creati su OpenMediaVault possono essere recuperati con successo. I punti chiave sono: non scrivere nuovi dati sui dischi, collegare correttamente tutti i dischi a un computer e utilizzare strumenti specializzati in grado di rilevare automaticamente i parametri degli array mdadm e ripristinarne la struttura.
Azioni tempestive e corrette aumentano significativamente le probabilità di recupero riuscito dei dati. Backup regolari dei dati importanti restano il modo più efficace per proteggersi dalle conseguenze di qualsiasi guasto o malfunzionamento hardware.

