Problème avec un raid 5 logiciel (mdadm) [résolu]

Problème avec un raid 5 logiciel (mdadm) [résolu] - Logiciels - Linux et OS Alternatifs

Marsh Posté le 24-07-2009 à 18:25:02    

J'ai un raid 5 logiciel de 4 disques de 1To (/dev/sda1 /dev/sdb1 /dev/sdc1 et /dev/sdd1).
 
Mais suite à une fausse manip de mon frère qui a allumé le serveur alors que j'avais débranché deux disques dur mdadm m'affiche deux disques removed ( /dev/sdb1 et /dev/sdd1)
 
Ma question est de savoir si je peux rajouter les disques manquants sans perdre les données stockées sur le raid5 ?
 
Il y a peut être déjà la réponse à mon problème sur internet mais je veux être sur de la méthode à suivre. La dernière fois j'ai cracher 500Go de donnée.


Message édité par Brian14 le 18-08-2009 à 13:56:18
Reply

Marsh Posté le 24-07-2009 à 18:25:02   

Reply

Marsh Posté le 24-07-2009 à 21:01:07    

reboot ton serveur avec les 4 durs branchés
 
mdadm va crier, disant que ta pile n'est pas "propre"
ouvre une session sur ta machine, et en root :
mdadm --manage /dev/mdX --add /dev/sdb1
mdadm --manage /dev/mdX --add /dev/sdd1
 
si ça marche pas, poste l'erreur et le résultat de la commande "cat /proc/mdstat"

Reply

Marsh Posté le 25-07-2009 à 10:36:37    

Quand j'utilise ta commande  il met :
 

Citation :

