Linux/Software-RAID/Fehlerbehebung

Aus Foxwiki

Festplattenausfall

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

Festplatte 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 Festplatte 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 Festplatte 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.