web-dev-qa-db-fra.com

Comment réactiver ma matrice MDADM RAID5?

Je viens de déménager, ce qui impliquait de démonter mon serveur et de le reconnecter. Depuis, 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 que tous les disques ont été trouvés mais, pour une raison quelconque, ne veut pas les utiliser.

Que signifient les libellés (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 la saisie du chat /proc/mdstat ne fait pas exception.

[Edit2] Je ne suis pas sûr que 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 disques 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 à travers le journal, on dirait que ce qui suit est arrivé (basé sur le Update Time dans les résultats de --examine):

  1. sdb et sdf ont été assommés quelque temps après 13h22 le 20
  2. sDD a été assommé quelque temps après 18h37 le 20
  3. le serveur a été fermé quelque temps après 14h00 le 1er

Étant donné que deux disques sont tombés (apparemment) simultanément, je pense qu’il devrait être raisonnablement prudent de supposer que le tableau n’aurait pas été écrit après (?) Et qu’il devrait donc être relativement sûr de le forcer à se réinstaller dans le bon ordre? Quelle est la commande la plus sûre pour le faire et existe-t-il un moyen de le faire sans écrire de modifications?

21
Jon Cage

Les étiquettes S signifient que le disque est considéré comme "en réserve". Vous devriez essayer d'arrêter et de redémarrer le tableau:

  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 plus d'informations sur la procédure à suivre. fais ça.

28
Stefan Seidel

Cette question est un peu ancienne, mais la réponse pourrait aider une personne confrontée à une situation similaire. En regardant le nombre 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 OK, et dans ce cas, la marche à suivre recommandée consiste à assembler votre matrice manuellement, en obligeant mdadm à accepter les lecteurs malgré la différence de nombre d'événements:

Arrêtez le tableau:

mdadm --stop /dev/md0

Ensuite, essayez de réassembler le tableau manuellement:

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

Vérifiez l'état de la matrice pour vérifier si la liste/structure du lecteur est correcte (le bas de la sortie de la commande indique quel lecteur se trouve à quel statut et à quelle position dans la matrice):

mdadm --detail /dev/md0

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

cat /proc/mdstat
6
Milen

Vous pouvez activer 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
0
krizna