mdadm

mdadm
mdadm
Maintainer Neil Brown
Entwickler Neil Brown
Aktuelle Version 3.2.1
(28. März 2011)
Betriebssystem Linux
Programmier­sprache C
Kategorie Datenträger-Verwaltung
Lizenz GPL (Freie Software)
Deutschsprachig Nein
neil.brown.name/blog/mdadm

mdadm (für multiple disk administration, früher auch mdctl) ist ein Hilfsprogramm für Linux zur Verwaltung eines Software RAIDs. Mit dem Programm können RAID-Verbünde erstellt, konfiguriert, überwacht und gelöscht werden. mdadm wird als Freie Software unter der GNU General Public License (GPL) veröffentlicht.[1]

Inhaltsverzeichnis

Features

mdadm erstellt sogenannte multiple devices (kurz MD) aus verschiedenen Block-Devices (wie z.B. einer ganzen Festplatte, einer einzelnen Partition oder einem USB-Stick). Das MD kann das wiederum vom MD-Gerätetreiber als Block-Device verwendet werden. mdadm unterstützt folgende Arten von MDs[2]:

  • Linear:: Aneinanderhängen von mehreren gleichgroßen Partitionen
  • Mulitpath: Kein RAID, sondern ein Mapping einer Datei auf zwei verschiedene Pfade auf der gleichen Partition (Spiegelung)
  • Faulty: Emuliert ein fehlerhaftes RAID-System für Testfälle
  • Level 0 (Block Level Striping): Aneinanderhängen von mehren kleinen Block-Devices zu einem großen.
  • Level 1 (Mirror): Spieglung einer Disk
  • Level 4: Wie Level 0, aber mit einem zusätzlichen Gerät für Paritätbits (erhöhte Ausfallsicherheit) .
  • Level 5: Wie Level 4, die Paritätbits werden aber über alle Geräte verteilt.
  • Level 6: Wie Level 5 aber mit zwei unabhängigen Paritätsbits pro Segment (erhöhte Ausfallsicherheit).
  • Level 10: Kombination von Level 0 und Level 1.

Mehr über die verschiedenen RAID-Levels findet sich auch im Artikel RAID#Die gebräuchlichen RAID-Level im Einzelnen.

Vor dem Linux Kernel 2.6 konnte mdadm die MDs als /dev/mdn (wobei n eine Nummer zwischen 0 und 99 ist) einbinden, der Kernel 2.4 auch als /dev/md/name, wobei name ein frei wählbarer Name ist. Diese Geräte waren nicht partitionierbar. Der Kernel 2.6. führte neue partitionierbare Arrays ein. Die Geräte heißen nun /dev/md_d2p3 (die 3. Partition des 2. MDs). Seit Kernel 2.6.28 können auch die alten MDs partitioniert werden. Sie heißen dann /dev/md2p3 (die 3. Partition des 2. MDs).

Booten von einem Software-Raid

Die Unterstützung für MDs wird von Kernel bereitgestellt. Bevor dieser geladen ist, kann nicht darauf zugegriffen werden. Dies bedeutet insbesondere, das der Kernel nicht auf einem MD liegen darf. Einzige Ausnahme ist Raid 1, das auch ohne Kernel gelesen werden kann[3]. Es wird dann einfach als eine einfache Festplatte erkannt (und die Spiegelung wird ignoriert). Bei einem Software-Raid Linux System muss also die /boot-Partition außerhalb des MDs, oder auf einem RAID 1 liegen.

Kurzreferenz

Ein neues MD kann durch den Befehl

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

erstellt werden. Dieser erzeugt ein neues RAID 1 (mirror) MD names /dev/md0 aus den beiden Partitionen /dev/sda1 und /dev/sdb1. Andere Raid Level können ähnlich erstellt werden, z.b. RAID 5:

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

Der Befehl

mdadm -Es | grep md0>> /etc/mdadm/mdadm.conf

fügt das neu erstellte md0 in die mdadm.conf ein, so dass das MD beim Booten geladen werden kann.

mdadm --detail /dev/md0

zeigt den Zustand des MDs an.

Verwendung

Erstellung eines RAID 1 (Mirror) aus zwei Partitionen gleicher Größe:

mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdc1 /dev/sde1

Zur Erkennung des RAID-Verbundes bei dem nächsten Systemstart werden die Parameter in der Datei /etc/mdadm/mdadm.conf mit folgendem Befehl gespeichert:

mdadm -Es | grep md0  >>/etc/mdadm/mdadm.conf

Folgender Befehl zeigt den Status eines Verbundes aus mehreren Festplatten an:

mdadm --detail /dev/md0

oder

cat /proc/mdstat

Mdmpd

Mdmpd ist ein Computerprogramm für GNU/Linux-Betriebssysteme. Es ist Bestandteil des mdadm-Paketes und wurde ursprünglich von der Firma Red Hat entwickelt.

