Come recuperare i dati da un NAS Synology dopo un guasto durante la migrazione da RAID 1 a RAID 5?
Immaginate di aggiungere un disco a un NAS Synology e di avviare la migrazione da RAID 1 a RAID 5 per aumentare la capacità di archiviazione. Ma durante la ricostruzione l’alimentazione viene improvvisamente interrotta e il NAS si spegne. Dopo il ripristino dell’alimentazione, risulta che uno dei dischi originali non viene più rilevato e non è possibile accedere ai file. Cosa fare se non esiste alcun backup aggiornato dei dati necessari? I file possono essere recuperati dai due dischi sopravvissuti se la migrazione al nuovo livello RAID non è mai stata completata?

- FASE 1. Ambiente di test
- FASE 2. Collegamento dei dischi a un computer Windows
- FASE 3. Risultati dell’analisi RAID 5
- FASE 4. Ricostruzione manuale del RAID
- FASE 5. Determinazione dell’offset di inizio dei dati
- FASE 6. Rilevamento automatico dei parametri RAID
- FASE 7. Ricerca dei dati nella configurazione RAID 1 originale
- Conclusione
- Domande frequenti
- Commenti
La migrazione di un array su un Synology NAS da RAID 1 a RAID 5 di solito si completa senza perdita di dati. Tuttavia, un’interruzione di alimentazione, errori del disco o un’interruzione del processo possono causare il degrado dello storage o la completa inaccessibilità. In una situazione del genere, la cosa principale è evitare azioni affrettate che potrebbero complicare il recupero. In questo articolo esamineremo come valutare correttamente lo stato di un array RAID Synology dopo una migrazione di emergenza e quali metodi possono aiutare a ripristinare l’accesso ai dati.
Recupero dati da Synology NAS dopo un errore di migrazione da RAID 1 a RAID 5
FASE 1. Ambiente di test
Per il test abbiamo utilizzato un dispositivo di archiviazione di rete Synology DS409 con DSM 4.2 e tre dischi rigidi, ciascuno con capacità di 320 gigabyte.
Inizialmente, due dischi sono stati combinati in RAID 1 — un array mirror in cui i dati vengono duplicati su entrambi i dischi. Su di esso è stato creato un volume con file system Ext4 e sono stati scritti circa 110 gigabyte di dati di prova: documenti, foto, video e archivi. I file sono stati collocati in directory con più livelli di annidamento, in modo da poter verificare successivamente sia l’integrità del contenuto sia la struttura delle cartelle.

Successivamente il terzo disco è stato aggiunto all’array e, tramite Storage Manager, è stata avviata la modifica del livello RAID da RAID 1 a RAID 5.
Questa migrazione consente di aumentare la capacità di archiviazione disponibile mantenendo la protezione contro il guasto di un singolo disco al termine dell’operazione con successo.

Quando l’indicatore di ricostruzione ha mostrato il 29,55 percento, l’alimentazione del NAS è stata scollegata intenzionalmente senza uno spegnimento corretto. Dopo di ciò, uno dei due dischi originali RAID 1 è stato rimosso, simulandone la completa inaccessibilità.

Di conseguenza, sono rimasti disponibili per il recupero due dischi: un disco del mirror originale e il terzo disco aggiunto per il passaggio a RAID 5. La ricostruzione non è stata completata, quindi una parte dei dati era già stata spostata, mentre il resto era ancora memorizzato secondo lo schema precedente. Questi due dischi saranno utilizzati nelle fasi successive.

FASE 2. Collegamento dei dischi a un computer Windows
Passiamo a un computer Windows con Hetman RAID Recovery installato.
Colleghiamo i due dischi sopravvissuti tramite una stazione docking USB:
- uno dei dischi originali RAID 1;
- il disco aggiunto per il passaggio a RAID 5.
Il secondo membro del mirror originale non è disponibile nel nostro test.
Avviamo il programma. Nella sezione RAID Arrays, vediamo l’array rilevato automaticamente DiskStation:2.

Lo selezioniamo e verifichiamo le informazioni nel pannello Preview a destra. Il programma ha identificato il tipo RAID 5, l’ordine dei blocchi Left Synchronous e una dimensione del blocco di 64 kilobyte.

Sotto, nell’elenco RAID Disks, possiamo vedere i due dischi collegati e una posizione Empty disk corrispondente al membro mancante. Per entrambi i dischi disponibili è specificato lo stesso offset di inizio dei dati — torneremo su questo parametro durante la ricostruzione manuale.
L’elenco contiene anche due piccoli array RAID 1 di circa 2,37 e 2 gigabyte. Corrispondono alle aree di sistema Synology.
Questi array non devono essere confusi con il mirror originale che conteneva i nostri file di test.

