Software-RAID unter Debian anlegen und verwalten

Mit Hilfe eines RAID (Redundant Array of Independent Disks) lassen sich mehrere Festplatten zu einem logischen Laufwerk vereinen beispielsweise einen schnelleren Zugriff auf die Daten bzw. eine erhöhte Verfügbarkeit des Systems im Falle eines Festplattendefektes zu erreichen. Hierfür gibt es üblicherweise spezielle Hardware Controller die diese Aufgabe übernehmen. Unter Linux lässt sich mit einfachen Mitteln aber auch ein sogenanntes Software-RAID anlegen, welches der Hardware-Variante auch in Sachen Performance durchaus das Wasser reichen kann. Es gibt mehrere RAID-Varianten, diesbezüglich lohnt sich ein Blick auf Wikipedia:

http://de.wikipedia.org/wiki/RAID

Das ist zu beachten:

  • Ein RAID ersetzt nicht das Backup. Werden korrupte Daten geschrieben oder Daten gelöscht, werden diese unverzüglich im gesamten Verbund geschrieben bzw. gelöscht.
  • Die einzelnen Partitionen die über ein Software-RAID zu einem logischen Laufwerk zusammengefügt werden sollten unbedingt auf verschiedenen Festplatten liegen. Ansonsten wären die Vorteile eines RAID (Redundanz und Performance) gleich wieder hinfällig.

Dieses Tutorial beschreibt die Einrichtung eines RAID1 auf einem Debian System.

Schritt 1: mdadm installieren

apt-get install mdadm

Schritt 2: Festplatte(n) vorbereiten

Zunächst müssen die Festplatten, welche in den RAID-Verbund aufgenommen werden sollen dafür vorbereitet werden. Dies lässt sich mit fdisk erledigen.

fdisk /dev/sdb

Ist die Platte neu lässt sich mit „n“ zuerst eine neue Partition anlegen, mit „t“ und dem Hex-Code „fd“ der Typ Linux Autoraid auswählen. Mit „w“ wird die Partitionstabelle geschrieben.

Das Ganze wiederholt man für die entsprechenden Festplatten (fdisk /dev/sdc etc.).

Schritt 3: RAID anlegen

Beispiel 1: Anlegen eines Raid1 Verbunds

mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Beispiel 2: Anlegen eines Raid5 Verbunds mit 4 Festplatten

mdadm --create /dev/md0 --auto md --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

Schritt 4: Dateisystem anlegen

Um das Laufwerk später mounten zu können muss nun noch ein Dateisystem angelegt werden.

mkfs -t ext4 /dev/md0

Schritt 5: RAID mounten

mkdir /mnt/md0 && mount /dev/md0 /mnt/md0

Schritt 5 (optional): Performance Tuning komplexer RAID Verbünde

Insbesondere bei RAID 0, 5, 6 oder 10 lohnt es sich das Dateisystem anzupassen, um optimale Leistung herauszuholen. Dafür muss zunächst die sog. „Chunk Size“, also die Datenmenge, die in einem einzelnen Schreibvorgang geschrieben wird, bekannt sein. Diese lässt sich wie folgt ermitteln:

mdadm -D /dev/md0 | grep "Chunk Size"

Je nach Ergebnis können nun mit Hilfe des Raid Stride Calculators die optimalen Werte für das Dateisystem ermittelt werden.

Sind die Parameter ermittelt, wird das Dateisystem erstellt. Hier ein Beispiel:

mkfs -t ext4 -b 4096 -E stride=128,stripe-width=384 /dev/md0

Schritt 6 (optional): E-Mail Benachrichtigung

Unter Debian wird die entsprechende Konfigurationsdatei bereits erstellt. Hier trägt man die E-Mail Adresse des Empfängers ein. Vorrausgesetzt für den E-Mail Versand ist ein fertig konfigurierter MTA (z.B. exim4).

nano /etc/mdadm/mdadm.conf

Damit ist das RAID fertig konfiguriert, und wenn etwas schief läuft, bekommt man eine E-Mail. Um den Status des RAID manuell zu prüfen wird ebenfalls mdadm verwendet. Hier lohnt ein Blick in die Manpages von mdadm.

man mdadm

Tipps & Tricks zur Verwaltung eines Software-RAID und Erläuterungen zum Verhalten bei Festplattenausfall gibt es hier: http://wiki.ubuntuusers.de/Software-RAID

Schreibe einen Kommentar

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