2 votes

linux raid 1 : juste après avoir remplacé et synchronisé un disque, l'autre disque tombe en panne - comprendre ce qui se passe avec mdstat/mdadm

Nous avons un vieux serveur Linux RAID 1 (Ubuntu Lucid 10.04), avec quatre partitions. Il y a quelques jours, /dev/sdb est tombé en panne, et aujourd'hui nous avons remarqué que /dev/sda avait des signes SMART inquiétants avant la panne (~4000 secteurs réalloués). Nous avons remplacé /dev/sdb ce matin et reconstruit le RAID sur le nouveau disque, en suivant ce guide :

http://www.howtoforge.com/replacing_hard_disks_in_a_raid1_array

Tout s'est bien passé jusqu'à la fin. Alors qu'il semblait que la synchronisation de la dernière partition était sur le point de se terminer, l'autre ancienne partition a échoué. À ce stade, je suis très incertain de l'état du système. Tout semble fonctionne et les fichiers semblent tous accessibles, comme s'il avait tout synchronisé, mais je suis novice en matière de RAID et je m'inquiète de ce qui se passe.

La sortie de /proc/mdstat est :

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md3 : active raid1 sdb4[2](S) sda4[0]
      478713792 blocks [2/1] [U_]

md2 : active raid1 sdb3[1] sda3[2](F)
      244140992 blocks [2/1] [_U]

md1 : active raid1 sdb2[1] sda2[2](F)
      244140992 blocks [2/1] [_U]

md0 : active raid1 sdb1[1] sda1[2](F)
      9764800 blocks [2/1] [_U]

unused devices: <none>

L'ordre de [_U] vs [U_] . Pourquoi ne sont-ils pas cohérents sur tout le réseau ? Est-ce que le premier U /dev/sda ou /dev/sdb ? (J'ai essayé de chercher sur le web cette information triviale mais je n'ai trouvé aucune indication explicite) Si je lis correctement pour md0, [_U] devraient être /dev/sda1 (down) et /dev/sdb1 (up). Mais si /dev/sda a échoué, comment peut-il être le en face de pour md3 ? Je comprends que /dev/sdb4 est maintenant libre parce qu'il n'a probablement pas réussi à le synchroniser à 100%, mais pourquoi montre-t-il /dev/sda4 comme étant en haut ? Cela ne devrait-il pas être [__] ? Ou [_U] de toute façon ? Le lecteur /dev/sda n'est apparemment plus accessible par SMART, donc je ne m'attendrais pas à ce qu'il soit en marche. Qu'est-ce qui ne va pas dans mon interprétation de la sortie ?

Je joins également les sorties de mdadm --detail pour les quatre partitions :

/dev/md0:
        Version : 00.90
  Creation Time : Fri Jan 21 18:43:07 2011
     Raid Level : raid1
     Array Size : 9764800 (9.31 GiB 10.00 GB)
  Used Dev Size : 9764800 (9.31 GiB 10.00 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Nov  5 17:27:33 2013
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

           UUID : a3b4dbbd:859bf7f2:bde36644:fcef85e2
         Events : 0.7704

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

       2       8        1        -      faulty spare   /dev/sda1

/dev/md1:
        Version : 00.90
  Creation Time : Fri Jan 21 18:43:15 2011
     Raid Level : raid1
     Array Size : 244140992 (232.83 GiB 250.00 GB)
  Used Dev Size : 244140992 (232.83 GiB 250.00 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Tue Nov  5 17:39:06 2013
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

           UUID : 8bcd5765:90dc93d5:cc70849c:224ced45
         Events : 0.1508280

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       18        1      active sync   /dev/sdb2

       2       8        2        -      faulty spare   /dev/sda2

/dev/md2:
        Version : 00.90
  Creation Time : Fri Jan 21 18:43:19 2011
     Raid Level : raid1
     Array Size : 244140992 (232.83 GiB 250.00 GB)
  Used Dev Size : 244140992 (232.83 GiB 250.00 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 2
    Persistence : Superblock is persistent

    Update Time : Tue Nov  5 17:46:44 2013
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

           UUID : 2885668b:881cafed:b8275ae8:16bc7171
         Events : 0.2289636

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       19        1      active sync   /dev/sdb3

       2       8        3        -      faulty spare   /dev/sda3

/dev/md3:
        Version : 00.90
  Creation Time : Fri Jan 21 18:43:22 2011
     Raid Level : raid1
     Array Size : 478713792 (456.54 GiB 490.20 GB)
  Used Dev Size : 478713792 (456.54 GiB 490.20 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 3
    Persistence : Superblock is persistent

    Update Time : Tue Nov  5 17:19:20 2013
          State : clean, degraded
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

    Number   Major   Minor   RaidDevice State
       0       8        4        0      active sync   /dev/sda4
       1       0        0        1      removed

       2       8       20        -      spare   /dev/sdb4

La synchronisation active sur /dev/sda4 me laisse perplexe.

Je suis inquiet car si demain matin je dois remplacer /dev/sda, je veux être sûr de ce que je dois synchroniser avec quoi et ce qui se passe. Je suis également assez déconcerté par le fait que /dev/sda a décidé de faire défaut exactement quand le raid a fini de se resynchroniser. J'aimerais comprendre ce qui se passe réellement.

Merci beaucoup pour votre patience et votre aide.

Massimo

1voto

nex3 Points 4309

Q1 : L'ordre de [ U] contre [U ]. Pourquoi ne sont-ils pas cohérents sur toute la matrice ? Le premier U est-il /dev/sda ou /dev/sdb ?

L'ordre est basé sur les numéros de RaidDevice. Ce sont les numéros entre les crochets des lignes comme ceci :

md3 : active raid1 sdb4[2](S) sda4[0]
      478713792 blocks [2/1] [U_]

md2 : active raid1 sdb3[1] sda3[2](F)
      244140992 blocks [2/1] [_U]

md1 : active raid1 sdb2[1] sda2[2](F)
      244140992 blocks [2/1] [_U]

...

Pour md3, le périphérique sda4 est le numéro 0. Le périphérique sdb4 est le n°2. Donc le U est pour le périphérique sba4. Pour md2 le U est pour le périphérique sda3, #2. Il semblerait donc que votre lecteur sdb soit celui qui a des problèmes, puisqu'aucune de ces partitions n'est listée comme "UP" alias "U". Elles sont toutes signalées comme "DOWN" alias "_".

Q2 : Ne devrait-il pas être [__] ? Ou [_U] de toute façon ?

La sortie de /proc/mdstat devrait être tout [UU] s aka. ils sont tous "UP". Par exemple, voici ma matrice RAID1, avec 2 membres.

$ cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 sdb1[1] sda1[0]
      976759936 blocks [2/2] [UU]

unused devices: <none>

Références

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X