Abysse Tech

HiTech 4 All

Recupérer les données sur un Lacie Ethernet Big Disk (ou ensemble JBOD) !!

by

Cet article, particulièrement ciblé et très restreint au niveau de l’intérêt général, a pour but de sauver les vies d’une poignée d’internautes.

Effectivement, ce week-end, il m’est arrivé une mésaventure comme on aime. A la suite d’un trop long transfert pour sauvegarder des données vers le stockage que je considérais comme le plus sûr, un clic répétitif de mauvaise augure a surgi du NAS 1 To.

Je l’ai débranché et rebranché une première fois pour réentendre le clic et une deuxième fois sans qu’une quelconque réaction se produisit. Un peu déboussolé, j’entreprends de démonter le boitier pour extraire le disque dur et récupérer d’urgence les 710 Go de données capitales et c’est la l’envergure du problème commence à pointer le bout de son nez : il s’agissait d’un ensemble RAID 0 constitué de 2 disques durs …

Et c’est là qu’on commence à solliciter Google pour qu’il puisse nous venir en aide .. Mais les premiers forums sont très pessimistes car dans mon cas c’est le processeur gérant le contrôleur RAID de mon NAS qui a surchauffé rendant la « carte mère » HS.

Ainsi, selon certains il est impossible de reconstruire un volume si l’on ne possède pas le même contrôleur RAID.

Et c’est la qu’on passe à l’étape de « maudissage » de la foutue miniaturisation des composants qui rend impossible la réparation ni l’identification précise de la panne. On teste le ventilo, on s’aperçoit qu’il manque 10 volts pour qu’il fonctionne sans pouvoir voir le tracé du circuit..

Bref, pour rappel les 710 go de données sont toujours « on the line » ce vendredi à 5-6 heures du matin sachant qu’en voulant, je ne sais plus pourquoi, remettre un second rack de 1 To dans le second NAS, j’ai formaté 200 go de données du 1er rack. (un boulet)

Bilan 930go de fichiers perdus en une seule nuit -_- ….

Réveil forcé 10h30 le « lendemain » afin de trouver une solution en dehors que de payer 4000 € par disque pour une société de récupération de données.

Et ce samedi, un Podcasteur a souhaité venir à la maison pour un petit coup de main sur un mac (je vous parlerais de son podcast prochainement) du coup, la résolution du problème a été reporté à Dimanche.

Bref, après toutes ces jérémiades voici la solution qui peut s’appliquer aux disques durs respectant les caractéristiques suivantes :

- un disque dur géré par un linux customisé

- utilisation de ce que l’on appelle un JBOD (« Just a bunch Of disks ») qui est une concaténation de disques durs ( écriture de données linéaires d’un disque n à un disque n+1) en opposition avec un vrai RAID 0 qui écrit un fichier en deux parties sur deux disques d’une façon unique au contrôleur.

Attention le JBOD n’est donc pas considéré comme un ensemble RAID, contrairement au supposition faite lors de la découverte de mon problème ;) !!

Si vous avez respecté les prérequis ci-dessus alors estimez vous chanceux, car voici votre solution :

1) Afin de récupérer vos données sur un tel ensemble, il vous faudra installer ou virtualiser un système Linux (dans mon cas Ubuntu que vous pouvez télécharger ici (version 10.10 i386 française)).

2) Il vous faut la possibilité de brancher vos deux disques soit dans un boitier externe à deux baies (40€ chez LDLC) ou alors directement sur votre carte mère.

3) Connectez vos disques et démarrez Ubuntu, et surtout sans faire aucune manipulation sur ces derniers.

4) Ouvrez le terminal, dans le menu « Application » puis « Accessoires » et saisissez la commande suivante :

« sudo apt-get install mdadm »

ou cliquez ici pour télécharger le paquet MDADM

5) Ensuite il vous obtenir la liste des disques durs de votre ordinateur et leur chemin d’accès. Pour ce faire, il vous faut taper la commande suivante :

