Problème avec un raid 5 logiciel (mdadm) [résolu] - Logiciels - Linux et OS Alternatifs
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"
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 |
Donc j'ai essayé de stopper le raid puis de le relancer :
Citation : 11:52 root@**** /home/****# mdadm --stop /dev/md0 |
Citation : 11:54 root@**** /home/****# cat /proc/mdstat |
Citation : 12:02 root@**** /home/****# mdadm --detail /dev/md0 |
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
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 |
Citation : 16:05 root@**** /home/****# mdadm --examine /dev/sdb1 |
Citation : 16:08 root@**** /home/****# mdadm --examine /dev/sdc1 |
Citation : 16:09 root@**** /home/****# mdadm --examine /dev/sdd1 |
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 ...)
Marsh Posté le 25-07-2009 à 15:34:54
Citation : 16:56 root@**** /home/****# mdadm --manage /dev/md0 --remove /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 |
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 |
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 ...
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 ?
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 ?
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) |
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.
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) |
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) |
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 |
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 |
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 |
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.
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 ?
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 |
Il y a un moyen de résoudre cette erreur ? ou c'est foutu j'ai perdu toutes mes données ?
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 |
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 !
Marsh Posté le 18-08-2009 à 10:43:48
Citation : mdadm: /dev/sdb1 appears to contain an ext2fs file system |
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 |
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 |
Mais après un mount j'ai pu lire toutes mes données donc je pense que le raid est réparé.
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.
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 |
La taille du swap a l'air un peu faible il faudrait peut être que je l'augmente jusqu'à 512Mo (ram X2 )
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