Es ist immer ratsam einen Root-Server mit einem RAID-System zu betrieben. 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 dem Dienst mdadm
hat man jedoch wunderbare Möglichkeiten ein stabiles Software-RAID-System mit mehreren Festplatten aufzubauen.
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.
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
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
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 entfernet werden kann:
mdadm --stop /dev/md0 mdadm --remove /dev/md0
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: <none>
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