mdadm: Reaktivierung des RAID6-Arrays nach falschem Herunterfahren

525
nonoitall

Ich habe ein RAID6-Array mit sieben Festplatten auf einem Dateiserver. Der Server stürzte ab und ein Hard Reset war erforderlich, was zu einem fehlerhaften Herunterfahren führte. Beachten Sie, dass zu diesem Zeitpunkt wahrscheinlich E / A-Aktivität auf dem Array auftrat. Ich gehe also davon aus, dass das Array überprüft werden muss, um mögliche Inkonsistenzen aufzulösen. Ich habe den Server neu gestartet und laut / proc / mdstat ist das Array inaktiv, aber alle Laufwerke werden mit einem (S) neben ihm angezeigt. (Spares?) Was ist die geeignete Maßnahme, um das Array zu reaktivieren und zu überprüfen? (Sobald das Array selbst wieder läuft und konsistent ist, werde ich natürlich das Dateisystem des Arrays überprüfen, aber ich brauche nur Hilfe, um den richtigen Weg zu finden, damit das Array wieder funktioniert.)

/ proc / mdstat

Personalities :  md0 : inactive sdf1[4](S) sdh1[1](S) sdg1[3](S) sdc1[7](S) sdd1[8](S) sdb1[6](S) sda1[5](S) 13674579968 blocks super 1.2  unused devices: <none> 

mdadm - examine / dev / sd 1

/dev/sda1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 14691340:39f90733:090f8d1d:992b9aa7  Update Time : Sun Nov 23 18:20:24 2014 Checksum : cd065d9e - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 6 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdb1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 01c26529:75542d96:c966fe26:f580dcdf  Update Time : Sun Nov 23 18:20:24 2014 Checksum : 5b31bee5 - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 5 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdc1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 24aa47a3:9f0a123e:f0ce78b2:774359bd  Update Time : Sun Nov 23 18:20:24 2014 Checksum : e5ef87dc - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 4 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdd1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : e2983a0c:0bc3b3d4:b8d018c7:fb547dff  Update Time : Sun Nov 23 18:20:24 2014 Checksum : 3c484254 - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 3 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdf1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 82f35d80:31b62631:22102161:dda95f56  Update Time : Sun Nov 23 18:18:13 2014 Checksum : fdc823df - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 0 Array State : AAAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdg1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 2612c125:cb5d4712:4777122a:46b5e6c7  Update Time : Sun Nov 23 18:20:24 2014 Checksum : bec55d2b - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 2 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) /dev/sdh1: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 05e69c50:388afb83:1418f18e:a393cb21 Name : dende:0 (local to host dende) Creation Time : Sat May 26 17:14:56 2012 Raid Level : raid6 Raid Devices : 7  Avail Dev Size : 3907022848 (1863.01 GiB 2000.40 GB) Array Size : 9767554560 (9315.07 GiB 10001.98 GB) Used Dev Size : 3907021824 (1863.01 GiB 2000.40 GB) Data Offset : 2048 sectors Super Offset : 8 sectors Unused Space : before=1968 sectors, after=1024 sectors State : active Device UUID : 8cb08975:ff61e873:997d5d58:0559d0f9  Update Time : Sun Nov 23 18:20:24 2014 Checksum : d063a9d5 - correct Events : 63764  Layout : left-symmetric Chunk Size : 512K  Device Role : Active device 1 Array State : .AAAAAA ('A' == active, '.' == missing, 'R' == replacing) 

Ich sehe, dass / dev / sdf1 hat einen anderen Array Zustand als die anderen Geräte, die als etwas zu mir fällt auf, dass sinnvoll sein muss, sondern das, was die Bedeutung ist, ich habe keine Ahnung. Ich freue mich über jede Hilfe, die Sie meinen lieben Damen und Herren anbieten können. :-)

BEARBEITEN: Ich habe den Rat im nachfolgenden Kommentar zum Anhalten des Arrays und zum Zusammenbauen ausprobiert. mdadm meldet, dass / dev / md0 erfolgreich mit 7 Laufwerken gestartet wurde. Gemäß / proc / mdstat wird das Array jetzt neu synchronisiert (was offensichtlich eine Weile dauert). Ich vermute, das bedeutet, dass ein Gerät etwas veraltet war und es mit den anderen Geräten wiederhergestellt wird? Und heißt das, dass es auf RAID-Seite jetzt gut sein sollte? (Das Dateisystem wird noch überprüft, bevor ich etwas mit dem Array mache.)