Il RAID 1 originale con i dati utente non viene più visualizzato separatamente.
FASE 3. Risultati dell’analisi RAID 5
Verifichiamo cosa è disponibile tramite la configurazione RAID 5 rilevata automaticamente. Per farlo, apriamo il volume Ext4 in questo array facendo doppio clic. Nella procedura guidata di analisi, selezioniamo Fast scan e facciamo clic su Next per avviare la ricerca dei file.

La porzione disponibile dei dati di test: dopo l’analisi di RAID 5, il programma ha trovato 390 cartelle e 8.239 file. Nei risultati possiamo vedere la cartella My Data e le directory annidate con i file di test. Parte della struttura originale è stata preservata: il programma mostra i nomi delle cartelle e dei file e le rispettive posizioni.

Quindi, anche con due membri disponibili dell’array interrotto, è stato possibile leggere parte del suo contenuto. Per salvare i file necessari, selezionarli, fare clic su Recovery e specificare una cartella su un’unità separata che non faccia parte dell’array in fase di recupero, per evitare la sovrascrittura dei dati di origine.

Tuttavia, non tutti i file scritti prima del test sono presenti nei risultati. Prima della migrazione, i dati erano memorizzati su due dischi come copie mirrorate. Durante il passaggio a RAID 5, il sistema ha modificato gradualmente il layout dei blocchi, distribuendolo su tre dischi e creando la parità.
Di conseguenza, sui dischi sopravvissuti sono rimaste aree con diversa organizzazione dei dati. Il layout RAID 5 corrisponde alla collocazione dei blocchi nelle aree già ricostruite, mentre la precedente organizzazione RAID 1 rimane nel resto, anche se il mirror stesso non viene più rilevato automaticamente.
Pertanto, l’assenza di un file in questi risultati non prova ancora che il suo contenuto sia completamente perso.
FASE 4. Ricostruzione manuale del RAID
Nel nostro caso, il programma ha identificato automaticamente RAID 5 e i relativi parametri. Ma cosa succede se la configurazione deve essere specificata manualmente o alcune impostazioni sono sconosciute? A questo scopo, Hetman RAID Recovery include il RAID Constructor. Usando come esempio il RAID 5 rilevato, esaminiamone le funzionalità e poi utilizziamo questo strumento per ricostruire l’originale RAID 1.

Apriamo il RAID Constructor, selezioniamo RAID 5 e aggiungiamo i due dischi disponibili. Il membro mancante è contrassegnato come Empty disk. In questo modo otteniamo tre posizioni corrispondenti alla composizione dell’array durante la migrazione.

Nelle configurazioni RAID 5 che abbiamo testato su Synology, l’ordine dei blocchi Left Synchronous e la dimensione del blocco di 64 kilobyte erano frequentemente presenti, quindi utilizzeremo questa combinazione nel constructor. Nel nostro caso, corrisponde anche ai parametri dell’array rilevato automaticamente.

Tuttavia, questi valori non sono universali: per un altro insieme di dischi o per un altro dispositivo di archiviazione, devono essere verificati separatamente, tenendo conto della configurazione dell’array e della cronologia delle modifiche.
Separatamente, è necessario specificare l’offset di inizio dei dati per ciascun disco, quindi prima esamineremo dove trovarlo e come calcolarlo.
FASE 5. Determinazione dell’offset di inizio dei dati
L’offset indica quale porzione iniziale del disco deve essere saltata prima di leggere i blocchi dell’array utente. Nel diagramma del disco fisico possiamo vedere le partizioni di sistema Synology e la partizione utilizzata per memorizzare i nostri file. In questo test, essa inizia al settore 9.437.184. Questo è il nostro punto di riferimento. I dati RAID iniziano leggermente più avanti, perché all’inizio della partizione c’è spazio riservato alle informazioni di sistema.

Apriamo il disco fisico nell’HEX Editor. Per andare all’inizio della partizione richiesta, convertiamo prima il suo settore iniziale in un indirizzo byte. Con la calcolatrice, moltiplichiamo 9.437.184 per la dimensione del settore — 512 byte. Il risultato è 4.831.838.208 byte. Convertiamo il risultato in esadecimale e andiamo a questo indirizzo nell’editor.

Dalla posizione corrente, avviamo una ricerca in avanti. Selezioniamo la ricerca esadecimale e inseriamo la firma FC 4E 2B A9. Ciò consente di saltare le partizioni di sistema iniziali Synology e cercare il superblocco EXT nella partizione contenente i nostri file.

La corrispondenza richiesta viene trovata all’indirizzo 120001000. Nelle vicinanze, nella parte testuale dell’editor, possiamo vedere il nome DiskStation:2. La sola firma non è sufficiente, poiché una sequenza di byte del genere può comparire anche all’interno di altri dati.

Ora individuiamo il campo data_offset, che indica l’offset di inizio dei dati RAID all’interno della partizione. In questo formato di superblocco, si trova a 128 byte dall’inizio e occupa otto byte. Nel nostro caso, sono i primi otto byte della riga all’indirizzo 120001080.

