Récupération d'un disque ayant appartenu à une grappe RAID1

Utiliser TestDisk pour réparer le système de fichier
Locked
Message
Author
LordYanaek
Posts: 2
Joined: 13 May 2013, 09:28

Récupération d'un disque ayant appartenu à une grappe RAID1

#1 Post by LordYanaek »

Bonjour. Tout d'abord, désolé de poster un semi-doublon (http://forum.cgsecurity.org/phpBB3/reco ... t2365.html) mais je tente une autre approche, et je poste en français vu que mon système est français et mes commandes renvoyent donc des résultat en ... franglais. Désolé aussi pour la longueur, j'essaie d'expliquer le plus en détail possible.

Comme expliqué (en anglais car je poste généralement dans les forums anglais souvent plus fréquentés) dans l'autre post, j'ai perdu des fichiers sur un NAS synology, probablement suite à un problème lors d'un déplacement de fichiers. Pour espérer pouvoir les récupérer, j'ai éteind l'appareil dès que je m'en suis rendu compte, et retiré les disques vu qu'aucun programme de récupération n'existe pour ce modèle. J'ai ensuite essayé de monter un des disques localement sur mon PC (sous kUbuntu 13.04) puisque c'est du RAID1 (donc un disque est complet) et du ext2 ou 3 (je ne suis plus sûr depuis le temps que le NAS tourne) ... sans succès.
Après maintes recherches sur le net, je tombe sur un post indiquant une manip expliquée par un technicien du SAV Synology, pour un problème similaire, qui explique de reconstruire une grappe RAID. Je lance donc mdadm et je tente de faire reconnaitre les deux disques (quitte à reconstruire la grappe, autant qu'elle soit complète) à mon PC. Résultat : ni mon PC ni le NAS ne parviennent à monter la grappe :evil:

Je parviens quand même à faire tourner photorec directement sur une des partitions physiques, non montée, et il me retrouve des centaines de milliers de fichiers en vrac. Merci donc, car même si je dois à présent remettre de l'ordre, c'est mieux que tout perdre. Mais vu le broll de fichiers, sans métadonnées pour refaire un tri automatique (et visiblement certaines de mes photos on perdu leurs métadonnées), c'est un peu reconstruire la grande muraille de chine en remettant chaque pierre à sa place d'origine, depuis un gros tas de pierres. Bref, j'aimerais quand même finalement monter ce disque pour récupérer, bien classé, tout ce qui n'avait pas été perdu (la majorité du contenu du disque quand même). Mais comme je l'ai déjà dit, plus moyen de le monter ni sur mon PC, ni sur mon NAS (merci la manip du SAV).

J'ai repris un des disques de la grappe et l'ai mis dans un doc eSATA, le système le détecte comme un raid dégradé et l'active comme tel. Pour le moment voici le résultat des tests que j'ai réalisés :

sudo fdisk -l (j'ai coupé les résultats des disque non impliqués). Le disque apparaît comme /dev/sda. Il est reconnu comme RAID et lié au volume virtuel md127

Code: Select all

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 têtes, 63 secteurs/piste, 121601 cylindres, total 1953525168 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x09ceb233

Périphérique Amorce  Début        Fin      Blocs     Id  Système
/dev/sda1              63     4980149     2490043+  fd  RAID Linux autodétecté
/dev/sda2         4980150     6024374      522112+  fd  RAID Linux autodétecté
/dev/sda3         6281415  1953520064   973619325   fd  RAID Linux autodétecté

< coupé >

Disk /dev/md127: 996.9 GB, 996851777536 bytes
2 têtes, 4 secteurs/piste, 243372016 cylindres, total 1946976128 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00000000

Le disque /dev/md127 ne contient pas une table de partitions valable
sudo e2fsck -n -v /dev/sda3

Code: Select all

exet2fs_check_desc: Descripteur de groupe corrompu : bloc invalide pour le bitmap de blocs
e2fsck : Les descripteurs de groupe semblent en mauvais état... tentons d'utiliser les blocs de sauvetage...
1.41.3-0959 n'a pas été démonté proprement, vérification forcée.
Passe 1 : vérification des i-noeuds, des blocs et des tailles
l'i-noeud 16385 a le drapeau INDEX_FL activé sur le système de fichiers sans support des htrees.
Effacer l'index HTree ? non

<plein d'autre erreurs du même type>

Passe 2 : vérification de la structure des répertoires
Problème avec l'i-noeud de répertoire d'HTREE 16385 : bloc n°1 a un hachage maximal erroné
Problème avec l'i-noeud de répertoire d'HTREE 16385 : bloc n°2 a un hachage mininal erroné
Problème avec l'i-noeud de répertoire d'HTREE 16385 : bloc n°3 a un hachage maximal erroné
Problème avec l'i-noeud de répertoire d'HTREE 16385 : bloc n°4 a un hachage maximal erroné
Problème avec l'i-noeud de répertoire d'HTREE 16385 : bloc n°5 a un hachage maximal erroné
Problème avec l'i-noeud de répertoire d'HTREE 16385 : bloc n°7 a un hachage mininal erroné
Problème avec l'i-noeud de répertoire d'HTREE 16385 : bloc n°8 a un hachage maximal erroné
I-noeud de répertoire d'HTREE 16385 invalide (/cloud/shares/photo/2006). Effacer l'index HTree ? non

Problème avec l'i-noeud de répertoire d'HTREE 1081345 : bloc n°1 a un hachage maximal erroné
Problème avec l'i-noeud de répertoire d'HTREE 1081345 : bloc n°2 a un hachage mininal erroné
Problème avec l'i-noeud de répertoire d'HTREE 1081345 : bloc n°2 a un hachage maximal erroné

<plein d'autre erreurs de hachage>

Passe 3 : vérification de la connectivité des répertoires
Passe 4 : vérification des compteurs de référence
Passe 5 : vérification de l'information du sommaire de groupe
Le décompte des blocs libres est erroné pour le groupe n°0 (31223, décompté=24816).
Corriger ? non

<plein d'autre erreurs du même type>

Le décompte des i-noeuds libres est erroné pour le groupe n°0 (8181, décompté=8176).
Corriger ? non

Le décompte des répertoires est erroné pour le groupe n°2 (0, décompté=4).
Corriger ? non

<plein d'autre erreurs du même type>

1.41.3-0959 : **ATTENTION : le système de fichiers contient encore des erreurs**


          11 inodes used (0.00%, out of 60858368)
       13609 non-contiguous files (123718.2%)
         163 non-contiguous directories (1481.8%)
             # of inodes with ind/dind/tind blocks: 58604/17140/1
     3870788 blocks used (1.59%, out of 243404800)
           0 bad blocks
           3 large files

      181859 regular files
       14593 directories
           0 character device files
           0 block device files
           0 fifos
           0 links
        1075 symbolic links (1075 liens symboliques rapides)
           0 sockets
------------
      197527 files
Bon, quand je dis plein d'erreurs, le fichier texte dans lequel j'ai redirigé la sortie de e2fsck fait quand ses 66 963 lignes, même avec des lignes vides, ca fait plein d'erreurs.

sudo e2fsck -n -v /dev/md127

Code: Select all

Le superbloc n'a pu être lu ou ne contient pas un système de fichiers
ext2 correct. Si le périphérique est valide et qu'il contient réellement
un système de fichiers ext2 (et non pas de type swap, ufs ou autre),
alors le superbloc est corrompu, et vous pourriez tenter d'exécuter
e2fsck avec un autre superbloc :
    e2fsck -b 8193 <périphérique>
Aucune tentative d'utilisation d'un autre superblock (option -b) ne donne de résultat.

Pour finir : sudo testdisk (j'ai simplement analysé la table des partitions : jusque l'analyse approfondie, et enregistré le log).

Code: Select all


Sat May 18 16:56:20 2013
Command line: TestDisk

TestDisk 6.13, Data Recovery Utility, November 2011
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
OS: Linux, kernel 3.8.0-21-generic (#32-Ubuntu SMP Tue May 14 22:16:46 UTC 2013) x86_64
Compiler: GCC 4.7
Compilation date: 2013-02-16T06:51:40
ext2fs lib: 1.42.5, ntfs lib: libntfs-3g, reiserfs lib: none, ewf lib: none
/dev/sda: LBA, HPA, LBA48, DCO support
/dev/sda: size       1953525168 sectors
/dev/sda: user_max   1953525168 sectors
/dev/sda: native_max 1953525168 sectors
/dev/sdb: LBA, HPA, LBA48, DCO support
/dev/sdb: size       1953525168 sectors
/dev/sdb: user_max   1953525168 sectors
/dev/sdb: native_max 1953525168 sectors
/dev/sdc: LBA, HPA, LBA48, DCO support
/dev/sdc: size       1953525168 sectors
/dev/sdc: user_max   1953525168 sectors
/dev/sdc: native_max 1953525168 sectors
Warning: can't get size for Disk /dev/mapper/control - 0 B - CHS 1 1 1, sector size=512
Warning: can't get size for Disk /dev/md - 0 B - CHS 1 1 1 (RO), sector size=512
Hard disk list
Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63, sector size=512 - WDC WD10EARS-00MVWB0, S/N:WD-WMAZA0279866, FW:50.0AB50
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63, sector size=512 - Hitachi HDS721010CLA332, S/N:JP2911HZ2R02LC, FW:JP4OA3MA
Disk /dev/sdc - 1000 GB / 931 GiB - CHS 121601 255 63, sector size=512 - TOSHIBA DT01ACA100, S/N:Z288KV0PS, FW:MS2OA750
Disk /dev/md127 - 996 GB / 928 GiB - CHS 243372016 2 4, sector size=512

Partition table type (auto): Intel
Disk /dev/sda - 1000 GB / 931 GiB - WDC WD10EARS-00MVWB0
Partition table type: Intel

Analyse Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63
Geometry from i386 MBR: head=255 sector=63

Raid magic value at 0/1/1
Raid apparent size: 2180794880 sectors
Raid chunk size: 0 bytes
check_MD 0.90 (BigEndian)
md0 md 0.90.0 Raid 1: devices 0(8,1)*

Raid magic value at 310/0/1
Raid apparent size: 2179862016 sectors
Raid chunk size: 0 bytes
check_MD 0.90 (BigEndian)
md1 md 0.90.0 Raid 1: devices 0(8,2)* 1(8,18)

Raid magic value at 391/0/1
Raid apparent size: 1718929572 sectors
check_MD 1.2
Rd:3 md 1.x Raid 1 - Array Slot : 0 (0, 1, failed, failed, failed, failed, failed)
get_geometry_from_list_part_aux head=255 nbr=6
get_geometry_from_list_part_aux head=8 nbr=2
get_geometry_from_list_part_aux head=16 nbr=1
get_geometry_from_list_part_aux head=32 nbr=1
get_geometry_from_list_part_aux head=64 nbr=1
get_geometry_from_list_part_aux head=128 nbr=1
get_geometry_from_list_part_aux head=240 nbr=1
get_geometry_from_list_part_aux head=255 nbr=6
Current partition structure:
 1 P Linux RAID               0   1  1   309 254 63    4980087 [md0]
 2 P Linux RAID             310   0  1   374 254 63    1044225 [md1]
 3 P Linux RAID             391   0  1 121600 254 63 1947238650 [Rd:3]
No partition is bootable
Ask the user for vista mode
Allow partial last cylinder : No
search_vista_part: 0

search_part()
Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63

recover_EXT2: s_block_group_nr=0/18, s_mnt_count=2/22, s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 622480
recover_EXT2: part_size 4979840
     Linux                    0   1  1   309 251  5    4979840 [1.41.3-0947]
     EXT3 Large file Sparse superblock, 2549 MB / 2431 MiB

Raid magic value at 309/251/6
Raid apparent size: 2180794880 sectors
Raid chunk size: 0 bytes
md0 md 0.90.0 Raid 1: devices 0(8,1)*
     Linux RAID               0   1  1   309 253  7    4979968 [md0]
     md 0.90.0 Raid 1: devices 0(8,1)*, 2549 MB / 2431 MiB
     Linux Swap             310   0  1   374 252 44    1044080
     SWAP2 version 1, 534 MB / 509 MiB

Raid magic value at 374/252/61
Raid apparent size: 2179862016 sectors
Raid chunk size: 0 bytes
md1 md 0.90.0 Raid 1: devices 0(8,2)* 1(8,18)
     Linux RAID             310   0  1   374 254 62    1044224 [md1]
     md 0.90.0 Raid 1: devices 0(8,2)* 1(8,18), 534 MB / 509 MiB

recover_EXT2: s_block_group_nr=0/7428, s_mnt_count=526/29, s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 243404800
recover_EXT2: part_size 1947238400
     Linux                  391   0  1 121600 251  2 1947238400 [1.41.3-0959]
     EXT3 Large file Sparse superblock, 996 GB / 928 GiB

Raid magic value at 121600/251/3
Raid apparent size: 8392820 sectors
Raid chunk size: 0 bytes
md2 md 0.90.0 Raid 1: devices 0(8,3)* 1(8,19)
     Linux RAID             391   0  1 121600 253  4 1947238528 [md2]
     md 0.90.0 Raid 1: devices 0(8,3)* 1(8,19), 996 GB / 928 GiB
get_geometry_from_list_part_aux head=255 nbr=7
get_geometry_from_list_part_aux head=8 nbr=4
get_geometry_from_list_part_aux head=16 nbr=2
get_geometry_from_list_part_aux head=32 nbr=2
get_geometry_from_list_part_aux head=64 nbr=2
get_geometry_from_list_part_aux head=128 nbr=2
get_geometry_from_list_part_aux head=240 nbr=2
get_geometry_from_list_part_aux head=255 nbr=7

Results
     Linux                    0   1  1   309 254 63    4980087 [1.41.3-0947]
     EXT3 Large file Sparse superblock, 2549 MB / 2431 MiB
     Linux RAID               0   1  1   309 254 63    4980087 [md0]
     md 0.90.0 Raid 1: devices 0(8,1)*, 2549 MB / 2431 MiB
     Linux Swap             310   0  1   374 254 63    1044225
     SWAP2 version 1, 534 MB / 509 MiB
     Linux RAID             310   0  1   374 254 63    1044225 [md1]
     md 0.90.0 Raid 1: devices 0(8,2)* 1(8,18), 534 MB / 509 MiB
     Linux                  391   0  1 121600 254 63 1947238650 [1.41.3-0959]
     EXT3 Large file Sparse superblock, 996 GB / 928 GiB
     Linux RAID             391   0  1 121600 254 63 1947238650 [md2]
     md 0.90.0 Raid 1: devices 0(8,3)* 1(8,19), 996 GB / 928 GiB

interface_write()
 
No partition found or selected for recovery

search_part()
Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63

recover_EXT2: s_block_group_nr=0/18, s_mnt_count=2/22, s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 622480
recover_EXT2: part_size 4979840
     Linux                    0   1  1   309 251  5    4979840 [1.41.3-0947]
     EXT3 Large file Sparse superblock, 2549 MB / 2431 MiB

block_group_nr 3

recover_EXT2: "e2fsck -b 98304 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=3/18, s_mnt_count=0/22, s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 622480
recover_EXT2: part_size 4979840
     Linux                    0   1  1   309 251  5    4979840 [1.41.3-0947]
     EXT3 Large file Sparse superblock Backup superblock, 2549 MB / 2431 MiB

Raid magic value at 309/251/6
Raid apparent size: 2180794880 sectors
Raid chunk size: 0 bytes
md0 md 0.90.0 Raid 1: devices 0(8,1)*
     Linux RAID               0   1  1   309 253  7    4979968 [md0]
     md 0.90.0 Raid 1: devices 0(8,1)*, 2549 MB / 2431 MiB
     Linux Swap             310   0  1   374 252 44    1044080
     SWAP2 version 1, 534 MB / 509 MiB

Raid magic value at 374/252/61
Raid apparent size: 2179862016 sectors
Raid chunk size: 0 bytes
md1 md 0.90.0 Raid 1: devices 0(8,2)* 1(8,18)
     Linux RAID             310   0  1   374 254 62    1044224 [md1]
     md 0.90.0 Raid 1: devices 0(8,2)* 1(8,18), 534 MB / 509 MiB

recover_EXT2: s_block_group_nr=0/7428, s_mnt_count=526/29, s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 243404800
recover_EXT2: part_size 1947238400
     Linux                  391   0  1 121600 251  2 1947238400 [1.41.3-0959]
     EXT3 Large file Sparse superblock, 996 GB / 928 GiB

Raid magic value at 391/0/1
Raid apparent size: 1718929572 sectors
Rd:3 md 1.x Raid 1 - Array Slot : 0 (0, 1, failed, failed, failed, failed, failed)
     Linux RAID             391   0  1 121584 168  7 1946976136 [Rd:3]
     md 1.x Raid 1 - Array Slot : 0 (0, 1, failed, failed, failed, failed, failed), 996 GB / 928 GiB

block_group_nr 3

recover_EXT2: "e2fsck -b 98304 -B 4096 device" may be needed
recover_EXT2: s_block_group_nr=3/7428, s_mnt_count=0/29, s_blocks_per_group=32768, s_inodes_per_group=8192
recover_EXT2: s_blocksize=4096
recover_EXT2: s_blocks_count 243404800
recover_EXT2: part_size 1947238400
     Linux                  391   0  1 121600 251  2 1947238400 [1.41.3-0959]
     EXT3 Large file Sparse superblock Backup superblock, 996 GB / 928 GiB

Raid magic value at 121600/251/3
Raid apparent size: 8392820 sectors
Raid chunk size: 0 bytes
md2 md 0.90.0 Raid 1: devices 0(8,3)* 1(8,19)
     Linux RAID             391   0  1 121600 253  4 1947238528 [md2]
     md 0.90.0 Raid 1: devices 0(8,3)* 1(8,19), 996 GB / 928 GiB
get_geometry_from_list_part_aux head=255 nbr=8
get_geometry_from_list_part_aux head=8 nbr=5
get_geometry_from_list_part_aux head=16 nbr=2
get_geometry_from_list_part_aux head=32 nbr=2
get_geometry_from_list_part_aux head=64 nbr=2
get_geometry_from_list_part_aux head=128 nbr=2
get_geometry_from_list_part_aux head=240 nbr=2
get_geometry_from_list_part_aux head=255 nbr=8

Results
     Linux                    0   1  1   309 254 63    4980087 [1.41.3-0947]
     EXT3 Large file Sparse superblock, 2549 MB / 2431 MiB
     Linux RAID               0   1  1   309 254 63    4980087 [md0]
     md 0.90.0 Raid 1: devices 0(8,1)*, 2549 MB / 2431 MiB
     Linux Swap             310   0  1   374 254 63    1044225
     SWAP2 version 1, 534 MB / 509 MiB
     Linux RAID             310   0  1   374 254 63    1044225 [md1]
     md 0.90.0 Raid 1: devices 0(8,2)* 1(8,18), 534 MB / 509 MiB
     Linux RAID             391   0  1 121584 254 63 1946981610 [Rd:3]
     md 1.x Raid 1 - Array Slot : 0 (0, 1, failed, failed, failed, failed, failed), 996 GB / 928 GiB
     Linux                  391   0  1 121600 254 63 1947238650 [1.41.3-0959]
     EXT3 Large file Sparse superblock, 996 GB / 928 GiB
     Linux RAID             391   0  1 121600 254 63 1947238650 [md2]
     md 0.90.0 Raid 1: devices 0(8,3)* 1(8,19), 996 GB / 928 GiB

interface_write()
 
No partition found or selected for recovery
simulate write!

write_mbr_i386: starting...
write_all_log_i386: starting...
No extended partition

TestDisk exited normally.
Bon, voilà, cette fois-ci je me suis assuré de tout lancer en mode "diagnostic" et je ne ferai plus confiance à une solution toute faite trouvée sur le net pour apparemment le même problème. Si quelqu'un sait m'aider, me conseiller d'autres tests pour mieux cerner le problème. Mon système de fichier est toujours là puisque e2fsck trouve les chemins d'accès aux répertoires, mais il m'est impossible de le monter pour récupérer ce qu'il y a dedans.
J'ajoute que je me moque éperdument de "casser" complètement la grappe RAID, je pourrai toujours reformater mes disques et en reconstruire une, je souhaite récupérer mes données.

Merci d'avance à qui saura m'aider.

Locked