Ciao Ragazzi,
oggi torno sul discorso RAID e su un casino che è successo da un cliente.
NAS Netgear molto datato (versione NV+ con processore SPARC), con due dischi formattati con il raid di Netgear ovvero X-RAID che ha smesso di funzionare(Alimentatore bruciato)
Recuperare la roba è stato un bagno di sangue e proprio per risparmiarvi un po’ di lavoro ho deciso di spiegare bene la procedura.
Partiamo capendo che X-RAID non è altro che un raid software, ma fatto con un superblock diverso da quello creato con MDADM: ecco perchè non è possibile montarlo facilmente come si farebbe con un raid sw mdadm.
Vediamo come fare per “trasformare” X-RAID in un RAID Software compatibile con MDADM senza distruggere i dati.
Per prima cosa vediamo l’errore che da:
mdadm --assemble --scan mdadm: failed to add /dev/sdb3 to /dev/md/2_0: Invalid argument mdadm: failed to RUN_ARRAY /dev/md/2_0: Invalid argument mdadm: failed to add /dev/sdb2 to /dev/md/1_0: Invalid argument mdadm: failed to RUN_ARRAY /dev/md/1_0: Invalid argument mdadm: failed to add /dev/sdb1 to /dev/md/0_0: Invalid argument mdadm: failed to RUN_ARRAY /dev/md/0_0: Invalid argument mdadm: failed to add /dev/sdb to /dev/md/2: Invalid argument mdadm: failed to RUN_ARRAY /dev/md/2: Invalid argument mdadm: No arrays found in config file or automatically
Senza andare nel panico, avviamo una live di Ubuntu collegando uno dei dischi del X-RAID del Nas Netgear (io ho usato la 18.04.03 LTS) e installiamo con apt i pacchetti: mdadm e fuseext2
Fatto questo procediamo a far riconoscere al sistema il RAID, apriamo un terminale e digitiamo:
$ sudo mdadm --assemble /dev/md100 /dev/sda3 --update=summaries --force
mdadm: /dev/md100 has been started with 1 drive (out of 2).
In questo caso sto dicendo a MDADM di forzare la creazione dell’array md100 usando il disco /dev/sda3 (sostituite con il vostro) e forzando l’update del superblock.
Provando a montare il device appena creato ho i seguenti errori:
$ sudo mount /dev/md100 /mnt/readynas
mount: unknown filesystem type 'LVM2_member'
Vediamo di recuperare il LVM
$ sudo lvdisplay | grep "LV Path"
LV Path /dev/c/c
Se provo a montare:
$ sudo mount /dev/c/c /mnt/readynas
mount: wrong fs type, bad option, bad superblock on /dev/mapper/c-c,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Questo accade perchè comunque il file system non è perfettamente lo stesso, per cui dobbiamo accedere ad un livello più basso e lo facciamo con il pacchetto fuseext2. Vediamo come:
$ sudo fuseext2 -o ro,read_sync /dev/c/c /mnt/readynas
Il gioco è fatto! Adesso possiamo copiare i nostri files e metterli al sicuro.
Enjoy!
Buongiorno Daniele,
la procedura indicata potrebbe funzionare anche sul mio X-RAID che gira su netgear 10400 (3 dischi da 3tera) e che dopo un paio di tentativi di risincronizzazione automatica ha smesso di funzionare?
Buonasera Feliciano,
perdona il ritardo nella risposta purtroppo non riesco ad essere molto presente, ma la procedura dovrebbe andare bene per tutte le tipologie di X-RAID.
A presto,
P.