Inhaltsverzeichnis

Softwareraid

Mit mdadm kann man unter linux ein softwarebasiertes RAID (Redundant Array of Independent Disks)aufbauen.
Hier einige Beispiele zum mdadm tool.

RAID erstellen

Erstellen kann man ein softwarebasiertes RAID in Linux mit dem Tool mdadm.

mdadm --create /dev/md# --level=# --raid-devices=# /dev/hd<x># /dev/sd<x># --spare-devices=# /dev/sd<x>

Erklärung:

Folgende Level können erstellt werden:

mdadm Level RAID Level Beschreibung Ausfallsicherheit
level=0 RAID0 2 oder mehrere Festplatten werden zu einer großen zusammengeschlossen (2x500GB=10000GB) Beim Beispiel darf keine Platte Ausfallen
level=1 RAID1 2 oder mehrere Festplatten werden gespiegelt (2x500GB=500GB gespiegelt) Beim Beispiel darf eine/mehrere Platten Ausfallen
level=4 RAID4 3 oder mehrere Festplatten werden zu 1 großen zusammengeschlossen, wobei eine Festplatte die Paritätsplatt ist (3x500GB=1000GB+500GB Parität) eine Platte darf ausfallen
level=5 RAID5 3 oder mehrere Festplatten werden zu 1 großen zusammengeschlossen, wobei Paritätsinformationen auf alle Festplatten verteilt werden (3x500GB=1000GB+500GB Parität) eine Platte darf ausfallen
level=6 RAID6 4 oder mehrere Festplatten werden zu 1 großen zusammengeschlossen, wobei 2 Paritätsplatten verwendet und auch auf alle Platten verteilt werden (4x500GB=1000GB+2x500GB Parität) zwei Platten dürfen ausfallen
level=10 RAID10 4 oder mehrere Festplatten werden zu einem Mischlevel aus Level 1 und Level 0 zusammengeschlossen (4x500GB=1000GB gespiegelt) Es darf alle Festplatten bis auf eine aus jedem Spiegelsatz ausfallen

Festplatten/Partitionen zu Verbund hinzufügen

Wenn man ein RAID-Verbund vergrößern möchte oder wenn eine ersetzte Festplatte wieder zum Verbund hinzugefügt werden soll, fügt man diese einfach dem Verbund hinzu.

mdadm --manage -a /dev/md#  /dev/sd<x>#

Nach dem Hinzufügen, erkennt mdadm sofort die Festplatte/Partition und beginnt automatisch mit dem Recovering.

Hotspare

Wie oben bereits beschrieben können Hotsparefestplatten einem RAID-Verbund zugewiesen werden um bei Ausfall einer oder mehrerer Festplatten einspringen zu können.
Diese Hotsparefestplatte kann auch zu einem bestehenden Verbund mit, dem vorhin schon vorgestellten Befehl, hinzugefügt werden

mdadm /dev/md# -a /dev/sd<x>#

Eine Hotsparfestplatte kann für mehrere RAID-Verbunde verwendet werden.
Eine Option im „ARRAY“ Eintrag in der mdadm.conf kann dieses erreichen, hier ein Beispiel:

vi /etc/mdadm/mdadm.conf
ARRAY /dev/md0 level=raid6 num-devices=4 UUID=9b2c49f3:aab3a59f:319fd604:8d84ab53 devices=/dev/sda,/dev/sdb,/dev/sdc,/dev/sdd,spare-group=global

ARRAY /dev/md1 level=raid5 num-devices=3 spares=1 UUID=ccfde74d:ddbf8e63:4079f0e2:0c9a0cbc devices=/dev/sde,/dev/sdf,/dev/sdg,/dev/sdh,spare-group=global 

Man sieht hier das eigentlich nur ein „ARRAY“ eine Hotsparefestplatte enthält aber durch die Option „spare-group=global“, wobei global nur eine Bezeichnung ist die auch
z.B. „group1“ heißen könnte, werden beide „ARRAYs“ mit dieser Hotsparefestplatte gesichert.

RAID auflösen

Mit folgendem Befehl kann ein RAID-Verbund aufgelöst werden.

mdadm --stop /dev/md#

Hierbei ist es allerdings möglich diesen später wieder zu Aktivieren, da der Kernel die Partition/en auf der Festplatte als ehemalige RAID-Partition/en erkennt.

Festplatte/Partition vom Verbund entfernen

mdadm /dev/md# -r /dev/sd<x>#

Es kann sein dass z.B. nicht die ganze Festplatte fehlerhaft ist oder gar nicht erkannt wird. Hier kann sich dann ein oder mehrere/alle RAID-Verbünde im Status

oder

befinden. Wenn dies der Fall ist, müssen vor dem Entfernen der defekten Festplatten/Partitionen die RAID-Verbünde auf (U_) gesetzt werden. Hier der Befehl.

mdadm --manage /dev/md# --fail /dev/sd<x>#

RAID löschen

Um einen RAID-Verbund entgültig zu löschen (Kernel erkennt eine ehem. RAID-Partition) einfach folgendes ausführen

mdadm --zero-superblock /dev/sd<x>#

RAID-Verbund einbinden

Wenn das System nicht mehr starten kann, weshalb auch immer, dann kann eine Live-Distribution Daten retten.

Einfach mit einer Linux-Live-CD starten und mdadm installieren.

Nun kann man mit folgendem Befehl nach RAID-Verbunden suchen lassen

mdadm --assemble --scan

Hiernach werden die gefundenen Verbunde auch direkt in das System als md-Devices eingebunden.
Sobald Zusammengehörige Verbunde, aber auch gebrochene RAID-Partitionen, gefunden werden, werden diese sofort,
solang eine Spare-Platte vorhanden ist, restauriert.

Der RAID-Verbund (zusammengehörige Partitionen müssen bekannt sein) kann auch wie folgt wieder erstellt und
gemountet werden.

mdadm --assemble /dev/md# /dev/sd<x># /dev/sd<x>#

Hiermit erstellen wir wieder den RAID-Verbund.
Befehlserläuterung:

RAID Status

Zum Abschluß kann der Status des RAID-Verbundes beauskunftet werden.

cat /proc/mdstat

Hier noch eine detailiertere Ansicht

mdadm --examine /dev/sd<x>#

RAID-Verbund status ändern

Wenn ein RAID-Verbund mal auf fehlerhaft gestellt werden soll, so kann man das mit folgenden Befehlen getan werden.

mdadm --manage --set-faulty /dev/md# /dev/sd<x>#

oder

mdadm --manage --faulty /dev/md# /dev/sd<x>#

grub installieren

Der Bootloader Grub wird, bei der Installation, meckern dass er nicht installiert werden kann weil er eigentlich auf zwei Festplatten installiert werden müsste. Gleichzeitig kann er das aber nicht.
Bevor Grub den Kernel booten kann, muss vorher in einer Live-Umgebung, mit hilfe der chroot-Umgebung, mdadm installiert werden, damit das System überhaupt vom Kernel gebootet werden kann. Mit dieser Installation wird auch das initramfs aktualisiert. So werden dann die mdadm treiber in den Kernel eingebunden.
Wenn dies nicht geschehen sollte, dann einfach das ausführen:

update-initramfs -u

Nun installiert man Grub mit diesen Befehlen (hier sda und sdb):

grub-install --recheck /dev/sda
grub-install --recheck /dev/sdb

dannach noch

update-grub

Jetzt sollte einem ersten Start nichts mehr im Wege stehen.