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!