11:38 root@***** /home/****# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: Unknown keyword efd:
mdadm: add new device failed for /dev/sdb1 as 4: Invalid argument


 
Donc j'ai essayé de stopper le raid puis de le relancer :
 

Citation :

11:52 root@**** /home/****# mdadm --stop /dev/md0
mdadm: Unknown keyword efd:
mdadm: stopped /dev/md0
11:53 root@**** /home/****# mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: Unknown keyword efd:
mdadm: /dev/md0 assembled from 2 drives and 1 spare - not enough to start the array.
zsh: exit 1     mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1


 
 

Citation :

11:54 root@**** /home/****# cat /proc/mdstat  
Personalities : [raid6] [raid5] [raid4]  
md0 : inactive sda1[0] sdd1[4] sdb1[1] sdc1[2]
      3907039488 blocks super 1.0
       
unused devices: <none>


 

Citation :

12:02 root@**** /home/****# mdadm --detail /dev/md0
mdadm: Unknown keyword efd:
mdadm: md device /dev/md0 does not appear to be active.
zsh: exit 1     mdadm --detail /dev/md0


 
 
 

Reply

Marsh Posté le 25-07-2009 à 13:20:45    

distrib ? version ?
 
résultat des commandes :
* mdadm --detail /dev/sda1
* mdadm --detail /dev/sdb1
* mdadm --detail /dev/sdc1
* mdadm --detail /dev/sdd1

Reply

Marsh Posté le 25-07-2009 à 14:42:23    

debian avec un noyau 2.6.18-6-486
 
la commande  
mdadm --detail /dev/sd* est pour le raid  
 
je pense que tu souhaite le resultat de :  
 

Citation :

16:05 root@**** /home/****# mdadm --examine /dev/sda1
mdadm: Unknown keyword efd:
/dev/sda1:
          Magic : a92b4efc
        Version : 01
    Feature Map : 0x0
     Array UUID : e442ef1d:5635fe57:ddc72c72:964d79fb
           Name : '****':0
  Creation Time : Thu Jan  1 13:39:07 2009
     Raid Level : raid5
   Raid Devices : 4
 
    Device Size : 1953519856 (931.51 GiB 1000.20 GB)
     Array Size : 5860558848 (2794.53 GiB 3000.61 GB)
      Used Size : 1953519616 (931.51 GiB 1000.20 GB)
   Super Offset : 1953519984 sectors
          State : clean
    Device UUID : baadedc2:eb89645d:e073990f:f98b88b2
 
    Update Time : Tue Jul 21 15:39:04 2009
       Checksum : 454ebf9e - correct
         Events : 3926
 
         Layout : left-symmetric
     Chunk Size : 64K
 
    Array Slot : 0 (0, failed, 2, failed, failed)
   Array State : U_u_ 3 failed


 

Citation :

16:05 root@**** /home/****# mdadm --examine /dev/sdb1
mdadm: Unknown keyword efd:
/dev/sdb1:
          Magic : a92b4efc
        Version : 01
    Feature Map : 0x0
     Array UUID : e442ef1d:5635fe57:ddc72c72:964d79fb
           Name : '****':0
  Creation Time : Thu Jan  1 13:39:07 2009
     Raid Level : raid5
   Raid Devices : 4
 
    Device Size : 1953519856 (931.51 GiB 1000.20 GB)
     Array Size : 5860558848 (2794.53 GiB 3000.61 GB)
      Used Size : 1953519616 (931.51 GiB 1000.20 GB)
   Super Offset : 1953519984 sectors
          State : clean
    Device UUID : 693c6ba1:a794247a:0ab3f753:c0638944
 
    Update Time : Tue Jul 21 15:39:04 2009
       Checksum : 16eb6ffa - correct
         Events : 3924
 
         Layout : left-symmetric
     Chunk Size : 64K
 
    Array Slot : 1 (0, failed, 2, failed)
   Array State : u_u_ 2 failed


 

Citation :

16:08 root@**** /home/****# mdadm --examine /dev/sdc1
mdadm: Unknown keyword efd:
/dev/sdc1:
          Magic : a92b4efc
        Version : 01
    Feature Map : 0x0
     Array UUID : e442ef1d:5635fe57:ddc72c72:964d79fb
           Name : '****:0
  Creation Time : Thu Jan  1 13:39:07 2009
     Raid Level : raid5
   Raid Devices : 4
 
    Device Size : 1953519856 (931.51 GiB 1000.20 GB)
     Array Size : 5860558848 (2794.53 GiB 3000.61 GB)
      Used Size : 1953519616 (931.51 GiB 1000.20 GB)
   Super Offset : 1953519984 sectors
          State : clean
    Device UUID : b997ab47:6e9bade8:0ad9cc76:789d1f59
 
    Update Time : Tue Jul 21 15:39:04 2009
       Checksum : 632031cb - correct
         Events : 3926
 
         Layout : left-symmetric
     Chunk Size : 64K
 
    Array Slot : 2 (0, failed, 2, failed, failed)
   Array State : u_U_ 3 failed


 

Citation :

16:09 root@**** /home/****# mdadm --examine /dev/sdd1
mdadm: Unknown keyword efd:
/dev/sdd1:
          Magic : a92b4efc
        Version : 01
    Feature Map : 0x0
     Array UUID : e442ef1d:5635fe57:ddc72c72:964d79fb
           Name : '****':0
  Creation Time : Thu Jan  1 13:39:07 2009
     Raid Level : raid5
   Raid Devices : 4
 
    Device Size : 1953519856 (931.51 GiB 1000.20 GB)
     Array Size : 5860558848 (2794.53 GiB 3000.61 GB)
      Used Size : 1953519616 (931.51 GiB 1000.20 GB)
   Super Offset : 1953519984 sectors
          State : clean
    Device UUID : 4b69aceb:957f7c13:c5c873f7:fb6ba476
 
    Update Time : Tue Jul 21 15:39:04 2009
       Checksum : d01ba5c3 - correct
         Events : 3924
 
         Layout : left-symmetric
     Chunk Size : 64K
 
    Array Slot : 4 (0, failed, 2, failed)
   Array State : u_u_ 2 failed


Reply

Marsh Posté le 25-07-2009 à 14:51:16    

une fois ta pile démarrée :

 

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md0 --remove /dev/sdd1

 

ça va enlever les deux disques de ta pile, puisqu'ils sont marqués comme défaillant

 

(en "vrai", là tu enlèverai les disques de la machine, et les remplacerai par des tout neuf)

 

ensuite :
mdadm --manage /dev/md0 --add /dev/sdb1
mdadm --manage /dev/md0 --add /dev/sdd1

 


tiens moi au courant ...

 


edit : le seul truc à ne surtout pas faire si tu ne veux pas perdre tes données c'est un --create
toutes les autres commandes sont sinon a priori sans risques (a priori car c'est modulo le fait que le contenu des disques soit toujours bon ...)


Message édité par fighting_falcon le 25-07-2009 à 14:52:17
Reply

Marsh Posté le 25-07-2009 à 15:34:54    

Citation :

16:56 root@**** /home/****# mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm: Unknown keyword efd:
mdadm: hot remove failed for /dev/sdb1: No such device
zsh: exit 1     mdadm --manage /dev/md0 --remove /dev/sdb1
16:57 root@**** /home/****# mdadm --manage /dev/md0 --remove /dev/sdd1
mdadm: Unknown keyword efd:
mdadm: hot remove failed for /dev/sdd1: No such device
zsh: exit 1     mdadm --manage /dev/md0 --remove /dev/sdd1
16:57 root@**** /home/****# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: Unknown keyword efd:
mdadm: add new device failed for /dev/sdb1 as 4: Invalid argument
zsh: exit 1     mdadm --manage /dev/md0 --add /dev/sdb1


 
Merci pour ta précision :

Citation :

edit : le seul truc à ne surtout pas faire si tu ne veux pas perdre tes données c'est un --create
toutes les autres commandes sont sinon a priori sans risques (a priori car c'est modulo le fait que le contenu des disques soit toujours bon ...)


il est vrai que j'ai un peu peur de perdre toutes mes données.
 
Je suis désolé de mettre autant de temps à répondre mais j'ai deux problèmes à résoudre en parallèle mon raid et un problème de lenteur de communication réseau avec ce serveur (même du ssh lag c'est pour dire alors que je suis en local) Je pense que ça vient du DHCP
 
edit : j'ai essayé de forcer de demarrage du raid et il met :

Citation :

mdadm --assemble -R -f /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: Unknown keyword efd:
mdadm: failed to RUN_ARRAY /dev/md0: Input/output error
zsh: exit 1     mdadm --assemble -R -f /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1


 


Message édité par Brian14 le 25-07-2009 à 17:50:12
Reply

Marsh Posté le 25-07-2009 à 18:01:01    

hop hop hop ....
 
n'essaie pour l'instant surtout rien sur ta pile raid tant que tu as ce message :

Citation :

/dev/sdb1: No such device


 
tes disques sont tous bien branchés ?
ils sont détectés par le noyau ?
tu as les fichiers correspondant dans /dev ?
tu as accès à tes disques (fdisk -l /dev/sdb, hdparm -tT /dev/sdb) ??
 
 
 
sinon, pour ton problème de lag, peut être une histoire de reverse DNS ...

Reply

Marsh Posté le 25-07-2009 à 18:46:20    

tu sais comment résoudre le problème de reverse DNS ?  
je peux pas installer hdparm pour tester.
 
fdisk -l me montre les 4 disques durs de 1To, la commande cfdisk montre les partitions. la commande ls m'affiche les 8 répertoire des disques durs /dev/sd* et /dev/sd*1.
 
edit : Il faudrai pas que je supprime mon fichier de configuration de mdadm ?


Message édité par Brian14 le 25-07-2009 à 18:52:03
Reply

Marsh Posté le 27-07-2009 à 10:07:35    

bon alors là ton truc m'inquiètes ....
 
tes disques et partoches sont bien accessible, mais tu ne peux pas enlever un device de ta pile ...
tu n'arrives pas non plus à forcer l'assemblage de ta pile en mode dégradé ...
 
lors du --remove, ta pile était bien assemblée ?

Reply

Marsh Posté le 27-07-2009 à 10:07:35   

Reply

Marsh Posté le 31-07-2009 à 09:46:03    

Désolé d'avoir mis autant de temps à répondre mais j'ai été beaucoup pris ces dernier temps.
 
Je pense que le problème vient de :

Citation :

Array Slot : 4 (0, failed, 2, failed)
   Array State : u_u_ 2 failed


Quand je tape la commande examine il y a un moyen de changer les failed en 1 et 3 ?
 
Quand je tape mdadm --detail /dev/md0 à chaque fois j'ai :

Citation :

State : active, degraded, Not Started


C'est peu être de la que ca va pas aussi.


Message édité par Brian14 le 31-07-2009 à 09:47:25
Reply

Marsh Posté le 31-07-2009 à 11:31:46    

J'ai l'impression que c'est peine perdue d'essayer de ranimer ton raid ...
Je pense que tu n'arriveras jamais à réintégrer sdb1 et sdd1 dans ta pile car les données d'appartenance au raid sont incohérentes par rapport à sda1 et sdc1 (enfin, il me semble).
 
sur sda1 et sdc1:

Citation :

Array Slot : 0 (0, failed, 2, failed, failed)
Array State : U_u_ 3 failed


Pourquoi y a-t-il 3 "failed" et un total de 5 membres ??
 
sur sdb1 et sdd1:

Citation :

Array Slot : 1 (0, failed, 2, failed)
Array State : u_u_ 2 failed


Ici ça me semble plus normal.
 
Pour les cas désespérés, il est possible de rattraper le coup, en forçant la re-création de la grappe à l'identique de ce qu'elle était auparavant. Dans ce cas, les données ne sont pas perdues.
Vu que tes données n'ont à priori pas été modifiées depuis que ton raid est tombé (puisqu'il est devenu inaccessible aussitôt), normalement les données présentes sur chaque disque sont toujours cohérentes et tu n'auras rien perdu.
J'ai déjà sauvé des grappes raid-0 et raid-5 de cette manière.
 
Voyons voir ton cas.
A NE FAIRE QUE SI TU ES VRAIMENT SUR DE TON COUP ! JE NE SUIS PAS RESPONSABLE SI TU PERDS TES DONNEES ! DE PLUS C'EST IRREVERSIBLE, SI TU COMMENCES LES MANIPS, PAS DE RETOUR EN ARRIERE POSSIBLE !
Il semble que ton raid était construit avec les options par défaut, du coup il est facile de retrouver la commande qui t'a permis de le construire. Ca devait être à peu près (NE TAPES PAS CETTE COMMANDE !!!):

# mdadm -C /dev/md0 -l 5 -n 4 -x 0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1


 
Vu que c'est un raid-5, la resynchro qui va suivre la création du raid risquerait de te faire perdre des données si jamais on le créeait différemment de ce qu'il était avant. Pour éviter la synchro initiale, on va créer un raid-5 volontairement dégradé avec seulement 3 disques sur 4.

# mdadm -S /dev/md0
# mdadm -C /dev/md0 -l 5 -n 4 -x 0 -f /dev/sda1 /dev/sdb1 /dev/sdc1 missing


Tu respires un grand coup, tu réfléchis une dernière fois, et tu peux appuyer sur "yes" pour confirmer.
 
Si ça ne marche pas, à priori tu n'auras rien perdu puisque mdadm n'aura rien fait.
 
Si ça marche, un petit FSCK nous donnera une indication de santé du filesystem. Le paramètre "-n" indique qu'on vérifie seulement le filesystem, sans le modifier (on sait jamais !).
Si FSCK fonctionne, tu peux ensuite monter ton filesystem:

# fsck -n /dev/md0
# mount -t auto /dev/md0 /mnt/......


 
Si ça marche, je t'invite à backuper, dans la mesure du possible, les données.
 
Enfin, tu peux réinitialiser le 4ème disque dur avant de l'ajouter à la grappe (si tu ne le rinces pas, mdadm va se plaindre qu'il appartient déja à un autre raid):

# dd if=/dev/zero of=/dev/sdd bs=1M count=1
# fdisk /dev/sdd (tu recréé la partition sdd1)
# mdadm --add /dev/md0 /dev/sdd1


 
Voila voila ... de part mon expérience, je n'aurai pas trop peur de le faire (quand on sait ce que l'on fait, y a pas de raison d'avoir peur). A toi de voir si tu es prêt à tenter cette méthode.


Message édité par [Albator] le 31-07-2009 à 11:36:59
Reply

Marsh Posté le 31-07-2009 à 12:20:57    

j'en arrive au même point qu'Albator ...

Reply

Marsh Posté le 31-07-2009 à 15:02:10    

Pour créer mon raid je me suis servit du tuto du site http://georges.roux.pacageek.org/W [...] Raid5.html
 
La commande pour créer le raid était :  

Citation :

mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=4 /dev/sd[abcd]1/p>


 
Est-ce que ca change la commande ?
 
Et pour la partition lvm dessus il n'y aura pas de problème ?


Message édité par Brian14 le 31-07-2009 à 15:16:39
Reply

Marsh Posté le 13-08-2009 à 20:07:29    

Après plusieurs jours d'hésitation j'ai suivi la manip mais fsck renvoie une erreur.  
 

Citation :

fsck -n /dev/vg_raid/lv_raid  
fsck 1.40-WIP (14-Nov-2006)
e2fsck 1.40-WIP (14-Nov-2006)
Les descripteurs de groupe semblent en mauvais état... tente d'archiver les blocs...
raid n'a pas été démonté proprement, vérification forcée.
Passe 1 : vérification des i-noeuds, des blocs et des tailles
Passe 2 : vérification de la structure des répertoires
Erreur lors de l'allocation d'une structure icount : Memory allocation failed
e2fsck: arrêté
zsh: exit 8     fsck -n /dev/vg_raid/lv_raid


 
Il y a un moyen de résoudre cette erreur ? ou c'est foutu j'ai perdu toutes mes données ?

Reply

Marsh Posté le 18-08-2009 à 10:27:44    

est-ce normal d'obtenir ces informations sur les partitions qui contiennent le raid ?
je n'ai pas mis sda1 car il a une liste d'erreur pour presque tout les blocs
 

Citation :

12:00 root@**** /home/****# e2fsck -n /dev/sdb1
e2fsck 1.40-WIP (14-Nov-2006)
Les descripteurs de groupe semblent en mauvais état... tente d'archiver les blocs...
Le superbloc du journal Ext3 est corrompu.
Corriger ? no (pour non)
 
e2fsck: The ext2 superblock is corrupt lors de la vérification du journal ext3 pour /dev/sdb1
zsh: exit 8     e2fsck -n /dev/sdb1
12:00 root@**** /home/****# e2fsck -n /dev/sdc1
e2fsck 1.40-WIP (14-Nov-2006)
Les descripteurs de groupe semblent en mauvais état... tente d'archiver les blocs...
le superbloc a un journal ext3 invalide (i-noeud 8).
Effacer ? no (pour non)
 
e2fsck: Illegal inode number lors de la vérification du journal ext3 pour /dev/sdc1
zsh: exit 8     e2fsck -n /dev/sdc1
12:00 root@**** /home/****# e2fsck -n /dev/sdd1
e2fsck 1.40-WIP (14-Nov-2006)
Impossible de trouver le superbloc ext2, tente d'archiver les blocs...
le superbloc a un journal ext3 invalide (i-noeud 8).
Effacer ? no (pour non)
 
e2fsck: Illegal inode number lors de la vérification du journal ext3 pour /dev/sdd1
zsh: exit 8     e2fsck -n /dev/sdd1


Message édité par Brian14 le 18-08-2009 à 10:38:49
Reply

Marsh Posté le 18-08-2009 à 10:38:32    

oui c'est possible.
Tu peux créer un raid dégradé avec n'importe quel disque "missing".
Mais je te suggère fortement de chercher à accéder aux données AVANT d'ajouter le 4ème disque.
 
En résumé:
- Tu déclares un raid "dégradé" (avec 3 disques sur 4)
- Tu vérifies que tu accèdes aux données DU RAID (mount, fsck ...) et pas des disques !
- Seulement si les données sont OK, tu ajoutes le disque manquant.
 
Par ailleurs, il ne faut surtout pas faire de fsck sur les disques individuellement !!!!
Chacun d'entre eux ne contient que des morceaux de filesystem, il est normal que fsck retourne des erreurs !


Message édité par [Albator] le 18-08-2009 à 10:41:49
Reply

Marsh Posté le 18-08-2009 à 10:43:48    

Citation :

mdadm: /dev/sdb1 appears to contain an ext2fs file system
    size=976760000K  mtime=Thu Jan  1 01:00:00 1970

mdadm: /dev/sdb1 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Thu Aug 13 18:52:31 2009

mdadm: /dev/sdc1 appears to contain an ext2fs file system
    size=976760000K  mtime=Thu Jan  1 01:00:00 1970

mdadm: /dev/sdc1 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Thu Aug 13 18:52:31 2009

mdadm: /dev/sdd1 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Thu Jan  1 13:39:07 2009

Continue creating array?


 
ce qui me gène quand je crée mon raid c'est ce qui manque et ca me le met pour sda1 et sdd1 :

Citation :

mdadm: /dev/sd*1 appears to contain an ext2fs file system
    size=976760000K  mtime=Thu Jan  1 01:00:00 1970


 


Message édité par Brian14 le 18-08-2009 à 11:01:54
Reply

Marsh Posté le 18-08-2009 à 13:55:39    

C'était bien la partition sda1 qui était corrompu par contre fsck renvoie toujours une erreur.
 

Citation :

fsck -n /dev/vg_raid/lv_raid
fsck 1.40-WIP (14-Nov-2006)
e2fsck 1.40-WIP (14-Nov-2006)
raid n'a pas été démonté proprement, vérification forcée.
Passe 1 : vérification des i-noeuds, des blocs et des tailles
Passe 2 : vérification de la structure des répertoires
Erreur lors de l'allocation d'une structure icount : Memory allocation failed
e2fsck: arrêté
zsh: exit 8     fsck -n /dev/vg_raid/lv_raid


 
Mais après un mount j'ai pu lire toutes mes données donc je pense que le raid est réparé.

Reply

Marsh Posté le 18-08-2009 à 14:37:00    

J'ai l'impression que le problème du fsck n'a rien à voir ...
On dirait que ce problème est plutot lié au fait que le filesystem est trop gros (3 To) comparativement à la taille de la ram ...
Ou peut être que ta distrib est ancienne et que tu vas avoir des problèmes à la longue.


Message édité par [Albator] le 18-08-2009 à 14:38:48
Reply

Marsh Posté le 18-08-2009 à 15:55:29    

c'est une debian avec un noyau 2.6.18-6-486
et pour la ram j'ai 256Mo

Citation :

#free
                 total          used       free       shared    buffers     cached
Mem:        257084      253052    4032          0        4164        225832
-/+ buffers/cache:       23056      234028
Swap:       192772      13516      179256


 
La taille du swap a l'air un peu faible il faudrait peut être que je l'augmente jusqu'à 512Mo (ram X2 )

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed