Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2278 connectés 

 



Dernière réponse
Sujet : 2 disques "défecteux" dans un RAID-5 à 3 disques
yann911 Mon histoire est réglée et je n'ai perdu aucune donnée.
 
La procédure donnée ci-dessus était bien la bonne. Il s'est trouvé que j'avais 2 disques sur les 3 donnés comme défectueux, et tous les deux sur les secteurs 4512 et 4513. J'en ai remplacé un par un neuf (que j'ai d'abord cloné depuis un des deux "défectueux" ), puis formaté l'autre en bas-niveau avec l'outil Samsung, réinséré dans la matrice, puis reconstruit à partir des deux autres.
 
Finalement, j'ai aussi formaté en bas-niveau le disque que j'ai remplacé et je l'utilise maintenant par ailleurs. Même l'outil Samsung ne leur trouve plus d'erreur maintenant. Allez savoir ce qu'il s'est passé !

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
yann911 Mon histoire est réglée et je n'ai perdu aucune donnée.
 
La procédure donnée ci-dessus était bien la bonne. Il s'est trouvé que j'avais 2 disques sur les 3 donnés comme défectueux, et tous les deux sur les secteurs 4512 et 4513. J'en ai remplacé un par un neuf (que j'ai d'abord cloné depuis un des deux "défectueux" ), puis formaté l'autre en bas-niveau avec l'outil Samsung, réinséré dans la matrice, puis reconstruit à partir des deux autres.
 
Finalement, j'ai aussi formaté en bas-niveau le disque que j'ai remplacé et je l'utilise maintenant par ailleurs. Même l'outil Samsung ne leur trouve plus d'erreur maintenant. Allez savoir ce qu'il s'est passé !
yann911 Non, c'est du Samsung.
Oui, le create créé un nouvel uid. D'ailleurs le fait que tous les disques soient listés dans le detail indique qu'ils sont bien dans le même uid.
 
Bon, je crois que j'ai vraiment 2 disques défecteux. J'arrive même pas faire un dd if=/dev/sdc. Je comprends pas comment c'est possible d'avoir 2 disques défectueux en même temps et au même endroit.
roscocoltran C'est du seagate ?
 
sinon ton mdadm--detail ressemble au mien avant le --assume-clean.
 
check chaque superblock et vérifie que chaque uid est bien le même. je crois que le create refait un uid différend, donc check bien ça.
yann911 Euhhhh, bizarrement smartctl m'indique 2 disque défaillants sur les 3 anciens. Je comprends pas trop comment c'est possible. Surtout que pour tous les deux, j'obtiens ceci après un selftest :

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       20%      8217         4512


C'est pas bizarre d'avoir une erreur au même LBA ? Coïncidence ? Ou logique vu qu'ils fonctionnaient dans la même matrice RAID ?

yann911 Pardon, j'avais pas vu ton message. Je viens de remplacer le disque "défectueux" mais ça ne fonctionne pas mieux.
 
Le disque en question était sdb. Donc je suis reparti avec un :

# mdadm --create /dev/md0 --assume-clean --level=5 --raid-devices=3 --verbose --metadata=1.2 --auto=part /dev/sda missing /dev/sdc
# mdadm --zero-superblock /dev/sdb


A partir de là, j'ai accédé (en read-only bien sûr) à mes fichiers le temps de commander un nouveau disque. Donc aucune perte.
 
Ensuite remplacement du disque sdb par un neuf et :

# mdadm --add /dev/md0 /dev/sdb


 
Mais là j'ai exactement le même comportement qu'en faisant les mêmes opérations disque défectueux. Pendant une seconde ou deux, il fait genre il synchronise, et puis :

# mdadm --detail /dev/md0
[...]
    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       0        0        1      removed
       2       0        0        2      removed
 
       2       8       32        -      faulty spare   /dev/sdc
       3       8       16        -      spare   /dev/sdb
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdb[3](S) sdc[2](F) sda[0]
      1953524864 blocks super 1.2 level 5, 64k chunk, algorithm 2 [3/1] [U__]


 
Vous avez une idée ?

roscocoltran Quand j'avais fait mon create avec assume-clean, j'avais du reseter les uid sur les disques ensuite.
 
que dis ton /proc/mdstat en ce moment ?
yann911 Bon... ça se gâte quand je rajoute le troisième disque. Mais je viens de remarquer qu'il y a des erreurs de déclarée sur sdb avec 'smartctl -l error /dev/sdb'. Y a-t-il des erreurs "normales" ou est-ce que ça veut automatiquement dire que le disque est à changer ?
yann911 Bon, avec tout ce que j'ai appris, je pense à peu près savoir ce que je fais. Donc j'ai tapé :

mdadm --create /dev/md0 --assume-clean --level=5 --raid-devices=3 --verbose --metadata=1.2 --auto=part /dev/sda /dev/sdb missing


 
Ça a bien fonctionné. J'ai ensuite monté le filesystem en read-only et je suis maintenant en train de voir si mes fichiers sont bons. En tout cas, ils sont là et ils ont l'air corrects. Si à peu près tout se révèle correct, je passerai au zero-superblock, puis add du troisième disque.

