Einführung
Dieser Artikel Beschreibt die Nutzung eines Software-RAIDs, welches die Interaktion von mehreren Laufwerken in einem Linux-Betriebssystem organisiert, ohne dafür einen Hardware-RAID-Controller zu verwenden.
Von Hetzner mit einem Betriebssystem bereitgestellte Server, oder über den Robot installierte Systeme sind bei mehr als zwei Laufwerken bereits mit dem empfohlenen RAID-Level (1 oder 6) versehen. Weiterhin können Sie das Installimage-Script im Rescue-System verwenden, um angepasste Installationen durchzuführen, dabei unter anderem eine gewünschte Software-RAID-Konfiguration einzustellen und dieses auch mit LVM kombinieren.
Status des Software-RAID auslesen
Verwenden Sie dazu folgenden Befehl:
cat /proc/mdstat
Ausgabe für ein nicht vorhandenes RAID:
Personalities : [raid1]
unused devices: <none>
Ausgabe für ein RAID1:
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
234405504 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
md1 : active raid1 sda2[2] sdb2[1]
523712 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
33521664 blocks super 1.2 [2/2] [UU]
unused devices: <none>
Ausgabe für ein RAID0 (Die /boot
-Partition md0
muss immer als RAID1 eingerichtet sein, um davon booten zu können):
Personalities : [raid1] [raid0]
md2 : active raid0 sda3[0] sdb3[1]
883956736 blocks super 1.2 512k chunks
md1 : active raid0 sda2[0] sdb2[1]
52393984 blocks super 1.2 512k chunks
md0 : active raid1 sda1[0] sdb1[1]
523264 blocks super 1.2 [2/2] [UU]
unused devices: <none>
Wenn unter einer der Partitionen ein Fortschritts-Balken dargestellt wird, läuft derzeit ein RAID-Resync-Prozess:
md0 : active raid1 sdb1[0] sdc1[1]
2095040 blocks super 1.2 [2/2] [UU]
[====>................] resync = 32.7% (418656/2095040) finish=4.2min speed=131219K/sec
Hinzufügen eines Software-RAID-Arrays
In unserem Beispiel-Szenario sind die Laufwerke /dev/sda
bereits /dev/sdb
in RAID1-Arrays konfiguriert, welche das Betriebssystem enthalten:
cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
234405504 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
md1 : active raid1 sda2[2] sdb2[1]
523712 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
33521664 blocks super 1.2 [2/2] [UU]
unused devices: <none>
Es sind jedoch zwei weitere Laufwerke vorhanden (/dev/sdc
und /dev/sdd
), die wir als Daten-Laufwerk in einem RAID1-Array nutzen möchten. Dazu muss zuerst das RAID-Array hinzugefügt werden:
mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
Anschließend sollte die RAID-Konfiguration wie folgt aussehen:
cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sdc1[0] sdd1[1]
2095040 blocks super 1.2 [2/2] [UU]
[====>................] resync = 32.7% (418656/2095040) finish=4.2min speed=131219K/sec
md2 : active raid1 sda3[2] sdb3[1]
234405504 blocks super 1.2 [2/2] [UU]
bitmap: 0/2 pages [0KB], 65536KB chunk
md1 : active raid1 sda2[2] sdb2[1]
523712 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
33521664 blocks super 1.2 [2/2] [UU]
unused devices: <none>
Nun kann die neue Partition nach Belieben formatiert (hier EXT4) und eingehängt werden:
mkfs.ext4 /dev/md3
mount /dev/md3 /mnt
E-Mail-Benachrichtigung bei Ausfall einer Festplatte im Software-RAID
Voraussetzung: Ein Mailserver Ihrer Wahl (z.B. Sendmail) muss bereits installiert und konfiguriert sein.
Debian/Ubuntu/CentOS
Öffnen Sie /etc/mdadm/mdadm.conf
bzw. /etc/mdadm.conf
(CentOS) in einem Editor und passen Sie folgende Zeile an:
MAILADDR holu@example.com
Hier kann direkt eine Zieladresse angegeben werden. Alternativ bietet es sich an, alle an root gerichteten Emails via /etc/aliases
an eine bestimmte Mailadresse weiterzuleiten.
Optional kann auch die Absenderadresse konfiguriert werden:
MAILFROM mdadm@example.com
Wichtig bei Debian und Ubuntu ist, dass AUTOCHECK
in der Datei /etc/default/mdadm
auf true
gestellt ist:
# grep AUTOCHECK= /etc/default/mdadm
AUTOCHECK=true
openSUSE
Öffnen Sie /etc/sysconfig/mdadm
in einem Editor und verändern Sie die Variable MDADM_MAIL
auf die gewünschte Adresse, an die Benachrichtigungen gesendet werden sollen:
MDADM_MAIL="holu@example.com"
Konfiguration prüfen
Ihre Konfiguration lässt sich mittels folgendem Befehl verifizieren, welcher per mdadm
eine Test-Mail generiert und an die angegebene Adresse versendet:
mdadm --monitor --test --oneshot /dev/md0
Weiterhin sollten Sie noch sicherstellen, dass die Datei /etc/cron.daily/mdadm
folgende Zeile enthält, welche für das tägliche Monitoring des RAIDs zuständig ist:
exec --monitor --scan --oneshot
Software-RAID auflösen
Um ein Software-RAID aufzulösen können folgende Befehle verwendet werden. Falls es sich dabei um die System-Partitionen handelt, sollte dazu das Rescue-System gebootet werden.
mdadm --stop /dev/md0
mdadm --stop /dev/md1
mdadm --stop /dev/md2
mdadm --remove /dev/md0
mdadm --remove /dev/md1
mdadm --remove /dev/md2
Danach können die Laufwerke wieder normal formatiert werden (zb. mit ext4):
mkfs.ext4 /dev/sda
mkfs.ext4 /dev/sdb
Das Ergebnis kann mittels..
cat /proc/mdstat
...und...
fdisk -l
überprüft werden. Das Software-RAID sollte nun verschwunden sein.