Linux/Software-RAID/Fehlerbehebung

Aus Foxwiki

Datenträgerausfall

Details ermitteln

  • Dieses Beispiel zeigt eine ausgefallene Platte in einem RAID 6.
Personalities : [raid6] [raid5] [raid4] [raid1] [linear] [multipath] [raid0] [raid10]
md2 : active raid6 sdj1[7] sdi1[6] sdh1[5] sdg1[4] sdd1[3] sda1[0] sdb1[1] sdc1[2]
     3418688000 blocks super 1.2 level 6, 512k chunk, algorithm 2 [9/8] [UUUUUUUU_]
unused devices: <none>
  • In diesem Fall wurde das fehlerhafte Gerät bereits automatisch entfernt.
  • Genauere Details, u.a. den Namen des defekten Geräts kann mit mdadm ermittelt werden:
# mdadm --detail /dev/md2

Datenträger wechseln

Achtung!
Bei einem RAID 0 äußert sich der Ausfall einer Platte im Totalausfall des gesamten RAID- Verbunds. 
Das RAID 0 kann daher nicht mit den folgenden Anweisungen repariert werden, sondern muss neu aufgesetzt werden und die hoffentlich vorhandene Datensicherung eingespielt werden.
  • Ist das defekte Gerät (hier im Beispiel /dev/sdk1) ermittelt, kann die entsprechende Datenträger ausgetauscht werden:
  • Falls der Kernel das Gerät noch nicht aus dem Verbund entfernt hat (d.h. es wird beim Befehl mdadm --detail noch aufgeführt), muss es zunächst aus dem Verbund entfernt werden:
# mdadm /dev/md2 --remove /dev/sdk1 
  • Nun kann die entsprechende Platte gewechselt werden.
  • Ist eine entsprechende Austauschplatte eingebaut, muss diese zunächst partitioniert werden.
  • Die neue Partition muss mindestens die gleiche Anzahl an Sektoren aufweisen, wie die bereits genutzten Partitionen.
  • Von einer bestehenden Platte erhält man die Sektorenzahl der Partitionen (hier am Beispiel von /dev/sda) mittels:
# parted /dev/sda u s print  


  • Ist die neue Platte entsprechend partitioniert, wird die neue Partition zum RAID-Verbund hinzugefügt (hier am Beispielaustausch von /dev/sdk1 in /dev/md2):
# mdadm /dev/md2 --add /dev/sdk1 
  • Im Hintergrund beginnt nun ein Rebuild, aus den noch vorhandenen Partitionen wird also der Inhalt für die neue Partition berechnet und geschrieben.
  • Je nach RAID-Level und Größe dauert ein Rebuild mehrere Stunden bis Tage.
  • Das System darf währenddessen neu gestartet oder heruntergefahren werden.
  • Ein Systemabsturz kann jedoch zu Datenverlust führen. Manchmal lässt sich der Vorgang beschleunigen.
Hinweis:
Wurden Partitionen einer Platte von verschiedenen RAIDs genutzt, dann kann es vorkommen, dass eine verwendete Datenträger teilweise defekt ist und sich z. B. die Partition von md0 im Status [U_] befindet, während alle anderen im Status [UU] sind. 
  • In diesem Fall müssen diese mit dem Befehl...
# mdadm /dev/mdX --fail /dev/sdXY 
  • ...alle einzeln in den Modus [U_] versetzt werden.

Bootprobleme

GRUB 2: unknown Filesystem
  • Falls das System nicht bootet, nachdem man es auf ein RAID 1 kopiert, die /etc/fstab angepasst, die grub.cfg und die mdadm.conf korrekt erscheinen sowie das initramfs aktualisiert wurde, kann es helfen, GRUB 2 erneut zu installieren.
  • Dabei muss auf die Art der Partitionstabelle geachtet werden.
  • Die obige Anleitung nutzt GPT-Partitionstabellen.

RAID startet nicht

mdadm: Cannot open /dev/sdXY: Device or resource busy
  • Falls beim Erstellen eines RAIDs diese Meldung erscheint und mit den Partitionen bereits einmal ein RAID erstellt wurde, muss zunächst der alte Verbund aufgelöst werden.

Fehler beim Update des Kernels nach Datenträgertausch

Grub-Konfigurationsdatei wird generiert …
grub-probe: Warnung: Physischer Datenträger »(null)« konnte nicht gefunden werden. 
Einige Module könnten im Core-Abbild fehlen..
/usr/sbin/grub-probe: Warnung: Physischer Datenträger »(null)« konnte nicht gefunden werden. Einige Module könnten im Core-Abbild fehlen..
  • Treten nach dem Tausch einer Datenträger diese Fehler auf muss die Device Map von Grub neu geschrieben werden.
  • Dies geschieht mit:
# grub-mkdevicemap 
  • Geht alles glatt, darf keine Ausgabe erscheinen. Anschließend noch einmal Grub aktualisieren:
# update-grub 
  • Nun sollte der Fehler behoben sein und die Grubkonfiguration sich ohne Fehler aktualisieren.

Probelm RAID 127

mdadm.conf anlegen

# mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Ermitteln der UUID des Raid Arrays.

# mdadm --detail /dev/md0

Anpassung der mdadm.conf

  • Die Option "name" aus der mdadm.conf entfernen
# vi /etc/mdadm/mdadm.conf
ARRAY /dev/md0 UUID=XXXXXXXX:XXXXXXXX:XXXXXXXX:XXXXXXXX

Aktualisierung der initramfs

# update-initramfs -u

System neu starten

# systemctl reboot

Nach Änderung der Reihenfolge der Datenträger

  • Z.B. bei Austausch des Controllers, Umstecken der Kabel, Anschließen eines USB-Sticks, etc. ließe sich das RAID nicht mehr starten.
  • Auch dann nicht, wenn in den Superblöcken der RAID-Laufwerke die richtigen Metadaten (unabhängig von den Buchstabenbezeichnungen) gespeichert sind.
  • Dieses Problem lässt sich nur dann beheben, wenn die falschen Angaben in der mdadm.conf korrigiert oder explizit übergangen werden.
  • Damit die Konfiguration beim Booten verfügbar ist, muss schließlich noch die Initrd aktualisiert werden:
# update-initramfs -u -k all

weitere Artikel zum Thema

RAID:Komplexe Aufgaben

Linux:Software-RAID

Linux:Software-RAID:Vorbereitung

Linux:Software-RAID:Anlegen

Linux:Software-RAID:Wartung

Quellen

https://wiki.ubuntuusers.de/Software-RAID/