fighting_falcon vu la technologie utilisée (raid5, c'est à dire parité = données A XOR données B), je ne pense pas ...
 
mais j'aimerai confirmation de la part d'autres membres ...
yann911 L'ordre des disques dans la commande --create a-t-il une importance ? Je ne suis pas sûr que les sda, sdb, sdc soient dans le même ordre que le jour où j'ai créé la matrice.
fighting_falcon esox_ch > l'utilitaire du constructeur ... (PowerMax pour Maxtor, ESTool pour Samsung, ...)
yann911 Ok, merci.
 
Je ne pense pas qu'ils soient défectueux. J'ai juste déplacé la machine, fait un peu de nettoyage vite fait, donc je pense plutôt à un mauvais contact au premier redémarrage (je n'ai vérifié les branchements qu'ensuite).
 
Est-ce que je peux indiquer sdb comme 'clean' malgré le fait qu'il ai été interrompu pendant une synchro (cf. 'Feature Map' et 'Recovery offset') ?
[Albator] En fait le pb est de savoir si un ou plusieurs disques sont vraiment défectueux (matériellement).
 
Si tu es sûr que les 3 sont en bon état, je te confirme que le simple fait de faire un mdadm --create (en respectant les paramètres d'origines de la grappe) va te garder les données, que la synchro soit déclenchée ou pas ... j'ai sauvé mes grappes raid un paquet de fois comme ça ... C'est le seul moyen quand les disques d'une grappe sont dans un état complètement incohérent.
 
Ensuite tu montes le filesystem, tu backupes tout ce que tu peux (si tu en as la possibilité), tu démontes, et tu fais un fsck !
yann911 --assemble ne fonctionne pas puisque les disques sont marqués défectueux. J'ai trouvé pas mal de posts où --create permet de récupérer un RAID si :
1) on réutilise les mêmes paramètres
2) on déclare un disque en "missing", ce qui permet de ne pas avoir de synchro automatique
 
Par contre 3 disques de 1To, ça va être chaud à sauvegarder pour moi. Bon, au pire, j'achète, je sauvegarde, je répare, je revends.
esox_ch Question en passant pour fighting_falcon : Tu utilises quoi pour faire la vérification de surface sous linux ?
fighting_falcon mdadm --create ça déjà clair et net c'est une bêtise !!! tu vas flinguer ta pile direct.
 
faut faire un mdadm --assemble ...
 
ensuite, même remarque que xytovl, je te suggère très fortement de te faire des images de tes disques avant de te lancer
 
je rajouterai même de vérifier complètement (tests SMART, surface, ...) tes deux disques sdb et sdc avant de tenter quoique ce soit niveau mdadm
xytovl La situation me semble très délicate ! Si tu as accès à beaucoup d'espace de stockage je te conseille de faire des images disque (dd if=/dev/sda of=/.../fichier) pour pouvoir recommencer en cas d'erreur.
 
Sinon je ne sais pas du tout la procédure à suivre pour essayer de récupérer quelque chose, je laisse les autres te répondre
yann911 Bonjour,
 
Hier j'ai déplacé ma machine et je ne peux maintenant plus accéder à la matrice RAID. C'est d'abord sdb qui a déconné, puis depuis le reboot suivant, sdc. Comme tout s'est produit pendant un intervalle de temps de quelques minutes et que je n'ai rien écrit, je pense que les données sont toujours là, intactes. J'ai juste peur de faire une bêtise et de tout perdre par ma faute (ça m'est déjà arrivé).
 
'mdadm --detail /dev/md0' donne :

/dev/md0:
        Version : 01.02
  Creation Time : Wed Apr 15 00:00:14 2009
     Raid Level : raid5
  Used Dev Size : 976762432 (931.51 GiB 1000.20 GB)
   Raid Devices : 3
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent
 
    Update Time : Thu Apr 22 23:40:27 2010
          State : active, degraded, Not Started
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1
 
         Layout : left-symmetric
     Chunk Size : 64K
 
           Name : server:d0  (local to host server)
           UUID : e84b8f97:fd7fd496:1f9adc88:b8915c4d
         Events : 299841
 
    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      spare rebuilding   /dev/sdb
       2       0        0        2      removed


 
Bien que sdb soit marqué "rebuilding", il n'y a pas de synchronisation en cours puisqu'il n'y a plus qu'un seul disque de valide. De plus, ses données semblent être à niveau vu la valeur de Events ici :

# mdadm --examine /dev/sd[abc] | grep Events
         Events : 299841
         Events : 299841
         Events : 299838


 
Du coup, je pensais recréer la matrice RAID en mode dégradé de cette façon :

mdadm --create /dev/md0 --assume-clean --level=5 --verbose --raid-devices=3 /dev/sda /dev/sdb missing


(comme expliqué ici : http://kevin.deldycke.com/tag/mdadm/)
 
Pour ensuite remettre sdc après avoir remis à zéro son superblock puis laisser faire la reconstruction.
 
Seulement le doute s'installe en moi quand je vois que 'mdadm --examine /dev/sdb' m'affiche (entre autre) :
 


Feature Map : 0x2
Recovery Offset : 6400 sectors


 
Ceci montre bien qu'une synchro était en cours avant que sdc s'arrête. Du coup est-ce qu'il vous semble sûr de lancer les opérations prévues ? Est-ce que cette synchro va s'annuler après le 'create --assume clean' ou est-ce que sdb va tenter de se synchroniser avec le sdc "vierge" que je vais remettre en dernière étape ?
 
Merci,
Yann


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR