Wednesday, January 7, 2015

MD Software-RAID Level 1

MD Software-RAID Level 1 ist die Spieglung einer Festplatten-Partition, durch einrichten eines Festplattenverbund von zwei (oder mehr) Festplatten zu einem logischen Laufwerk mittels mdadm (Programmpaket zum Verwalten von Multi-Disk-Arrays unter Linux), bei dem die Daten gleichzeitig auf alle Festplatten dupliziert werden. Dies schützt durch Redundanz vor dem Ausfall einer Festplatte.

  • Die Literatur empfiehlt aus Sicherheitsgründen, für die RAID-Festplatten unterschiedliche Hersteller oder zumindest unterschiedliche Produktionslinien vom selben Hersteller einzusetzen. Damit, sollte ein Hersteller Fertigungsprobleme gehabt haben, nicht alle Festplatten innerhalb kürzester Zeit ausfallen.
  • Tritt ein Problem auf, wird die Fehlermeldung per E-Mail versandt. Das setzt allerdings voraus, dass ein Mail Transfer Agent (MTA) eingerichtet ist (Die Mail wird die Ausgabe von cat /proc/mdstat enthalten).
  • Das RAID ersetzt keine Datensicherung. Ein RAID schützt nur vor dem Ausfall einer Festplatte — nicht vor unbeabsichtigtem löschen von Dateien und Fehler am Dateisystem.

Debian-Installer: Software-RAID Level 1 mit dem Debian-Installer erstellen

Um die Installation einfach und überschaubar zu halten, habe ich jeweils nur eine Partition (/dev/sd[ab]1) für das RAID genommen und LVM mit jeweils einem LV für / (Root-Partition) und Swap eingerichtet.

Anders als beim Laptop, das mobile ist und auf Reisen etc. schon mal gestohlen werden oder verloren gehen kann, halte ich auf dem Desktop zu Hause ein verschlüsseltes System mit cryptsetup/LVM für nicht notwendig.

Festplatten partitionieren und als RAID konfigurieren

Zwei Partitionen für die Benutzung als RAID einrichten:

partman_active_partition_0.png

Software-RAID Level 1 erstellen

RAID Level 1 mit den zwei Partitionen erstellen:

partman_choose_partition_0.png

partman-md_mainmenu_0.png

Typ des Software-RAID wählen. Wir wählen RAID1:

partman-md_createmain_0.png

Anzahl der Partitionen für das RAID Level 1 auf 2 setzen:

partman-md_raiddevcount_0.png

Die zwei Partitionen die wir oben für die Benutzung als RAID eingerichtet haben auswählen:

partman-md_raiddevs_0.png

Anzahl der Reserve-Partitionen setzen. Wir haben keine Reserve-Partition:

partman-md_raidsparecount_0.png

partman-md_mainmenu_1.png

Die (neue) RAID1-Partition für die Benutzung als LVM einrichten:

partman_active_partition_3.png

partman_choose_partition_5.png

LVM (Logical-Volume-Manager) konfigurieren

LVM konfigurieren und eine VG (Volume-Gruppe) mit zwei LVs (logisches Volume) für / (Root-Partition) und Swap erstellen:

partman_choose_partition_6.png

VG Debian auf der RAID1-Partition erstellen:

partman-lvm_mainmenu_0.png

partman-lvm_vgcreate_name_0.png

partman-lvm_vgcreate_parts_0.png

Zwei LVs für Swap und / (Root-Partition) erstellen:

partman-lvm_mainmenu_1.png

partman-lvm_lvcreate_name_0.png

partman-lvm_lvcreate_name_1.png

Fertige Partitionierung übernehmen

Das fertige Partitions-Schema:

partman_choose_partition_12.png

Bootloader installieren

debian-installer_main-menu_1.png

Um GRUB auf beide Festplatten zu installieren, kann später im nach hinein dpkg-reconfigure grub-pc ausgeführt werden und dort dann alle Festplatte für die Installation ausgewählt werden.

dpkg-reconfigure_grub-pc.png

Fehlerhafte Festplatte ersetzen

Schritt-für-Schritt Anleitung zum Austausch einer defekten Festplatte im Software-RAID Level 1:

  1. Alle Partitionen der defekten Festplatte als fehlerhaft aus dem RAID entfernen:
    mdadm /dev/mdN --set-faulty /dev/sdXN --remove /dev/sdXN
    
  2. Die physische Festplatte auswechseln.
  3. Bootloader und Partitionstabelle kopieren:
    # Bootloader kopieren
    dd if=/dev/sdY of=/dev/sdX bs=512 count=1
    # MBR-Partitionstabelle (MPT) kopieren
    sfdisk -d /dev/sdY > /tmp/mpt.out
    sfdisk /dev/sdX < /tmp/mpt.out
    # Für GUID-Partitionstabellen (GPT) muss sgdisk(8) verwendet werden!
    #sgdisk --backup=/tmp/gpt.out /dev/sdY
    #sgdisk --load-backup=/tmp/gpt.out /dev/sdX
    # neue Partitionstabelle einlesen
    blockdev --rereadpt /dev/sdX
    
  4. Partitionen der neuen Festplatte dem RAID hinzufügen:
    mdadm /dev/mdN --add /dev/sdXN
    

Das als fehlerhaft entfernen und hinzufügen von Partitionen, kann während des Betriebs passieren. Nur zum Auswechseln der physischen Festplatte muss eine Ausfallzeit eingeplant werden. Es müssen alle Partitionen der defekten Festplatte als fehlerhaft entfernt und anschließend neu hinzugefügt werden.

Mit folgendem Befehl kann die Synchronisierung des RAID verfolgt werden:

watch mdadm --detail /dev/mdN

Der Irrtum abwarten zu müssen bis die Synchronisierung abgeschlossen sei ist falsch. Das RAID kann sofort benutzen werden.

Aus einem Live-System auf das RAID zugreifen

Unter GRML, KNOPPIX etc. ein Software-RAID starten.

Das Skript mdadm-startall, startet Software-RAID Systeme automatisch:

# Alle RAID-Systeme starten
apt-get update        # Paketquellen aktualisieren
apt-get install mdadm # Werkzeug zum Verwalten von RAID-Systemen installieren
modprobe md_mod       # RAID framework laden (RAID-Treiber)
mdadm-startall        # Alle RAID-Systeme starten

Nun sollten alle RAID-Systeme (Meta-Devices: /dev/md*) gestartet worden sein und können mit den üblichen Programmen — cryptsetup(8), lvm(8), mount(8) usw. — wie herkömmliche Partitionen gehandhabt werden.

Hinweis: In neueren Versionen von KNOPPIX, scheint das Skript mdadm-startall zu fehlen. Ich habe es deshalb hier zum Download: https://github.com/1nn3/shell-scripts.

RAID-Systeme mit dem Debian-Installer starten

Der Rettungsmodus des Debian-Installer startet RAID-Systeme ebenfalls.

Quellen

Add comment

Fill out the form below to add your own comments