Wie reaktiviere ich mein MDADM RAID5-Array?

22

Ich bin gerade umgezogen und musste meinen Server demontieren und erneut verbinden. Seitdem wird eines meiner MDADM RAID5-Arrays als inaktiv angezeigt:

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>

Es sieht für mich so aus, als hätte man alle Datenträger gefunden, möchte sie aber aus irgendeinem Grund nicht verwenden.

Was bedeuten die (S) -Labels und wie kann ich MDADM anweisen, das Array wieder zu verwenden?

[Bearbeiten] Ich habe gerade versucht, das Array zu stoppen und zusammenzusetzen mit -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.

..und Eingabe Katze /proc/mdstatsieht nicht anders aus.

[Edit2] Ich bin mir nicht sicher, ob es hilft, aber das ist das Ergebnis der Untersuchung jeder einzelnen Festplatte:

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

Ich habe einige Notizen, die darauf hindeuten, dass die Laufwerke ursprünglich wie folgt zusammengebaut wurden:

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

[Edit3]

Wenn Sie das Protokoll durchsehen, sieht es so aus, als ob Folgendes passiert ist (basierend auf Update Timeden --examineErgebnissen):

  1. sdb und sdf wurden einige zeit nach 13:22 am 20. ausgemerzt
  2. sdd wurde einige Zeit nach 18:37 am 20. aus dem Turnier geworfen
  3. Der Server wurde am 1. nach 14:00 Uhr heruntergefahren

Angesichts der Tatsache, dass (anscheinend) zwei Festplatten gleichzeitig ausfielen, sollte es einigermaßen sicher sein, anzunehmen, dass das Array nach diesem Zeitpunkt nicht mehr beschrieben wurde (?), Und es sollte daher relativ sicher sein, es zum Wiedereinsetzen in das Array zu zwingen korrekten Reihenfolge? Was ist der sicherste Befehl, um dies zu tun, und gibt es eine Möglichkeit, dies zu tun, ohne Änderungen zu schreiben?

Jon Cage
quelle

Antworten:

28

Die SBeschriftung bedeutet, dass die Festplatte als "Ersatzlaufwerk" angesehen wird. Sie sollten versuchen, das Array zu stoppen und neu zu starten:

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

Um das Array wieder zusammenzubauen, und wenn dies nicht funktioniert, müssen Sie möglicherweise Ihr Array aktualisieren. Weitere Informationen mdadm.confhierzu finden Sie beispielsweise in dieser Frage .

Stefan Seidel
quelle
Versucht , dass (und hinzugefügt , -vum zu sehen , was los war) , aber alle die Scheiben , die hinzugefügt werden sollen die Antworten auf den folgenden Zeilen erhalten: mdadm: /dev/sdb1 is busy - skipping.
Jon Cage
Stoppen Sie einfach md0 und bauen Sie das Array wieder zusammen
krizna
versuchte das - immer noch kein Glück (siehe meine Bearbeitung)
Jon Cage
2
Es sieht so aus, als ob das RAID nicht ordnungsgemäß heruntergefahren wurde. Wenn Sie sicher sind, dass dies nicht der Fall ist, versuchen Sie es mit -Roder -f. Wenn dies ebenfalls fehlschlägt, erstellen Sie das Array mit neu mdadm create /dev/md0 --assume-clean <original create options> /dev/sd[dbfe]1. Seien Sie gewarnt: Alle diese Optionen können Ihre Daten zerstören.
Stefan Seidel
3
Nun, ich habe es versucht und mdadm --assemble --scan --forcegearbeitet. Das Array ist wieder in Betrieb und ich habe Zugriff auf meine Daten :)
Jon Cage
9

Diese Frage ist ein bisschen alt, aber die Antwort könnte jemandem in einer ähnlichen Situation helfen. Mit Blick auf den Ereigniszählungen von der mdadm --examine Ausgabe , die Sie zur Verfügung gestellt haben, scheinen sie nahe genug (955.190 - für sdb1 und sdf1, 955.219 für sde1 und für sdd1 haben Sie 955.205 bekommen). Wenn sie unter 40-50 liegen, ist dies in Ordnung. In diesem Fall besteht die empfohlene Vorgehensweise darin, das Array manuell zusammenzustellen und mdadm zu zwingen, die Laufwerke trotz des Unterschieds in der Ereignisanzahl zu akzeptieren:

Stoppen Sie das Array:

mdadm --stop /dev/md0

Versuchen Sie dann, das Array manuell wieder zusammenzusetzen:

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

Überprüfen Sie den Status des Arrays, um zu überprüfen, ob die Laufwerksliste / -struktur in Ordnung ist (unten in der Befehlsausgabe wird angezeigt, welches Laufwerk sich in welchem ​​Status und an welcher Position im Array befindet):

mdadm --detail /dev/md0

Wenn die Struktur in Ordnung ist, überprüfen Sie den Wiederherstellungsfortschritt:

cat /proc/mdstat
Milen
quelle
0

Sie können Raid md0 mit dem folgenden Befehl aktivieren

mdadm -A /dev/md0

und dieser Befehl zum Aktualisieren der Datei mdadm.conf

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