Das Programm wird beim Systemstart als Daemon geladen und danach zur Überwachung von RAID-Verbünden genutzt. Der Name des Programms mdmpd ist ein Synonym für engl. daemon to monitor MD multipath devices (dt. Hintergrunddienst zur Überwachung von Mehrfachübertragungen auf Festplatten).

Speicherlösungen in Unternehmen benötigen oft mehrere Möglichkeiten zur Kommunikation mit einem einzelnen Laufwerk innerhalb eines RAID-Verbundes. So kann das System bei einer Störung des Controllers, an dem ein Laufwerk angeschlossen ist, problemlos die Kommunikation mit dem Laufwerk über einen anderen Controller erledigen und bleibt somit voll funktionsfähig. Diese Lösung wird auch multipath disk access (Zugriff auf Laufwerke über mehrere Kanäle) genannt und zum Beispiel bei SAS-Festplatten verwendet. Die Implementierung dieser Zugriffsart erfolgt über die Software Raid Funktionalität des Linux-Kernels, auch als md-Treiber (multiple disk) bekannt.

Funktionsweise

Der Bestandteil des md-Treibers im Kernel erledigt ausschließlich I/O-Anfragen an das entsprechende Laufwerk und die Fehlerbehandlung des aktiven Kanals. Eine Überprüfung ob ein ehemals fehlerhafter Kanal nun wieder funktionsfähig ist, findet nicht statt.

Beim Systemstart führt der Daemon eine initiale Überprüfung des RAID-Verbundes und eine Speicherung dieses Status durch, danach läuft der Daemon im Hintergrund und wartet auf weitere Benachrichtigungen des Kernels.

Nach dem Empfang einer solchen Nachricht prüft der Daemon, ob der aktive Kanal zu einem Laufwerk ausgefallen ist. Danach wird alle 15 Sekunden eine Anfrage durch diesen Kanal geschickt, bis der Ausfall durch den Wechsel des Kanals behoben wurde. Sobald die Störung behoben wurde, fügt der Daemon den (jetzt nicht mehr aktiven) Kanal dem ursprünglichen RAID als Backup-Kanal hinzu.

Bei der Benutzung von procfs, einem dynamischen Dateisystem zur Speicherung systemrelevanter Daten, werden in der virtuellen Datei /proc/mdstat alle konfigurierten RAID-Verbünde sowie weitere Informationen über deren Zustand gespeichert. mdmpd benötigt diese Informationen zur Lokalisierung des RAID-Verbundes, zur Identifikation der Bestandteile des RAID-Verbundes sowie zur Benachrichtigung über relevante Ereignisse.

Weblinks

Referenzen

  1. mdadm auf Neil Browns Homepage
  2. Man page
  3. texSoft.it - How to boot Linux from RAID-1 with GRUB

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • mdadm — Original author(s) Neil Brown Developer(s) Neil Brown Initial release 2001 Stable release 3.2.1[1] / April 28 …   Wikipedia

  • mdadm — (ранее mdctl) Тип Дисковая утилита Разработчик Neil Brown Операционная система Linux Последняя версия 3.2.5 (2012 05 18) Лицензия GNU GPL 2 и новее Сайт …   Википедия

  • Mdadm — (ранее mdctl) Тип Дисковая утилита Разработчик Neil Brown [1] ОС GNU/Linux Версия 3.1.1 (2009 11 19) Лицензия …   Википедия

  • Mdadm — Infobox Software name = mdadm author = Neil Brown developer = Neil Brown released = 2001 latest release version = 2.6.4 latest release date = 2007 10 19 programming language = C operating system = Linux language = English status = Active genre =… …   Wikipedia

  • Western Digital My Book — My Book  серия внешних жестких дисков производства компании Western Digital. Выпускается девять вариантов (editions) My Book: Essential Edition, Home Edition, Office Edition, Mirror Edition, Studio Edition, Premium Edition, Pro Edition,… …   Википедия

  • Standard RAID levels — The standard RAID levels are a basic set of RAID configurations and employ striping, mirroring, or parity.The standard RAID levels can be nested for other benefits ( see Nested RAID levels ). Concatenation (SPAN) The controller treats each drive… …   Wikipedia

  • Comparison of operating systems — Usage share of web client operating systems. (Source: Median values from Usage share of operating systems for August 2011.)   Windows XP (35.21%) …   Wikipedia

  • Data corruption — Photo data corruption; in this case, a result of a failed data recovery from a hard disk drive Data corruption refers to errors in computer data that occur during writing, reading, storage, transmission, or processing, which introduce unintended… …   Wikipedia

  • Martin Krafft — Infobox Scientist name = Martin Felix Krafft caption = Martin Krafft (photograph taken in 2004) birth date = 1979 02 14 birth place = Munich, Germany death date = death place = residence = Zurich, Switzerland nationality = German field = computer …   Wikipedia

  • Non-standard RAID levels — Main article: RAID Although all RAID implementations differ from the specification to some extent, some companies have developed non standard RAID implementations that differ substantially from the standard. Non RAID drive architectures… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”