mdadm

Aus Foxwiki


mdadm (multi disk administration) ist das Administrator-Werkzeug für alle Arbeiten an Software-RAIDs.

mdadm

  • Durch die Angabe eines Schlüsselwortes wird ein bestimmter Modus eingeleitet, der für die ordnungsgemäße Verarbeitung der weiteren Optionen entscheidend ist.
  • Eine komplette Beschreibung zu Modi und Optionen befindet sich in der Manpage zu mdadm.

Installation

  • Folgendes Paket muss installiert werden, um ein Software-RAID erstellen zu können:
    • mdadm

Modi

Syntax-Übersicht der Modi
Nr. Syntax Modus Kurzbeschreibung
1 --assemble MD-DEVICE OPTIONS DEVICES Assemble Startet ein bestimmtes Array mit den angegebenen Festplatten/Partitionen.
1.1 --assemble --scan MD-DEVICE OPTIONS Assemble Startet das angegebene Array; sucht dazu automatisch nach Superblöcken auf allen angeschlossenen Festplatten/Partitionen und verwendet diese, sofern der Array-Name in den gefundenen Metadaten übereinstimmt.
1.2 --assemble --scan OPTIONS Assemble Durchsucht alle angeschlossenen Festplatten/Partitionen nach Superblöcken und startet die gefundenen Arrays.
2. --create MD-DEVICE OPTIONS DEVICES Create Anlegen/Definieren eines neues Arrays.
3. --grow MD-DEVICE OPTIONS Grow Vergrößern/Verkleinern eines bestehenden Arrays.
4. --monitor MD-DEVICE OPTIONS DEVICES Monitor Monitoring von einem oder allen md-devices, inkl. Reaktion auf Status-Veränderungen.
5. MD-DEVICE OPTIONS DEVICES Manage Verwaltung eines RAIDs.
6. OPTIONS DEVICES Misc Sonstige Aufgaben
  • MD-DEVICES sind die RAID-Arrays.
  • DEVICES sind die am Array teilnehmenden Festplatten/Partitionen.

Optionen

  • Neben dem einzelnen Modus gibt es eine ganze Reihe von Optionen, die unterschiedliche Funktionen bei den einzelnen Modi haben.
  • Eine komplette Beschreibung zu Modus und Optionen befindet sich in der Manpage zu mdadm.
  • Auswahl einiger Optionen mit dem zugeordneten Modus, wie er in den Beispielen angewandt wird.
Option Beschreibung gültig bei Modi
--add Hinzufügen weiterer Festplatten/Partitionen 1, 6
--backup-file=... Erzeugt eine Backup-Datei - darf nicht im Array liegen 1, 3
--detail Details zu den Arrays ausgeben 6
--fail Status eines Array verändern 5
--force Erzwinge die Ausführung, auch wenn es unsinnig erscheint 1, 2, 6
--help Ausgabe eines generellen Hilfetextes - hinter eine Option gestellt = spezielle Optionshilfe 1, 2, 3, 4, 5, 6
--level=... Bezeichnet den RAID-Typ 1, 2, 3
--query Überprüfen, ob das angegebene Device ein md-Device ist bzw. zu einem Array gehört(e) 6
--raid-device=... Anzahl der aktiven am Array teilnehmenden Festplatten/Partitionen 1, 2
--remove Festplatten/Partitionen die aus dem Array entnommen werden sollen 5
--stop Stoppen eines Arrays 4, 5, 6
--spare-device=... Anzahl der inaktiven (Ersatz-) Festplatten/Partitionen eines Arrays 2, 3
--test Testen der angegebenen Optionen 5, 6
--uuid=... Die UUID des Arrays 1
--verbose Mehr Ausgabe-Informationen erzeugen - kann 2x gesetzt werden 4, 5, 6
--zero-superblock Löschen des RAID-Superblocks 6

mdadm.conf

  • Alle Informationen zum RAID werden auf jeder verwendeten Partition in den sog. Superblock geschrieben (auch Metadaten genannt).
  • Der Kernel sucht beim Starten automatisch nach diesen Superblöcken und startet alle voll funktionsfähigen RAIDs, ohne dass eine Konfigurationsdatei nötig ist.
  • Trotzdem kann es sinnvoll sein, eine Konfigurationsdatei zu erstellen, z. B. wenn man über Ausfälle am RAID per E-Mail benachrichtigt werden möchte.
  • Über die Konfigurationsdatei können sehr viele Details der RAIDs angepasst werden.
  • Generell gilt bei neu aufgesetzten RAIDs allerdings: Je weniger, desto besser.

Anwendung

RAID anlegen

# mdadm --create /Pfad_zum_RAID/Name_des_RAIDs --auto md --level=Angabe_des_RAID-Levels --raid-devices=Anzahl_der_Festplatten Angabe_der_Partitionen

RAID 1

  • Hier sda1 und sdc1.
# mdadm --create /dev/md0 --auto md --level=1 --raid-devices=4 /dev/sda1 /dev/sdc1

RAID 6

  • Hier sda1, sdb1, sdc1 und sdd1.
# mdadm --create /dev/md0 --auto md --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
  • Die Parameter nochmals im Einzelnen:
    • --create /dev/md0 - Erzeugt ein neues Verbundgerät unter der Bezeichnung md0. Falls bereits Verbundgeräte vorhanden sind, muss ein anderer freier Bezeichner gewählt werden (md1,md2, etc.).
    • --auto md - Erzeugt ein "klassisches" Verbundgerät ohne Vor-Partitionierung (diese können bei Bedarf ab Kernelversion 2.6.28 trotzdem partitioniert werden).
    • --level= - Die Art des RAID-Verbundes. RAID 1 im ersten Beispiel, im zweiten RAID 5. Eine Übersicht über die möglichen RAID-Level gibt die Tabelle RAID-Level
    • --raid-devices - Die Anzahl der Einzelgeräte, aus denen das RAID bestehen soll.
    • /dev/sde1 /dev/sde2 ... - Die einzelnen Geräte, die zusammengefasst werden sollen.
  • Die Reihenfolge der Bezeichner, bzw. idealerweise die der entsprechenden physischen Geräte sollte man sich aufschreiben, falls im Notfall das RAID von Hand neu zusammengesetzt werden muss.
  • Die nötigen Initialisierungsmaßnahmen laufen nun selbstständig im Hintergrund ab.
  • Das neu erstellte Blockgerät md0 kann jedoch sofort benutzt werden und das System darf auch währenddessen normal heruntergefahren oder neu gestartet werden.

Erstellen der mdadm.conf

  • Die Konfigurationsdatei kann bequem mit einem Skript von mdadm erstellt werden und enthält dann direkt alle Definitionen aller momentan aktiven RAIDs:
# su -c "/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf"

Alarmierung

Über Ausfälle am RAID per E-Mail benachrichtigen

  • In der mdadm.conf muss dafür in der Zeile...
MAILADDR root 
  • ...root durch die gewünschte E-Mail-Adresse ersetzt werden.
MAILADDR xzy@abc.org
  • Dafür muss der E-Mail-Versand durch das System eingerichtet sein, z. B. via Postfix als Satellitensystem.

Links

Interne Links

  1. TODO

Externe Links

  1. https://linux.die.net/man/8/mdadm
  2. https://wiki.ubuntuusers.de/Software-RAID/