Il valore è memorizzato in ordine little-endian. Nella notazione standard, questo numero è 800 in formato esadecimale. Inserirlo nella calcolatrice e passare alla modalità decimale — il risultato è 2048 settori. Questa è la distanza dall’inizio della partizione all’inizio dei dati RAID. Pertanto, aggiungiamo 2048 al settore iniziale della partizione. Otteniamo 9.439.232 settori. Moltiplicando per 512 byte, l’offset finale dall’inizio del disco fisico è 4.832.886.784 byte. Corrisponde al valore nelle proprietà del RAID 5 rilevato automaticamente.

FASE 6. Rilevamento automatico dei parametri RAID
Torniamo al RAID Constructor e specifichiamo l’offset determinato per ciascun disco disponibile. Ora possiamo utilizzare il rilevamento automatico dei parametri sconosciuti.

Se la dimensione del blocco o l’ordine dei blocchi non sono noti, è possibile selezionare Detect automatically nei campi Block size e Block order. Per determinare l’ordine dei membri, è disponibile una specifica opzione Detect the disk order automatically. Ad esempio, possiamo lasciare RAID 5, Left Synchronous e una dimensione del blocco di 64 kilobyte, ma consentire al programma di determinare l’ordine dei dischi.
Dopo essere passati alla fase successiva, il programma inizia a cercare configurazioni che corrispondano alle condizioni specificate. Le opzioni trovate vengono visualizzate in un elenco. Selezionare la configurazione richiesta e fare clic su Add.

Dopodiché, il RAID assemblato apparirà nella schermata principale del programma, dove potrà essere aperto per l’analisi e la ricerca dei file.

Ora utilizziamo il constructor per un altro compito — verificheremo il disco sopravvissuto del mirror originale in una configurazione RAID 1.
FASE 7. Ricerca dei dati nella configurazione RAID 1 originale
Torniamo al RAID Constructor e selezioniamo RAID 1. Aggiungiamo il disco sopravvissuto del mirror originale e contrassegniamo il membro mancante come Empty disk.

Specifichiamo l’offset di inizio dei dati verificato. Questo indica al programma come leggere i dati secondo lo schema precedente. Si tratta di una ricostruzione virtuale per l’analisi: non annulla la migrazione né ripristina i dischi allo stato precedente all’incidente.

Il RAID 1 assemblato apparirà nella schermata principale del programma.

Lo apriamo con un doppio clic e selezioniamo Full analysis nella procedura guidata di analisi. Specifichiamo il file system Ext4 e avviamo l’analisi.

Al termine, il programma ha trovato 979 cartelle e 14.049 file. Per confronto, dopo il Fast scan della configurazione RAID 5, abbiamo ottenuto 390 cartelle e 8.239 file. Questi numeri non indicano il numero di file validi univoci: i risultati possono contenere duplicati e richiedono verifica.

Esaminiamo i dati trovati. La struttura originale delle directory non è stata ricostruita completamente e alcuni degli oggetti trovati si trovano in Lost and Found.

Il ripristino dell’albero delle cartelle richiede la presenza delle strutture di metadati del file system e delle relazioni tra di esse. Dopo una migrazione interrotta, i dati di un singolo file possono essere leggibili nella configurazione selezionata, mentre i record che lo collegavano alla directory originale possono non essere disponibili. Pertanto, l’assenza di una cartella familiare non significa necessariamente che tutto il suo contenuto sia perso.
Per trovare più rapidamente i file richiesti, utilizzate la funzione Find File. Nella finestra di ricerca, inserite il nome completo o una sua parte e fate clic su Find. Se necessario, potete abilitare la ricerca con distinzione tra maiuscole e minuscole o limitare la ricerca alle sole corrispondenze di parole intere.

Esaminiamo alcuni file in diversi formati, inclusi quelli trovati tramite ricerca. Nella finestra Preview verifichiamo immagini, contenuti di documenti e altri file disponibili per l’anteprima. Ciò consente di identificare i dati richiesti e valutarne il contenuto prima del salvataggio.
Conclusione
In questo test abbiamo esaminato la perdita di un disco dopo una migrazione interrotta di Synology da RAID 1 a RAID 5. Hetman RAID Recovery ha rilevato automaticamente RAID 5 in base ai metadati preservati, ma tramite questa configurazione era disponibile solo una parte dei dati originali.
Abbiamo quindi analizzato anche il disco sopravvissuto del mirror originale come RAID 1. Nei risultati abbiamo trovato file il cui contenuto può essere visualizzato, anche se la struttura delle directory non è stata ricostruita completamente.
Questo caso mostra perché, dopo una migrazione incompleta, è importante considerare la configurazione precedente dell’array: i metadati attuali non descrivono necessariamente la posizione di tutti i dati sui dischi.
Un backup aggiornato semplifica notevolmente il recupero dopo un incidente. Se non è disponibile, l’analisi dei dati preservati può aiutare a recuperare almeno una parte dei file — ed è esattamente lo scenario che abbiamo esaminato qui.

