Tym-Project

From: SUPINFO
To: Tous
Subject: IT

Récupérer Des Données Sur Un Readynas Ultra 2 (Netgear)

Très récemment mon Readynas Ultra 2 a eu un problème de carte réseau, par chance il est encore sous garantie et Netgear m’a proposé de l’envoyer chez eux pour remplacer le chassis.

Ne pouvant pas vraiment me passer d’un NAS pour quelques semaines (à ce stade toutes les excuses sont valables…) j’ai investit dans un NAS Synology. J’ai alors réalisé que toutes mes sauvegardes, quelques scripts intéressant, etc étaient stockés uniquement sur mon ReadyNAS.

Il m’a donc fallu trouver un moyen d’accéder à ces données via le disque-dur directement.

Petite précision, il n’est pas ici question de la récupération de données sur des disques endommagés… c’est un sujet beaucoup plus complexe, qui se base toutefois sur le même principe.

RAID dingue de… données ?

L’intêret d’un NAS par rapport à un disque-dur externe par exemple se situe dans sa capacité à gérer de manière plus ou moins automatique la redondance des données. Je ne vais pas me lancer dans une explication des différents modes de RAID (Google !), mais en général les NAS “grand public” proposent un mode de gestion “automatique”, où le système va favoriser la redondance par rapport à la performance ou au volume de données disponible.

Avec 2 disques, un Readynas configuré en mode “X-RAID-2” va créer un espace de données correspondant à la taille du disque le plus petit et gérer un redondance entre les deux disques. Le système peut donc supporter au maximum un disque en panne sur les deux disponibles.

Bien que propriétaire, ce mode de gestion se base en fait sur du RAID classique, et nous permet donc d’utiliser les outils habituels pour gérer ces configurations sous Linux.

La trousse à outils

Pour connecter le disque à ma machine j’ai utilisé un adaptateur SATA/USB tel que celui-ci : Advance - USB-009 - Adaptateur IDE / SATA.

Pour éviter de polluer mon système j’ai aussi décidé de travailler à partir d’une Ubuntu 14.04 en live-USB.

L’outil principal pour travailler sur du RAID en Linux est mdadm… qui s’installe ainsi sur Ubuntu :

sudo apt-get update && sudo apt-get install mdadm

apt va aussi installer Postfix… probablement pour permettre l’envoi d’emails d’alertes… donc notre cas tout à fait inutile, on peut donc ignorer la configuration.

“À la bataille !”

Oui, c’est bien une référence à Ages Of Empire II !

mdadm étant installé, il est temps de connecter le disque-dur à la machine. Ubuntu devrait automatiquement monter certaines partitions… mais rarement la bonne…

Pour déterminer la partition qui contient les données je me suis basé essentiellment sur la taille du volume, dans mon cas environ 1 To. Plusieurs commandes permettent de trouver cette information, j’ai utilisé fdisk -l, voici un extrait du résultat :

Disk /dev/mapper/c-c: 984.6 GB, 984621252608 bytes
255 heads, 63 sectors/track, 119706 cylinders, total 1923088384 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes
Disk identifier: 0x00000000

Cette partition a la bonne taille, essayons de la monter :

mkdir data
mount -t ext4 /dev/mapper/c-c ./data/

Victoire !

Et sinon ?

Si cette solution ne fonctionne pas, il est toujours possible de travailler avec mdadm pour monter la partition. Par exemple fdisk -l peut nous dire que /dev/md125 a aussi la bonne taille. mdadm --detail /dev/md125 peut permettre de confirmer cela et identifer la partition correspondante :

root@ubuntu:/home/ubuntu# mdadm --detail /dev/md125
/dev/md125:
        Version : 1.2
  Creation Time : Sat Sep 27 09:19:16 2014
     Raid Level : raid5
     Array Size : 972040704 (927.01 GiB 995.37 GB)
  Used Dev Size : 972040704 (927.01 GiB 995.37 GB)
   Raid Devices : 2
  Total Devices : 1
    Persistence : Superblock is persistent

    Update Time : Sun Oct  5 16:37:57 2014
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           Name : A021B7C17002:2
          UUID : c04e7c99:2f19ec0b:7ed9de43:dee7c184
         Events : 5667

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       2       8       35        1      active sync   /dev/sdc3

La toute dernière ligne nous indique donc que /dev/sdc3 est la partition à monter après avoir lancé le RAID avec mdadm --run /dev/md125.

Comments