Software-RAID unter Linux einrichten mit mdadm – Anleitung | Enjyn Gruppe
Hallo Welt
Hallo Welt
Original Lingva Deutsch
Übersetzung wird vorbereitet...
Dieser Vorgang kann bis zu 60 Sekunden dauern.
Diese Seite wird erstmalig übersetzt und dann für alle Besucher gespeichert.
0%
DE Zurück zu Deutsch
Übersetzung durch Lingva Translate

303 Dokumentationen verfügbar

Wissensdatenbank

Software RAID Linux Einrichten Mdadm

Zuletzt aktualisiert: 05.04.2026 um 19:42 Uhr

Software-RAID unter Linux einrichten mit mdadm – Anleitung

Was ist RAID?

RAID (Redundant Array of Independent Disks) ist eine Technik zur Kombination mehrerer Festplatten in einem Array für bessere Performance oder Zuverlässigkeit. Im Gegensatz zu Hardware-RAID wird Software-RAID direkt vom Betriebssystem verwaltet, ist kostengünstiger, portabler und bietet mehr Flexibilität. Unter Linux wird Software-RAID typischerweise mit mdadm (multiple device administrator) konfiguriert.

RAID-Level – Vergleich und Unterschiede

RAID-Level Beschreibung Min. Disks Nutzbarer Platz Read Speed Write Speed Fehlertoleranz Best für
RAID 0 Striping (verteilt Daten auf Disks) 2 100% (N * Disk-Size) N x Single N x Single Keine (1 Disk-Fehler = totaler Datenverlust) Nur für unkritische Daten, Performance
RAID 1 Mirroring (komplette Kopie auf 2. Disk) 2 50% (1 Disk-Größe) 2 x Single (Parallel) 1 x Single 1 Disk kann ausfallen Kritische Daten, kleine Arrays
RAID 5 Striping + Parity (verteilt auf alle Disks) 3 (N-1) * Disk-Size (N-1) x Single (N-1) x Single 1 Disk kann ausfallen General-Purpose Storage, Balance
RAID 6 Striping + Dual Parity (P und Q) 4 (N-2) * Disk-Size (N-2) x Single (N-2) x Single 2 Disks können ausfallen Große Arrays (5+ Disks), höhere Sicherheit
RAID 10 1+0: Mirroring von Striped Sets 4 (mind. 2 Paare) 50% (N/2 * Disk-Size) N x Single N/2 x Single 1 Disk pro Mirror-Pair kann ausfallen High-Performance + Redundanz
⚠️ WICHTIG: RAID ist KEIN Backup! RAID schützt vor Disk-Ausfällen, aber nicht vor Ransomware, Datenlöschung, Stromausfällen oder korrupten Dateien. Sie benötigen ein separates Backup-System!

Installation von mdadm

Installieren Sie mdadm und die notwendigen Tools:

sudo apt update
sudo apt install -y mdadm

Überprüfen Sie die Installation:

mdadm --version

Schritt 1: Festplatten vorbereiten

Überprüfen Sie alle verfügbaren Disks:

lsblk
sudo fdisk -l

Erstellen Sie Partitionen auf jeder Disk. Für RAID 1 (2 Disks) verwenden wir /dev/sdb und /dev/sdc:

sudo fdisk /dev/sdb

Folgen Sie diesen Schritten:

Command (m for help): n              # Neue Partition
Partition type (p for primary): p    # Primär
Partition number: 1
First sector: [Enter]
Last sector: [Enter]

Command (m for help): t              # Type ändern
Partition number: 1
Hex code: fd                         # Linux RAID (fd)

Bestätigen Sie mit:

Command (m for help): w

Wiederholen Sie das gleiche für /dev/sdc.

Überprüfen Sie die neuen RAID-Partitionen:

sudo fdisk -l /dev/sdb
sudo fdisk -l /dev/sdc

Schritt 2: RAID 1 Array erstellen

Erstellen Sie ein RAID-1 Array mit /dev/sdb1 und /dev/sdc1:

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

Dies erstellt das RAID-Array /dev/md0. Sie werden aufgefordert zu bestätigen – drücken Sie 'y'.

Überwachen Sie den Synchronisationsprozess:

watch -n1 cat /proc/mdstat

Drücken Sie Ctrl+C um den Watch-Prozess zu beenden. Der Status zeigt die Synchronisierung an.

Schritt 3: Dateisystem erstellen

Erstellen Sie ein ext4-Dateisystem auf dem RAID-Array:

sudo mkfs.ext4 /dev/md0

Erstellen Sie ein Mount-Verzeichnis:

sudo mkdir -p /mnt/raid1