« sudo fdisk -l » (l= L miniscule ;) )

Dans la liste qui s’affiche trouvez un des deux disques de l’ensemble JBOD qui dans mon cas était  :

« /dev/sdc2             126       60801   487379970 (blocks)  83  Linux »

L’autre disque se présente sous la forme suivant en dessous de la liste des partitons :

« Disque /dev/sdd: 500.1 Go, 500107862016 octets »

Normalement, celui présent dans la liste contient la table de partition et c’est celui ci qu’il faudra utiliser.

6) Ouvrer le fichier mdadm.conf qui se trouve dans une partiton qui est déjà montée d »une taile d’environ 130 mo dans le dossier /etc/ soit

« /etc/mdadm.conf »

7) Ensuite, il vous faudra éditer le fichier mdadm.conf de votre ordinateur (ou machine virtuelle) en effectuant cette ligne de commande :

« sudo nano /etc/mdadm/mdadm.conf »

8) Il faudra, après, copier les lignes que vous avez dans le fichier ouvert à l’étape n°6, en sachant que l’objectif est de changer les chemins d’accès aux disques en mettant le plus petit des deux contenant la table de partition en premier. Cela donne quelque chose comme ceci

  • ce que j’ai trouvé dans le fichier mdadm.conf du système de fichier 130 de mo

« DEVICE /dev/sda2 /dev/sdb ARRAY /dev/md0 level=linear num-devices=2 UUID=098746f9:397e91c0:159c90c4:2ba49f7b »

  • ce que j’ai mis dans le fichier mdadm.conf de mon ordinateur

« DEVICE /dev/sdc2 /dev/sdb ARRAY /dev/md0 level=linear num-devices=2 UUID=098746f9:397e91c0:159c90c4:2ba49f7b »

9) Pour sauvegarder dans le terminal faite « ctrl+X » et tapez « O » ( ou « Y » dans la version anglaise)

10) Enfin pour finir, il suffit de saisir une dernière ligne dans le terminal afin d’assembler les deux disques durs :

« sudo mdadm –assemble /dev/md0″

Si tout c’est bien déroulé alors sur votre bureau vous devriez avoir une icone comme celle de l’image ci dessous et vous voici sauvé !!

29 Comments

  • epithenium
    12 mars 2011 @ 15 h 36 min

    Bonjour,
    Je suis actuellement dans un cas similaire avec un lacie 2big network… un ensemble de 2 disques de 1to montés en JBOD (du moins, je l’imagine)
    J’ai installé ubuntu, bvranché mes disques …
    Dans le poste de travail, j’ai découvert 2 disques : mon disque système et un disque nommé « ensemble » dans lequel je ne peux pas rentré : le système m’indique « impossible de monter l’ensemble ».

    Voici se que j’ai trouvé dans la liste des partitions…
    Disque /dev/sda: 320.1 Go, 320072933376 octets
    255 têtes, 63 secteurs/piste, 38913 cylindres
    Unités = cylindres de 16065 * 512 = 8225280 octets
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Identifiant de disque : 0×00090159

    Périphérique Amorce Début Fin Blocs Id Système
    /dev/sda1 * 1 38149 306425856 83 Linux
    /dev/sda2 38149 38914 6142977 5 Etendue
    /dev/sda5 38149 38914 6142976 82 Linux swap / Solaris

    Disque /dev/sdb: 1000.2 Go, 1000204886016 octets
    255 têtes, 63 secteurs/piste, 121601 cylindres
    Unités = cylindres de 16065 * 512 = 8225280 octets
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Identifiant de disque : 0×00000000

    Périphérique Amorce Début Fin Blocs Id Système
    /dev/sdb1 1 125 1004031 5 Etendue
    /dev/sdb2 126 121601 975755970 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 40 176683+ 83 Linux
    /dev/sdb9 41 124 674698+ 83 Linux
    /dev/sdb10 125 125 8001 83 Linux

    Disque /dev/sdc: 1000.2 Go, 1000204886016 octets
    255 têtes, 63 secteurs/piste, 121601 cylindres
    Unités = cylindres de 16065 * 512 = 8225280 octets
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Identifiant de disque : 0×00000000

    Périphérique Amorce Début Fin Blocs Id Système
    /dev/sdc1 1 125 1004031 5 Etendue
    /dev/sdc2 126 121601 975755970 83 Linux
    /dev/sdc5 1 16 128457 82 Linux swap / Solaris
    /dev/sdc6 17 17 8001 83 Linux
    /dev/sdc7 18 18 8001 83 Linux
    /dev/sdc8 19 40 176683+ 83 Linux
    /dev/sdc9 41 124 674698+ 83 Linux
    /dev/sdc10 125 125 8001 83 Linux

    J’avoue que je suis un peu dérouté, je vois 2 partition de 126 et impossible de les monter, ni l’une, ni l’autre …
    Je serais ravie d’avoir un peu d’aide …

    Merci

  • epithenium
    14 mars 2011 @ 18 h 17 min

    Je m’auto-réponds pour les personnes qui auraient à rencontrer le même problème…
    Il a suffit d’inverser les disques sur les connections SATA pour voir apparaitre par magie mon beau volumes de données …

    Merci pour ce tuto qui m’a permis de récuperer 1to de données.
    Merci, merci, merci !!!

  • mm54
    24 août 2011 @ 14 h 37 min

    ce tuto est’il toujours d’actualité SVP car le dernier message est du 11.O8.10
    merci

  • mm54
    25 août 2011 @ 10 h 06 min

    bonjours,
    si je suis sur ce tuto, c’est que je suis dans le meme etat que les personnes qui l’on deja vues!
    je ne suis pas vaillant mais avec un peu d’aide ,j’espère y parvenir
    voici ce que j’ai :

    Disk /dev/sda: 8589 MB, 8589934592 bytes
    255 heads, 63 sectors/track, 1044 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0×00093860

    Device Boot Start End Blocks Id System
    /dev/sda1 * 1 980 7863296 83 Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2 980 1045 522241 5 Extended
    /dev/sda5 980 1045 522240 82 Linux swap / Solaris

    Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000d4cdc

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 125 1004031 5 Extended
    /dev/sdb2 8374 8374 8032+ 0 Empty
    /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 40 176683+ 83 Linux
    /dev/sdb9 41 124 674698+ 83 Linux
    /dev/sdb10 125 125 8001 83 Linux

    Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0001c382

    Device Boot Start End Blocks Id System
    /dev/sdc1 1 125 1004031 5 Extended
    /dev/sdc2 8374 8374 8032+ 0 Empty
    /dev/sdc5 1 16 128457 82 Linux swap / Solaris
    /dev/sdc6 17 17 8001 83 Linux
    /dev/sdc7 18 18 8001 83 Linux
    /dev/sdc8 19 40 176683+ 83 Linux
    /dev/sdc9 41 124 674698+ 83 Linux
    /dev/sdc10 125 125 8001 83 Linux

    **************

    GNU nano 2.2.6 File: /etc/mdadm/mdadm.conf Modified

    # mdadm.conf
    #
    # Please refer to mdadm.conf(5) for information about this file.
    #

    # by default, scan all partitions (/proc/partitions) for MD superblocks.
    # alternatively, specify devices to scan, using wildcards if desired.
    DEVICE partitions

    # auto-create devices with Debian standard permissions
    CREATE owner=root group=disk mode=0660 auto=yes

    # automatically tag new arrays as belonging to the local system
    HOMEHOST

    # instruct the monitoring daemon where to send mail alerts
    MAILADDR root

    # definitions of existing MD arrays

    ^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
    ^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text^T To Spell

    ******************************

    # automatically tag new arrays as belonging to the local system
    HOMEHOST

    # instruct the monitoring daemon where to send mail alerts
    MAILADDR root

    # definitions of existing MD arrays
    ARRAY /dev/md/0 metadata=1.2 UUID=940a3e8a:685b5aac:52fc706a:fa5a3816 name=ubun$
    ARRAY /dev/md3 UUID=4f7e7820:09f42930:298fd8d5:9349ff18
    ARRAY /dev/md0 UUID=eff0e209:9643a852:3aa8433a:9e83f503
    ARRAY /dev/md1 UUID=1cb2ba65:ffe7fba9:93bd4cac:e37a4d64
    ARRAY /dev/md2 UUID=9eb8d3f0:5470d06f:595f6707:3e6fd844

    si vous pouviez m’aider SVP
    MERCI

  • Korrozyf
    2 septembre 2011 @ 17 h 40 min

    Bonjour,

    Je vous ai contacté par le formulaire de contact mais je passe aussi par ici car je n’arrive pas à effectuer la configuration de mdadm correctement.

    Voici le résultat du « fdisk -l » :

    Disque /dev/sda: 1000.2 Go, 1000204886016 octets
    255 têtes, 63 secteurs/piste, 121601 cylindres
    Unités = cylindres de 16065 * 512 = 8225280 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d’E/S (minimale / optimale) : 512 octets / 512 octets
    Identifiant de disque : 0xdaa41fb9

    Périphérique Amorce Début Fin Blocs Id Système
    /dev/sda1 * 1 13 102400 7 HPFS/NTFS
    La partition 1 ne se termine pas sur une frontière de cylindre.
    /dev/sda2 13 13071 104882176 7 HPFS/NTFS
    /dev/sda3 13071 88243 603821655+ 7 HPFS/NTFS
    /dev/sda4 88243 121602 267954177 5 Etendue
    /dev/sda5 88243 120819 261665792 83 Linux
    /dev/sda6 120819 121602 6287360 82 Linux swap / Solaris

    Disque /dev/sdb: 1000.2 Go, 1000204886016 octets
    255 têtes, 63 secteurs/piste, 121601 cylindres
    Unités = cylindres de 16065 * 512 = 8225280 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d’E/S (minimale / optimale) : 512 octets / 512 octets
    Identifiant de disque : 0×00000000

    Périphérique Amorce Début Fin Blocs Id Système
    /dev/sdb1 1 125 1004031 5 Etendue
    /dev/sdb2 126 121601 975755970 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

    Disque /dev/sdc: 1000.2 Go, 1000204886016 octets
    255 têtes, 63 secteurs/piste, 121601 cylindres
    Unités = cylindres de 16065 * 512 = 8225280 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d’E/S (minimale / optimale) : 512 octets / 512 octets
    Identifiant de disque : 0×00000000

    Le disque /dev/sdc ne contient pas une table de partition valide

    Disque /dev/md127: 1999.4 Go, 1999378579456 octets
    2 têtes, 4 secteurs/piste, 488129536 cylindres
    Unités = cylindres de 8 * 512 = 4096 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d’E/S (minimale / optimale) : 512 octets / 512 octets
    Identifiant de disque : 0×00000000

    Le disque /dev/md127 ne contient pas une table de partition valide

    Voici le contenu du fichier mdadm.conf sur le NAS :

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

    Voici le contenu du fichier de mdadm.conf de mon ordinateur :

    # mdadm.conf
    #
    # Please refer to mdadm.conf(5) for information about this file.
    #

    # by default, scan all partitions (/proc/partitions) for MD superblocks.
    # alternatively, specify devices to scan, using wildcards if desired.
    DEVICE partitions

    # auto-create devices with Debian standard permissions
    CREATE owner=root group=disk mode=0660 auto=yes

    # automatically tag new arrays as belonging to the local system
    HOMEHOST

    # instruct the monitoring daemon where to send mail alerts
    MAILADDR root

    # definitions of existing MD arrays

    # This file was auto-generated on Fri, 02 Sep 2011 17:56:02 +0200
    # by mkconf $Id$

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

    Et exécutant la commande : « sudo mdadm –assemble /dev/md0″ il ne se passe rien du tout.

    Pour info j’ai la dernière version en date d’ubuntu.

    Merci d’avance de votre aide.

  • Korrozyf
    3 septembre 2011 @ 10 h 09 min

    Bonjour,

    En fait je n’avais pas remarqué que cela m’affichait un nouveau « disque » : système de fichier 2To qui contient bien toutes mes données.

    Je suis donc en train de récupérer tout ça. Mille mercis pour ce tuto. Vous venez de sauver 5 ans de données personnelles !

  • mm54
    3 septembre 2011 @ 16 h 06 min

    bonjour,
    pouvez vous me donner les partitions qui doivent servir dans mon cas SVP
    j’espere avoir une reponse, merci

    sudo fdisk -l

    Disk /dev/sda: 8589 MB, 8589934592 bytes
    255 heads, 63 sectors/track, 1044 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0×00093860

    Device Boot Start End Blocks Id System
    /dev/sda1 * 1 980 7863296 83 Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2 980 1045 522241 5 Extended
    /dev/sda5 980 1045 522240 82 Linux swap / Solaris

    Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000d4cdc

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 125 1004031 5 Extended
    /dev/sdb2 8374 8374 8032+ 0 Empty
    /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 40 176683+ 83 Linux
    /dev/sdb9 41 124 674698+ 83 Linux
    /dev/sdb10 125 125 8001 83 Linux

    Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
    255 heads, 63 sectors/track, 121601 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0001c382

    Device Boot Start End Blocks Id System
    /dev/sdc1 1 125 1004031 5 Extended
    /dev/sdc2 8374 8374 8032+ 0 Empty
    /dev/sdc5 1 16 128457 82 Linux swap / Solaris
    /dev/sdc6 17 17 8001 83 Linux
    /dev/sdc7 18 18 8001 83 Linux
    /dev/sdc8 19 40 176683+ 83 Linux
    /dev/sdc9 41 124 674698+ 83 Linux
    /dev/sdc10 125 125 8001 83 Linux

    Disk /dev/md0: 2000.4 GB, 2000407232512 bytes
    2 heads, 4 sectors/track, 488380672 cylinders
    Units = cylinders of 8 * 512 = 4096 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 524288 bytes / 1048576 bytes
    Disk identifier: 0xc0020c12

    Disk /dev/md0 doesn’t contain a valid partition table

  • mm54
    3 septembre 2011 @ 16 h 15 min

    GNU nano 2.2.6 File: /etc/mdad/mdadm.conf

    # mdadm.conf
    #
    # Please refer to mdadm.conf(5) for information about this file.
    #

    # by default, scan all partitions (/proc/partitions) for MD superblocks.
    # alternatively, specify devices to scan, using wildcards if desired.
    DEVICE partitions

    # auto-create devices with Debian standard permissions
    CREATE owner=root group=disk mode=0660 auto=yes

    # automatically tag new arrays as belonging to the local system
    HOMEHOST

    # instruct the monitoring daemon where to send mail alerts
    MAILADDR root

    # definitions of existing MD arrays

    # definitions of existing MD arrays
    ARRAY /dev/md/0 metadata=1.2 UUID=940a3e8a:685b5aac:52fc706a:fa5a3816 name=ubun$
    ARRAY /dev/md3 UUID=4f7e7820:09f42930:298fd8d5:9349ff18
    ARRAY /dev/md0 UUID=eff0e209:9643a852:3aa8433a:9e83f503

    # This file was auto-generated on Thu, 25 Aug 2011 10:30:39 +0200
    # by mkconf $Id$

  • Distribs linux
    14 mars 2012 @ 8 h 21 min

    Merci pour ces infos assez complet je cherchais ca.

Leave A Comment