Festplattenausfall im md-Raid beheben

      1 Kommentar zu Festplattenausfall im md-Raid beheben

Rein aufgrund der mechanischen Funktionsweise sind Festplatten äußerst störanfällig. Gerade für die Anwendung im Server ist ein redundantes RAID-System also Pflicht. Zwar ist es schön zu wissen, dass der eigene Server vor Ausfällen der Festplatte(n) gewappnet ist, doch wie geht man eigentlich vor wenn wirklich einmal der Ernstfall eintritt?

Zuerst überprüfen wir den Zustand des RAID-Arrays und lesen aus, welche Festplatte(n) überhaupt defekt ist:

[email protected]:~# cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sda3[0] sdb3[1] [F]
 484480128 blocks [2/2] [U_]
  
unused devices: none

Hier sehen wir recht eindeutig was das Problem ist: /dev/sdb3 ist augenscheinlich defekt. Angezeigt wird dies zum einen durch das abgebildete [F] und zum anderen durch das fehlende U welches durch einen Unterstrich _ ersetzt wurde.

Nun machen wir uns daran /dev/sdb im Server zu identifizieren. Die Bezeichnungen der Festplatten werden unter Linux alphabetisch nach Reihenfolge der Festplatten vergeben. Eine HDD an Port SATA0 wird sehr wahrscheinlich zu /dev/sda während SATA1 zu /dev/sdb wird. Um allerdings einen Austausch der falschen Festplatte zu verhindern, identifizieren wir diese eindeutig anhand der Seriennummer:


[email protected]:~# hdparm -I /dev/sda|grep Serial
Serial Number:      W1D4RLE8
Transport:          Serial, SATA Rev 3.0

Wir lesen also die Seriennummer der noch intakten Festplatte aus und wissen so durch das Ausschlussverfahren welche HDD defekt ist.

Um sicher zu gehen dass der Server nach Austausch der Festplatte direkt wieder bootet und wir nicht zusätzlich den Bootloader reparieren müssen, installieren wir noch Grub auf der intakten HDD:


[email protected]:~# grub-install /dev/sda

Nachdem das durchgelaufen ist erhalten wir eine Meldung dass die Installation erfolgreich war. Wir fahren den Server nun geordnet herunter, identifizieren unter oben angewandtem Ausschlussverfahren die defekte HDD und tauschen diese gegen ein möglichst gleichartiges Modell. Danach fahren wir den Server erneut hoch und kopieren die Partitionstabelle der alten Festplatte auf die neue:


sfdisk -d /dev/sda | sfdisk /dev/sdb

sdb ist in diesem Beispiel die neue Festplatte welche beschrieben werden muss, ggf. müsst ihr diesen Befehl passend abwandeln. Es ist wichtig dass die richtige Festplatte als Ziel angegeben wird, ansonsten könnte es passieren dass ihr eure wichtigen Daten überschreibt.

Das restliche Vorgehen ist sehr einfach, wir müssen mdadm nur sagen dass nun die defekte Festplatte getauscht wurde und binden sie wieder in das RAID-Array ein:


mdadm --add /dev/md1 /dev/sdb3

Im Anschluss könnt ihr mittels cat /proc/mdstat beobachten wie eure Daten wieder synchronisiert werden um einen redundanten Datenbestand herzustellen. Je nach Raid-Level und Partitionsgröße dauert dies von ein paar Minuten bis hin zu mehreren Stunden.

One thought on “Festplattenausfall im md-Raid beheben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.