[HowTo] Recupero dati da raid0

giovedì 25 marzo 2010
Salve a tutti, ormai 2 mesi fa mi si è guastato il NAS LaCie e quindi ho dovuto recuperare 1 Tb di dati (fortunatamente i dischi funzionano ancora). L'ostacolo principale è che questo tera è formato da 2 dischi da 500Gb sata2 in raid0 (striping). La cosa più difficile è ricreare il raid su un'altra macchina (tra l'altro non avevo mai avuto a che fare con sistemi raid prima di allora).

In questa pagina c'è la procedura che ho seguito e che ha funzionato alla perfezione, ma dato che è in inglese la tradurrò per i meno "internazionali".
  1. Per prima cosa dobbiamo collegare i dischi ad un pc (mi sembra scontato) ed avviarlo con una distribuzione live di linux (io ho usato parted magic, ma ubuntu va benissimo).
  2. apriamo una shell e digitiamo fdisk -l. L'output (risultato) di questo comando dovrebbe essere una cosa del genere:

    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x65764f20

    Disk /dev/sda doesn't contain a valid partition table

    Disk /dev/sdb: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x00000000

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 125 1004031 5 Extended
    /dev/sdb2 126 60801 487379970 83 Linux
    /dev/sdb5 1 16 128457 82 Linux swap / Solaris
    /dev/sdb6 17 17 8001 83 Linux
    /dev/sdb7 18 18 8001 83 Linux
    /dev/sdb8 19 34 128488+ 83 Linux
    /dev/sdb9 35 125 730926 83 Linux

    in cui un disco non contiene partizioni (o comunque non sono valide), mentre l'altro contiene varie partizioni.
  3. montiamo la partizione da 130 mb (sdb8 128488+) e, con un editor di testo (in parted magic ho usato leafpad, ma su ubuntu potete usare gedit), apriamo il file in /etc/mdadm.conf digitando gedit path_mount/etc/mdadm.conf (sostituendo path_mount con il path dove si è montata la partizione) e copiamone l'intero contenuto che dovrebbe essere all'incirca una cosa di questo tipo:

    DEVICE /dev/sdb2 /dev/sda
    ARRAY /dev/md0 level=linear num-devices=2 UUID=163218f3:299b9ccc:3c666c38:60539313

  4. dopo esservi assicurati di avere mdadm installato (se così non fosse digitate sudo apt-get install mdadm) editate il file /etc/mdadm/mdadm.conf (nel mio caso non era questo ma era semplicemente in /etc/mdadm.conf, quindi vedete voi quale avete) con il comando gedit /etc/mdadm/mdadm.conf e incollatevi (in fondo) ciò che si è copiato al punto precedente. Notate bene che questo NON è lo stesso file del punto 3!
  5. ora digitiamo mdadm --assemble /dev/md0. Se tutto è andato bene passate al punto successivo, altrimenti dovrete riaprire il file al punto 4 e modificare la prima riga in questo modo:
    DEVICE /dev/sda2 /dev/sdb 
    poichè probabilmente i due dischi sono invertiti (ma non è un problema). Fatto questo ripetete il comando iniziale di questo punto.
  6. ormai il gioco è fatto, potete già assaporare il sapore della vittoria e preparare lo spumante =); digitate mount /dev/md0 path_che_volete e potrete riavere i vostri amati file.
Se operate con ubuntu, dovrete sempre anteporre il comando sudo ad ogni riga.

Ora sto pensando a freenas come soluzione nas alternativa, quindi probabilmente tra i prossimi post ce ne sarà uno che parlerà di questa distribuzione basata su bsd; spero che non dobbiate usare questa guida poichè vorrebbe dire che il vostro nas vi ha abbandonato, ma nel caso, spero vi sia utile!

Link utili:

4 commenti:

SNaKe ha detto...

Nel punto 3, quando scrivo "montiamo la partizione da 130 mb" non ho specificato nessun comando shell perchè non lo so e parted magic aveva già questa partizione montata, così ho usato il file system manager grafico per accedere.
Se qualcuno più esperto di me potesse postarmi (anche qui nei commenti) il comando o la procedura per montare la partizione, gli sarei molto grato, grazie!!

SNaKe ha detto...

in riferimento al punto 3 (mio commento precedente) il comando è "sudo mount /dev/sdb8 path_dove_montare" in cui path_dove_montare deve essere un percorso esistente!

Alfred ha detto...

risorsa davvero meraviglioso in RAID 0. L'informazione è utile anche per ottenere dati da RAID0. Un altra risorsa informativa che ho ottenuto sul recupero dati che mi hanno aiutato nella raccolta dei dati.

Mark ha detto...

Ero alla ricerca per il recupero dati disco di cui avevo bisogno per questo. Poi ho avuto questo post. Questo post può essere una buona risorsa per le persone che sono alla ricerca di RAID0 recupero dati.

Posta un commento