Mounten Sie das RAID-Array:

sudo mount /dev/md0 /mnt/raid1

Überprüfen Sie:

lsblk
df -h /mnt/raid1

Schritt 4: RAID-Konfiguration persistent machen

Speichern Sie die RAID-Konfiguration:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Aktualisieren Sie die initramfs:

sudo update-initramfs -u

Dies stellt sicher, dass das RAID-Array automatisch beim Boot erkannt und aktiviert wird.

Fügen Sie das Array zu /etc/fstab hinzu:

sudo nano /etc/fstab

Fügen Sie diese Zeile hinzu:

/dev/md0 /mnt/raid1 ext4 defaults,nofail 0 2

Testen Sie die Konfiguration:

sudo mount -a

Schritt 5: RAID-Array Details anzeigen

Zeigen Sie detaillierte RAID-Informationen an:

sudo mdadm --detail /dev/md0

Dies zeigt alle Disks, den aktuellen Status, die Synchronisierung und andere Details.

Schritt 6: Disk-Ausfall simulieren und ersetzen

Um ein Disk-Ausfallszenario zu testen, markieren Sie eine Disk als fehlerhaft:

sudo mdadm /dev/md0 --fail /dev/sdb1

Überprüfen Sie den Status:

sudo mdadm --detail /dev/md0

Das Array sollte jetzt im degraded-Mode laufen – Daten sind aber noch verfügbar!

Defekte Disk aus dem Array entfernen

sudo mdadm /dev/md0 --remove /dev/sdb1

Neue Disk hinzufügen und Resync starten

Entfernen Sie die kaputte Disk physisch, setzen Sie eine neue Disk ein (/dev/sdd) und initialisieren Sie sie:

sudo fdisk /dev/sdd
# Type fd für RAID

Fügen Sie die neue Disk zum Array hinzu:

sudo mdadm /dev/md0 --add /dev/sdd1

Das Array startet automatisch den Resync-Prozess. Überwachen Sie:

watch -n1 cat /proc/mdstat

Nach dem Sync ist das Array wieder vollständig redundant.

Schritt 7: RAID 5 Array erstellen (3+ Disks)

Für bessere Kapazität mit 3 oder mehr Disks erstellen Sie RAID 5:

sudo mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

RAID 5 nutzt Striping mit Parity – nutzbarer Platz ist (N-1) * Disk-Größe.

Erstellen Sie ein Dateisystem:

sudo mkfs.ext4 /dev/md1

Schritt 8: RAID 6 Array (Dual Parity)

Für höhere Fehlertoleranz (2 Disk-Ausfälle) verwenden Sie RAID 6:

sudo mdadm --create /dev/md2 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

RAID 6 speichert zwei Parity-Blöcke – nutzbarer Platz ist (N-2) * Disk-Größe.

Schritt 9: Email-Benachrichtigungen einrichten

Konfigurieren Sie mdadm, um Email-Benachrichtigungen bei RAID-Events zu senden:

sudo nano /etc/mdadm/mdadm.conf

Fügen Sie diese Zeilen hinzu:

MAILADDR admin@example.com
MAILPROG /usr/sbin/sendmail
MAILFROM system@example.com

Monitoring Service starten

Starten Sie den mdadm-Monitoring-Daemon:

sudo systemctl start mdadm
sudo systemctl enable mdadm

Oder fügen Sie zum Crontab hinzu:

sudo crontab -e
*/5 * * * * /usr/sbin/mdadm --monitor --mail=admin@example.com /dev/md0

Schritt 10: RAID Array erweitern

Um ein RAID Array zu erweitern (z.B. von 3 auf 4 Disks für RAID 5):

1. Neue Disk hinzufügen:

sudo mdadm /dev/md1 --add /dev/sde1

2. Array wachsen lassen:

sudo mdadm --grow /dev/md1 --raid-devices=4

Dies startet den Reshape-Prozess (kann Stunden dauern). Überwachen Sie:

watch -n1 cat /proc/mdstat

3. Nach Reshape, wachsen Sie das Dateisystem:

sudo resize2fs /dev/md1

Schritt 11: RAID + LVM Kombination

Kombinieren Sie RAID (für Redundanz) mit LVM (für Flexibilität):

1. Erstellen Sie RAID Array (wie oben)

2. Erstellen Sie Physical Volume auf RAID:

sudo pvcreate /dev/md0

3. Erstellen Sie Volume Group:

sudo vgcreate data-vg /dev/md0

4. Erstellen Sie Logical Volumes:

sudo lvcreate -L 20G -n data-lv data-vg

