Software-RAID unter Linux betreiben
Es ist immer ratsam, einen Root-Server mit einem RAID-System zu betreiben. Dadurch kann ein kompletter Datenverlust beim Ausfall einer Festplatte vermieden werden.

Es ist immer ratsam, einen Root-Server mit einem RAID-System zu betreiben. Dadurch kann ein kompletter Datenverlust beim Ausfall einer Festplatte vermieden werden. Meist steht bei einem Root-Server dafür kein eigener Hardware-RAID-Controller zur Verfügung. Mittels des Dienstes mdadm hat man jedoch wunderbare Möglichkeiten, ein stabiles Software-RAID-System mit mehreren Festplatten aufzubauen.
Neues RAID erstellen
Bevor mit 2 Festplatten ein RAID1-Verbund erstellt wird, sollten die Partitionstabellen beider Festplatten identisch sein. Dazu kopiert man am besten die Partitionstabelle einer vorhandenen Festplatte auf die neue Festplatte mit der das RAID-System aufgebaut werden soll:
sfdisk -d /dev/sda | sfdisk /dev/sdb
Nun sind zwei identische Festplatten vorhanden (sda und sdb), die mit folgender Anweisung zu einem RAID1-Verbund zusammengelegt werden können:
mdadm --create --verbose /dev/md0 --level=1 /dev/sda1 /dev/sdb1
Diesen Vorgang muss man für jede gewünschte Partition der Festplatte durchführen.
Aktuelle RAID-Verbunde in die Konfigurations-Datei übernehmen
Damit die erstellten RAID-Verbunde dauerhaft im System zur Verfügung stehen, müssen diese in die Konfigurations-Datei /etc/mdadm/mdadm.conf übernommen werden:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Hinzufügen einer Partition in einen RAID-Verbund
Möchte man in einen bestehenden RAID-Verbund eine weitere Partition hinzufügen, kann man dies über folgenden Befehl tun:
mdadm --add /dev/md0 /dev/sdb1
Entfernen einer Partition aus dem RAID-Verbund
Eine aktive und funktionsfähige Partition kann nicht aus einem RAID-Verbund entfernt werden. Wenn man dies dennoch tun möchte, so muss man die gewünschte Partition zuerst als fehlerhaft deklarieren, und kann diese dann problemlos aus dem RAID-Verbund entfernen:
mdadm --fail /dev/md0 /dev/sda1
mdadm --remove /dev/md0 /dev/sda1
Möchte man hingegen einen kompletten RAID-Verbund aus dem System entfernen, muss dieser zuerst beendet werden, bevor dieser entfernt werden kann:
mdadm --stop /dev/md0
mdadm --remove /dev/md0
RAID-System überwachen
Einen kurzen Überblick über den Zustand eines RAID-Systems, ob zum Beispiel alle Festplatten eingebunden sind, oder wie weit eine Synchronisation abgeschlossen ist, erhält man mit folgendem Befehl:
cat /proc/mdstat
Möchte man zum Beispiel während einer Synchronisation dauerhaft sich den aktuellen Zustand des RAID-Systems anzeigen lassen, kann man dies über den Befehl watch tun:
watch cat /proc/mdstat
Eine ausführliche Information zum Zustand eines RAID-Systems erhält man mit folgender Anweisung:
mdadm --detail /dev/md0
Wenn ein RAID-Verbund fehlerlos läuft, erhält man als Status für diesen RAID-Verbund ein [UU] zurück. Sollte eine Partition nicht im RAID-Verbund vorhanden sein, wird dies durch ein [_U] bzw. [U_] im Status angezeigt. Dies kann zum Beispiel so aussehen:
cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[0] sda1[1]
1983872 blocks [2/1] [U_]
unused devices:
Weiterführende Links
Beim Umgang mit einem Software-RAID, sowie für die Erzeugung dieser Dokumentation, haben mir folgenden Seiten maßgeblich geholfen:
http://wiki.ubuntuusers.de/Software-RAID
http://www.ducea.com/2009/03/08/mdadm-cheat-sheet
https://systemausfall.org/wikis/howto/SoftwareRaidminiHowTo