0
Versuchen Sie `mdadm --stop md0 '; dann 'mdadm --assemble --uuid = 05e69c50: 388afb83: 1418f18e: a393cb21`, um zu sehen, ob das Array jetzt korrekt zusammengesetzt wird, obwohl wahrscheinlich eine Komponente (sdf1) ausgelassen wird; Die Aktualisierungszeit auf dieser Festplatte ist niedriger als der Rest. Zeigen Sie die Ausgabe an, die Sie erhalten (bearbeiten Sie Ihre Frage, um sie hinzuzufügen). EDIT: hmm, ich habe gerade bemerkt, dass Ihre mdstat keine Persönlichkeiten zeigt; Sie müssen wahrscheinlich "modprobe raid456" wurtel vor 9 Jahren 0
Danke für den Tipp. Ich habe Ihren Rat ausprobiert und die Ergebnisse oben veröffentlicht. nonoitall vor 9 Jahren 0
Hast du die `modprobe raid456` gemacht oder war das nicht nötig? Zeigt `/ proc / mdstat` jetzt Persönlichkeiten? wurtel vor 9 Jahren 0
Ja, das habe ich vor dem Stoppen des Arrays getan, und die RAIDs 4, 5 und 6 erschienen in der Persönlichkeit. nonoitall vor 9 Jahren 0

1 Antwort auf die Frage

1
wurtel

Zum Zeitpunkt der Montage des Arrays war die erforderliche RAID 6-Persönlichkeit offenbar noch nicht verfügbar, da das Modul noch raid456nicht geladen wurde.

Das Stoppen des falsch zusammengestellten Arrays, das Laden des Moduls und das erneute Zusammenbauen helfen:

mdadm --stop md0 modprobe raid456 mdadm --assemble --uuid=05e69c50:388afb83:1418f18e:a393cb21 

Die UUID ist in der mdadm --examineAusgabe als Array-UUID aufgeführt .

Abhängig davon, wie Ihr System startet, müssen Sie wahrscheinlich sicherstellen, dass das raid456Modul geladen wird, bevor das MD-Array zusammengestellt wird.

Tipp: Bei größeren Arrays kann es hilfreich sein, dem Gerät eine Write-Intent-Bitmap hinzuzufügen, sodass nach einem Ausfall, wie Sie ihn erlebt haben, das gesamte Array nicht erneut synchronisiert werden muss. nur die Teile, die nicht mehr aktuell sind. Sie können dies mit dem folgenden Befehl tun:

mdadm --grow --bitmap internal /dev/md0 

Die Bitmap kann auch während der Erstellung angegeben werden. Der obige Befehl besteht darin, eine Bitmap nach der Tatsache hinzuzufügen. Eine Bitmap kann durch Angabe von nonestatt entfernt werden internal.

Das System stieg in eine Art Rettungsmodus hinab, da das Array nicht verfügbar war. Ich denke, das war der Grund, warum das Modul entladen wurde. Das Array hat die Resynchronisierung abgeschlossen, ich habe es gemountet und ein Scrub (btrfs) ausgeführt, und es sind keine Fehler aufgetreten. Ich denke, alles ist gut. Benötigt die interne Bitmap mehr Speicherplatz? (Wenn ich die Bitmap einfach mit dem Befehl oben hinzufüge, wird das RAID-Gerät etwas verkleinert, um Platz zu schaffen?) Ich möchte nur das zugrunde liegende Dateisystem im Voraus überprüfen und verkleinern, falls dies erforderlich ist. nonoitall vor 9 Jahren 0
Die interne Bitmap verwendet bereits verfügbaren freien Speicherplatz, der Array-Inhalt wird nicht berührt. Es ist auch möglich, eine separate Bitmap auf einem anderen Gerät zu verwenden, was jedoch keinen großen Vorteil bringt. Beachten Sie auch, dass eine solche Bitmap nur für große Arrays nützlich ist, da die Neusynchronisierung des gesamten Arrays auf kleineren Geräten nicht viel Zeit in Anspruch nimmt und die Verwendung einer Bitmap einen (recht kleinen) Overhead verursacht. wurtel vor 9 Jahren 1