Dies kombiniert die Fehlertoleranz von RAID mit der Flexibilität von LVM.

Schritt 12: Performance Testing

Überprüfen Sie die Performance des RAID Arrays:

sudo fio --name=benchmark --ioengine=libaio --iodepth=16 \
  --rw=randread --bs=4k --direct=1 --size=1G --numjobs=4 \
  --runtime=60 --group_reporting --directory=/mnt/raid1

Oder mit hdparm für einfache Disk-Read-Speed-Tests:

sudo hdparm -tT /dev/md0

Schritt 13: RAID Array entfernen

Um ein RAID Array zu löschen:

1. Stoppen Sie das Array:

sudo mdadm --stop /dev/md0

2. Entfernen Sie den RAID-Metadaten:

sudo mdadm --zero-superblock /dev/sdb1 /dev/sdc1

Praktisches Szenario: Disk-Ausfallhandling

Szenario

Eine Disk in Ihrem RAID 1 Array ist ausgefallen. Das Array läuft im degraded-Mode. Sie müssen die ausgefallene Disk ersetzen.

Schritt für Schritt

1. Überprüfen Sie den aktuellen Status:

sudo mdadm --detail /dev/md0

2. Entfernen Sie die fehlerhafte Disk physisch

3. Setzen Sie eine neue Disk ein und initialisieren Sie die Partition:

sudo fdisk /dev/sdb
# Create partition, set type to fd

4. Fügen Sie die neue Disk hinzu:

sudo mdadm /dev/md0 --add /dev/sdb1

5. Überwachen Sie den Resync:

watch -n1 cat /proc/mdstat

6. Nach Abschluss ist das Array wieder vollständig:

sudo mdadm --detail /dev/md0

Das gesamte Verfahren kann durchgeführt werden, während das System und Dateisystem online sind!

Troubleshooting

Array kann nicht zusammengestellt werden

Versuchen Sie manuell zu assemblieren:

sudo mdadm --assemble --scan

Disk zeigt „unknown" oder „removed"

Überprüfen Sie die Disk-Verbindung und starten Sie das System neu. Falls das nicht hilft, setzen Sie die Disk zurück:

sudo mdadm --zero-superblock /dev/sdb1

Rebuild/Resync ist sehr langsam

Dies ist normal für große Arrays. Sie können die Rebuild-Priorität erhöhen (vorsichtig, reduziert normale Performance):

echo 2000 | sudo tee /proc/sys/dev/raid/speed_limit_min

Vergleich: mdadm vs LVM vs ZFS RAID-Z

Feature mdadm Software-RAID LVM ZFS RAID-Z
Redundancy RAID 0-6, 10 Externe RAID erforderlich RAID-Z, RAID-Z2, RAID-Z3
Checksums Nein (vom FS) Nein (vom FS) SHA-256 native
Self-Healing Ja (mit Parity) Nein Ja (mit Parity)
Snapshots Nein Ja (LVM-Snapshots) Ja (native)
Komplexität Einfach Moderat Komplex
Performance Sehr gut Gut Ausgezeichnet
Lizenz GPL GPL CDDL

Best Practices

  • Monitoring einrichten: Aktivieren Sie Email-Benachrichtigungen für RAID-Events
  • Regelmäßige Checks: Führen Sie regelmäßig RAID-Konsistenz-Checks durch
  • Separate Backups: RAID ist kein Backup! Sichern Sie Daten extern
  • Gleich große Disks: Verwenden Sie Disks der gleichen Größe für optimale Kapazität
  • HDDs für RAID: Verwenden Sie Enterprise-HDDs für bessere Zuverlässigkeit
  • Monitoring: Überwachen Sie SMART-Status der Disks

Zusammenfassung

Software-RAID mit mdadm ist eine zuverlässige und kosteneffektive Lösung zur Schaffung redundanter Storage unter Linux. RAID schützt vor einzelnen Disk-Ausfällen (je nach RAID-Level vor mehreren), ermöglicht Online-Repairs und garantiert Datenverfügbarkeit. Allerdings ist RAID kein Backup – Sie benötigen ein separates Backup-System.

Wählen Sie das richtige RAID-Level für Ihre Anforderungen: - RAID 1: Kleine Arrays, maximale Performance - RAID 5: Balance zwischen Kapazität und Sicherheit (3-4 Disks) - RAID 6: Große Arrays mit höherer Sicherheit (5+ Disks) - RAID 10: Maximale Performance + Redundanz (4+ Disks)

Weitere Ressourcen

Enjix Beta

Enjyn AI Agent

Hallo 👋 Ich bin Enjix — wie kann ich dir helfen?
120