Linux: gecrashtes Software-RAID 5 wiederherstellen

Wie gut ein RAID-System ist, egal ob es auf reiner Hardware oder Software basiert, zeigt sich erst wenn es zum Fall der Fälle kommt und Probleme auftreten. Die einen schwören auf reine Hardware-basierende System wie von Areca, 3ware oder Adaptec die aufgrund ihrer Preis aber wohl eher im Business-Bereich angesiedelt sind. Reine „Software“-RAIDs sind dagegen im SoHo-Bereich sehr populär und haben eine weite Verbreitung besonders unter Linux. Mittlerweile können sich die Fähigkeiten des Linux Software-RAIDs, mit der ausgewachsener Storagesystem messen.

Ausgangssituation

Die Gründe die zu einer Situation führen können bei der sich ein RAID 5 sich nicht mehr starten lässt können viele sein. So reicht es aus wenn mindestens 2 Platten gleichzeitig für kurze Zeit nicht mehr reagieren. Das muss nicht zwangsläufig gleich ein harter permanenter Ausfall sein.

Möchte man dann ein solche Software-RAID unter Linux wieder zum Laufen bringen, nachdem die Situation des Ausfalls geklärt ist oder man die Daten auf eine andere Platte geclont hat, weigert sich eventuell das mdadm Tool ein solches inaktives RAID zu starten.

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sda1[1](S) sdb1[3](S) sdc1[2](S) sdd1[0](S)
      5860543744 blocks

# mdadm --run /dev/md0
mdadm: failed to run array /dev/md0: Input/output error

Wiederherstellung

Allerdings hat sich nach dem Startversuch mit dem run Commando der Status des Arrays verändert. Wie man sehen kann werden die einzelnen Disks / Partitionen nicht mehr als Spare ausgewiesen (S), sondern haben jetzt nur noch normalen Status. Die „defekten“ Teile wurden nun aus der Liste entfernt.

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sda1[1] sdb1[3]
      2930271872 blocks

Das brachte mich auf die Idee einfach die fehlenden Partitionen wieder zum Array hinzu zu fügen. Und siehe da nach einem erneuten run-Commando startete das Array einwandfrei und war nun wieder verfügbar.

# mdadm --add /dev/md0 /dev/sdc1
mdadm: re-added /dev/sdc1

# mdadm --add /dev/md0 /dev/sdd1
mdadm: re-added /dev/sdd1

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sdc1[2] sdd1[0] sda1[1] sdb1[3]
      5860543744 blocks

# mdadm --run /dev/md0
mdadm: started /dev/md0

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc1[2] sdd1[0] sda1[1] sdb1[3]
      4395407808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

Das zeigt das man unter Umständen nicht immer sofort Aufgeben muss und das ein Software-RAID im SoHo Bereich doch gar nicht so schlecht ist. Insbesondere wenn man die Hardware einwenig „rumspinnt“. Allerdings sollte man bei solchen Ereignissen nicht gleich wieder zur Tagesordnung übergehen, sondern nach den Fehlerquellen suchen, da sich meist ein baldiger Ausfall ankündigt !

Links

http://forum.ubuntuusers.de/topic/software-raid5-inactive-mdadm/#post-2151695

Keine Kommentare möglich.