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?

Come recuperare i dati da un NAS Synology dopo un guasto durante la migrazione da RAID 1 a RAID 5?

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.

Vai a vedere
Recupero dati da Synology NAS dopo un errore di migrazione da RAID 1 a RAID 5

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.

Synology DS409 in esecuzione con DSM 4.2

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.

Synology DS409: la modifica del livello RAID da RAID 1 a RAID 5 è stata avviata in Storage Manager

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à.

Synology DS409: uno dei due dischi RAID 1 è stato rimosso, simulandone l’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.

Synology DS409: due dischi sono rimasti disponibili per il recupero

FASE 2. Collegamento dei dischi a un computer Windows

Passiamo a un computer Windows con Hetman RAID Recovery installato.

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

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.

Hetman RAID Recovery: 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.

Hetman RAID Recovery: informazioni dell’array DiskStation:2 nel pannello Preview a destra

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.

Hetman RAID Recovery: due piccoli array RAID 1

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.

Hetman RAID Recovery: Fast scan selezionato nella procedura guidata di analisi

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.

Hetman RAID Recovery: cartella My Data e directory annidate con file di test

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.

Hetman RAID Recovery: per salvare i file necessari, selezionarli e fare clic su Recovery

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.

Hetman RAID Recovery: RAID Constructor

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.

Hetman RAID Recovery: il disco mancante è contrassegnato come Empty disk

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.

Hetman RAID Recovery: ordine dei blocchi Left Synchronous e dimensione del blocco di 64 kilobyte

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.

Hetman RAID Recovery: apertura del disco fisico nell’HEX Editor

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.

Hetman RAID Recovery: conversione del settore iniziale in un indirizzo byte

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.

Hetman RAID Recovery: ricerca esadecimale della firma FC 4E 2B A9

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.

Hetman RAID Recovery: la corrispondenza richiesta viene trovata all’indirizzo 120001000

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.

Hetman RAID Recovery: offset di inizio dei dati RAID all’interno della partizione

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.

Hetman RAID Recovery: little-endian

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.

Hetman RAID Recovery: specifica dell’offset determinato per ciascun disco disponibile

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.

Hetman RAID Recovery: le configurazioni dell’array trovate vengono visualizzate in un elenco

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

Hetman RAID Recovery: RAID assemblato nella schermata principale del programma

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.

Hetman RAID Recovery: ritorno al RAID Constructor e selezione di RAID 1

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.

Hetman RAID Recovery: specifica dell’offset di inizio dei dati verificato

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

Hetman RAID Recovery: RAID 1 assemblato 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.

Hetman RAID Recovery: Full analysis del RAID 1 assemblato

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.

Hetman RAID Recovery: il programma ha trovato 979 cartelle e 14.049 file

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

Hetman RAID Recovery: esame dei dati trovati

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.

Hetman RAID Recovery: utilizzare la funzione Find File

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.

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.