2013-06-04 08:15:37 +0000 2013-06-04 08:15:37 +0000
22
22

Comment puis-je réactiver ma matrice MDADM RAID5 ?

Je viens de déménager, ce qui a nécessité de démonter mon serveur et de le reconnecter. Depuis lors, une de mes matrices MDADM RAID5 apparaît comme inactive :

root@mserver:/tmp# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md1 : active raid5 sdc1[1] sdh1[2] sdg1[0]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : inactive sdd1[0](S) sdf1[3](S) sde1[2](S) sdb1[1](S)
      3907039744 blocks

unused devices: <none>

Il me semble qu'elle a trouvé tous les disques mais que, pour une raison quelconque, elle ne veut pas les utiliser.

Alors que signifient les étiquettes (S) et comment puis-je dire à MDADM de recommencer à utiliser le tableau ?

[Edit] Je viens d'essayer d'arrêter et d'assembler le tableau avec -v :

root@mserver:~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

root@mserver:~# mdadm --assemble --scan -v
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdd1 to /dev/md0 as 0 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md0 as 1 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

..et entrer le chat /proc/mdstat ne semble pas différent.

[Edit2] Je ne sais pas si cela aide mais c'est le résultat de l'examen de chaque disque :

root@mserver:~# mdadm –examine /dev/sdb1

/dev/sdb1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb 1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71a3 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number Major Minor RaidDevice State
this 1 8 17 1 active sync /dev/sdb1

   0 0 8 113 0 active sync /dev/sdh1
   1 1 8 17 1 active sync /dev/sdb1
   2 2 8 97 2 active sync /dev/sdg1
   3 3 8 33 3 active sync /dev/sdc1

root@mserver:~# mdadm –examine /dev/sdd1

/dev/sdd1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb 1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sat Apr 20 18:37:23 2013
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c812869 - correct
         Events : 955205

         Layout : left-symmetric
     Chunk Size : 64K

      Number Major Minor RaidDevice State
this 0 8 113 0 active sync /dev/sdh1

   0 0 8 113 0 active sync /dev/sdh1
   1 1 0 0 1 faulty removed
   2 2 8 97 2 active sync /dev/sdg1
   3 3 0 0 3 faulty removed

root@mserver : ~# mdadm –examine /dev/sde1

/dev/sde1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb 1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun Apr 21 14:00:43 2013
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c90cc70 - correct
         Events : 955219

         Layout : left-symmetric
     Chunk Size : 64K

      Number Major Minor RaidDevice State
this 2 8 97 2 active sync /dev/sdg1

   0 0 0 0 0 removed
   1 1 0 0 1 faulty removed
   2 2 8 97 2 active sync /dev/sdg1
   3 3 0 0 3 faulty removed

root@mserver:~# mdadm –examine /dev/sdf1

/dev/sdf1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb 1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71b7 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number Major Minor RaidDevice State
this 3 8 33 3 active sync /dev/sdc1

   0 0 8 113 0 active sync /dev/sdh1
   1 1 8 17 1 active sync /dev/sdb1
   2 2 8 97 2 active sync /dev/sdg1
   3 3 8 33 3 active sync /dev/sdc1

J'ai quelques notes qui suggèrent que les lecteurs ont été assemblés à l'origine comme suit :

md0 : active raid5 sdb1[1] sdc1[3] sdh1[0] sdg1[2]
      2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

[Edit3]

En regardant le journal, il semble que ce qui suit soit arrivé (basé sur le Update Time dans les résultats --examine) :

  1. sdb et sdf ont été détruits quelque temps après 13:22 le 20
  2. sdd a été détruit quelque temps après 18:37 le 20
  3. le serveur a été arrêté quelque temps après 14:00 le 1er

Étant donné que deux disques sont tombés (apparemment) simultanément, je pense qu'il est raisonnable de supposer que le tableau n'aurait pas été écrit après ce point( ?) et qu'il est donc relativement sûr de le forcer à être rétabli dans le bon ordre ? Quelle est la commande la plus sûre pour faire cela et y a-t-il un moyen de le faire sans écrire de modifications ?

Réponses (3)

28
28
28
2013-06-04 09:14:49 +0000

Les étiquettes S signifient que le disque est considéré comme “de rechange”. Vous devriez essayer d'arrêter et de redémarrer le réseau :

mdadm --stop /dev/md0
  mdadm --assemble --scan

pour réassembler le tableau et si cela ne fonctionne pas, vous devrez peut-être mettre à jour votre mdadm.conf, voir par exemple cette question pour savoir comment faire.

9
9
9
2014-09-13 01:33:49 +0000

Cette question est un peu ancienne, mais la réponse pourrait aider une personne confrontée à une situation similaire. Si l'on regarde les comptes d'événements de la sortie mdadm –examine que vous avez fournie, ils semblent assez proches (955190 - pour sdb1 et sdf1, 955219 pour sde1 et pour sdd1 vous avez 955205). S'ils sont inférieurs à 40-50, c'est bon, et dans ce cas la ligne de conduite recommandée est d'assembler votre tableau manuellement, en forçant mdadm à accepter les lecteurs malgré la différence de nombre d'événements :

Arrêtez le tableau :

mdadm --stop /dev/md0

Puis essayez de réassembler le tableau manuellement :

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1

Vérifiez l'état du tableau, pour examiner si la liste/structure des lecteurs est OK (la sortie de la commande en bas de page indiquera quel lecteur est à quel état et à quelle position dans le tableau) :

mdadm --detail /dev/md0

Si la structure est OK, vérifiez la progression de la reconstruction :

cat /proc/mdstat
0
0
0
2013-06-04 09:02:31 +0000

Vous pouvez activer le Raid md0 avec la commande ci-dessous

mdadm -A /dev/md0

et cette commande pour mettre à jour le fichier mdadm.conf

mdadm --examine --scan >> /etc/mdadm/mdadm.conf