Archives du blog

Récupérer des données sur un disque RAID 1 issu d’un synology

Suite à une boulette de ma part mon Synology est HS (ne jamais faire un reboot apres un echec dans la mise à jour de DSM).

Comme j’avais tout un tas de données dessus j’ai cherché à en faire un backup.

Pour ce faire j’ai extrait l’un des disques dur du Synology (Ils sont en RAID 1 – mirroring) et l’ai copié sur un autre disque vierge pour travailler tranquillement . [ merci http://fredo.servehttp.com/html/Astu-19_3.htm]. Les opérations seront faites à partir d’une machine Linux (Ubuntu)

dd if=/dev/sdc of=/dev/sdb bs=64k conv=noerror

J’installe mdadm pour avoir accès au RAID

J’ai rebooté en ayant le seul disque de copie (le disque original est à l’abri), mais le raid ne veux pas démarrer (erreur au démarrage). Je poursuis donc le boot et tente les commandes en manuel [merci http://forum.synology.com/wiki/index.php/How_to_retrieve_data_from_RAID_Volumes_on_Linux] :

mdadm --assemble /dev/md2 /dev/sdb3

Mais le système se plaint de ne pas trouver de superblock.

Pour information un disque synology est découpé en plusieurs partitions :

sdb1 : partition root linux

sdb2 : partition SWAP

sdb3 : partition étendue

sdb5 : partition de données

Tout du moins c’est ce que je croyais avoir compris, d’où un doute sur l’utilisation de sdb3 au lieu de sdb5 (la commande ne donne pas grand chose de mieux avec sdb5 😦 ).

Apres un moment de flottement je tente al technique « hacker », a coup de hexdump

hexdump -C /dev/sdb5 | more

et là je tombe sur une phrase magique

 00022000  06 fd 37 87 20 4c 56 4d  32 20 78 5b 35 41 25 72  |..7. LVM2 x[5A%r|

Synology (du moins chez moi) utilise LVM  (qui n’est pas installé sur ma Linux box)

apt-get install lvm2

Et là

#mdadm -A /dev/md2 /dev/sdb5
mdadm: /dev/md2 assembled from 1 drive - need all 2 to start it (use --run to insist).
Pas de bol il ralle car le RAID n'est pas complet
# mdadm -S /dev/md2
mdadm: stopped /dev/md2
# mdadm -A /dev/md2 --run /dev/sdb5
mdadm: /dev/md2 has been started with 1 drive (out of 2).

Et là maintenant

#pvscan 
  PV /dev/md2   VG vg1   lvm2 [1,36 TiB / 0    free]
  Total: 1 [1,36 TiB] / in use: 1 [1,36 TiB] / in no VG: 0 [0   ]
# vgscan 
  Reading all physical volumes.  This may take a while...
  Found volume group "vg1" using metadata type lvm2
# lvscan 
  ACTIVE            '/dev/vg1/lv' [1,36 TiB] inherit
# mount /dev/vg1/lv /mnt/syno/
# df
[...]
/dev/mapper/vg1-lv   1440839828 1214608956 226128472  85% /mnt/syno

Je respire …

Donc pour résumer, pour accéder à un disque RAID1 (les autres aussi probablement) issu d’un synology, il faut installer les packages mdadm et lvm2. Ensuite il faut réactiver le raid mdadm -A /dev/md2 –run /dev/sdb5.

Je ne sais pas par contre si l’étape pv/vg/lvscan est nécessaire et si le système voit les nouveaux device LVM sans ça.

EDIT: Au boot Ubuntu demande s’il doit démarrer le RAID en mode dégradé, si mdadm et lvm sont installé il arrive à rendre disponible /dev/vg1/lv sans manip supplémentaire

Publicités