Mdadm: Unterschied zwischen den Versionen

Aus Foxwiki
Robertquies (Diskussion | Beiträge)
K Textersetzung - „Kurzbeschreibung“ durch „Beschreibung“
 
(42 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=mdadm=
{{DISPLAYTITLE:mdadm}}
 
'''mdadm''' ('''m'''ulti '''d'''isk '''adm'''inistration) ist das Administrator-Werkzeug für alle Arbeiten an Software-RAIDs.  
'''mdadm''' ('''m'''ulti '''d'''isk '''adm'''inistration) 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.  
*Durch die Angabe eines Schlüsselwortes wird ein bestimmter Modus eingeleitet, der für die ordnungsgemäße Verarbeitung der weiteren Optionen entscheidend ist.  


Zeile 11: Zeile 13:
** mdadm
** mdadm


==mdadm MODI==
== Modi ==
 


{|class="wikitable"
{|class="wikitable"
|+ Syntax-Übersicht der Modi
|+ Syntax-Übersicht der Modi
|Nr. || Syntax|| Modus|| Kurzbeschreibung
|Nr. || Syntax|| Modus|| Beschreibung
|-
|-
| 1|| mdadm '''--assemble''' MD-DEVICE OPTIONS DEVICES|| Assemble|| Startet ein bestimmtes Array mit den angegebenen Festplatten/Partitionen.
| 1|| '''--assemble''' MD-DEVICE OPTIONS DEVICES|| Assemble|| Startet ein bestimmtes Array mit den angegebenen Festplatten/Partitionen.
|-
|-
| 1.1|| mdadm '''--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.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|| mdadm '''--assemble --scan''' OPTIONS|| Assemble|| Durchsucht alle angeschlossenen Festplatten/Partitionen nach Superblöcken und startet die gefundenen Arrays.
| 1.2|| '''--assemble --scan''' OPTIONS|| Assemble|| Durchsucht alle angeschlossenen Festplatten/Partitionen nach Superblöcken und startet die gefundenen Arrays.
|-
|-
| 2.|| mdadm '''--create''' MD-DEVICE OPTIONS DEVICES|| Create|| Anlegen/Definieren eines neues Arrays.
| 2.|| '''--create''' MD-DEVICE OPTIONS DEVICES|| Create|| Anlegen/Definieren eines neues Arrays.
|-
|-
| 3.|| mdadm '''--grow''' MD-DEVICE OPTIONS|| Grow|| Vergrößern/Verkleinern eines bestehenden Arrays.
| 3.|| '''--grow''' MD-DEVICE OPTIONS|| Grow|| Vergrößern/Verkleinern eines bestehenden Arrays.
|-
|-
| 4.|| mdadm '''--monitor''' MD-DEVICE OPTIONS DEVICES|| Monitor|| Monitoring von einem oder allen md-devices, inkl. Reaktion auf Status-Veränderungen.
| 4.|| '''--monitor''' MD-DEVICE OPTIONS DEVICES|| Monitor|| Monitoring von einem oder allen md-devices, inkl. Reaktion auf Status-Veränderungen.
|-
|-
| 5.|| mdadm MD-DEVICE OPTIONS DEVICES|| Manage|| Verwaltung eines RAIDs.
| 5.|| MD-DEVICE OPTIONS DEVICES|| Manage|| Verwaltung eines RAIDs.
|-
|-
| 6.|| mdadm OPTIONS DEVICES|| Misc|| Sonstige Aufgaben
| 6.|| OPTIONS DEVICES|| Misc|| Sonstige Aufgaben
|}
|}
*MD-DEVICES sind die RAID-Arrays.
*DEVICES sind die am Array teilnehmenden Festplatten/Partitionen.
==mdadm OPTIONEN==


*Neben dem einzelnen Modus gibt es eine ganze Reihe von Optionen, die unterschiedliche Funktionen bei den einzelnen Modi haben.  
* MD-DEVICES sind die RAID-Arrays.
* DEVICES sind die am Array teilnehmenden Festplatten/Partitionen.


*Eine komplette Beschreibung zu Modus und Optionen befindet sich in der [https://linux.die.net/man/8/mdadm Manpage zu mdadm].
== Optionen ==


*Auswahl einiger Optionen mit dem zugeordneten Modus, wie er in den Beispielen angewendet wird.
* 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 [https://linux.die.net/man/8/mdadm Manpage zu mdadm].
* Auswahl einiger Optionen mit dem zugeordneten Modus, wie er in den Beispielen angewandt wird.


{|class="wikitable"
{|class="wikitable"
Zeile 63: Zeile 63:
| --level=...|| Bezeichnet den RAID-Typ|| 1, 2, 3
| --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
| --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
| --raid-device=...|| Anzahl der aktiven am Array teilnehmenden Festplatten/Partitionen|| 1, 2
Zeile 82: Zeile 82:
|}
|}


==Software-RAID anlegen==
=mdadm.conf=
 
*Alle Informationen zum RAID werden auf jeder verwendeten Partition in den sog. [[Linux/Software-RAID#RAID Superblock|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.
 
*Mehr Info: [https://linux.die.net/man/5/mdadm.conf Manpage von mdadm.conf].
 
=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  
  # mdadm --create /Pfad_zum_RAID/Name_des_RAIDs --auto md --level=Angabe_des_RAID-Levels --raid-devices=Anzahl_der_Festplatten Angabe_der_Partitionen


===Software-RAID 1 über zwei Partitionen, sda1 und sdc1:===
=== RAID 1 ===
* Hier sda1 und sdc1.


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


===Software-RAID 6 über vier Partitionen:===
=== 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.


# mdadm --create /dev/md0 --auto md --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
* Die nötigen Initialisierungsmaßnahmen laufen nun selbstständig im Hintergrund ab.


*Die Parameter nochmals im Einzelnen:
* Das neu erstellte Blockgerät md0 kann jedoch sofort benutzt werden und das System darf auch währenddessen normal heruntergefahren oder neu gestartet werden.
**'''--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.
==Erstellen der mdadm.conf==


*Die nötigen Initialisierungsmaßnahmen laufen nun selbstständig im Hintergrund ab.
*Die Konfigurationsdatei kann bequem mit einem Skript von mdadm erstellt werden und enthält dann direkt alle Definitionen aller momentan aktiven RAIDs:


*Das neu erstellte Blockgerät md0 kann jedoch sofort benutzt werden und das System darf auch währenddessen normal heruntergefahren oder neu gestartet werden.
# su -c "/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf"


==Quellen==
== Alarmierung ==
[https://linux.die.net/man/8/mdadm https://linux.die.net/man/8/mdadm]
Ü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.


[https://wiki.ubuntuusers.de/Software-RAID/ https://wiki.ubuntuusers.de/Software-RAID/]
= Links =
== Interne Links ==
# TODO
== Externe Links ==
# [https://linux.die.net/man/8/mdadm https://linux.die.net/man/8/mdadm]
# [https://wiki.ubuntuusers.de/Software-RAID/ https://wiki.ubuntuusers.de/Software-RAID/]


[[Category:Linux:Storage]]
[[Kategorie:Linux/Storage]]
[[Kategorie:Linux/Befehl]]
{{DEFAULTSORT:mdadm}}

Aktuelle Version vom 19. Oktober 2024, 13:33 Uhr


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 Beschreibung
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/