Software-RAID unter SLE Micro
- WAS?
Grundlegende Informationen zu Software-RAIDs.
- WARUM?
Sie benötigen Informationen über RAID-Leveln oder Sie möchten ein RAID verwalten oder überwachen.
- AUFWAND
15 Minuten Lesedauer.
- ZIEL
Sie werden in der Lage sein, ein Software-RAID mit
mdadm
zu verwalten.- ANFORDERUNGEN
Eine entsprechende Anzahl von Festplatten/Partitionen, die das benötigte RAID bilden.
1 Software-RAID unter SLE Micro #
Der Sinn eines RAID (Redundant Array of Independent Disks) ist es, mehrere Festplattenpartitionen in einer großen virtuellen Festplatte zusammenzufassen, um die Leistung und/oder die Datensicherheit zu optimieren. Die meisten RAID-Controller verwenden das SCSI-Protokoll, da es im Vergleich zum IDE-Protokoll eine größere Anzahl an Festplatten effektiver ansteuern kann und besser für eine parallele Verarbeitung der Kommandos geeignet ist. Es gibt einige RAID-Controller, die IDE- oder SATA-Festplatten unterstützen. Ein Software-RAID bietet die Vorteile von RAID-Systemen ohne die zusätzlichen Kosten für hardwareseitige RAID-Controller. Dies geht allerdings zu Lasten von Prozessorzeit und Arbeitsspeicher, weshalb Soft RAID für Hochleistungssysteme nicht wirklich geeignet ist.
2 RAID-Level #
RAID bietet verschiedene Strategien für das Kombinieren mehrerer Festplatten in einem RAID-System, von der jede andere Ziele, Vorteile und Merkmale aufweist. Diese Variationen werden im Allgemeinen als RAID-Level bezeichnet.
Die RAID-Level lassen sich in die folgenden Kategorien unterteilen:
- Standardlevel
Diese Stufen und die dazugehörigen Datenformate sind von der Storage Networking Industry Association (SNIA) im Standard Common RAID Disk Drive Format (DDF) standardisiert. Die Standard-RAID-Stufen sind RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 und RAID 6. Detaillierte Informationen finden Sie in Abschnitt 2.1, „RAID-Standardlevel“.
- Verschachtelte Level
Sie können bereits vorhandene Arrays in einem neuen Array kombinieren. Beispiel: RAID 0+1 oder RAID 1+0.
- Nicht standardmäßige Level
Dies sind in der Regel proprietäre RAID-Konfigurationen für spezielle Anforderungen, beispielsweise Linux MD RAID 10.
2.1 RAID-Standardlevel #
Ursprünglich gab es nur fünf RAID-Standardlevel; mittlerweile sind jedoch zusätzliche Level entstanden. In den folgenden Abschnitten wird dies näher beschrieben.
2.1.1 RAID 0 #
RAID 0 verbessert die Leistung der Datenvorgänge, da die einzelnen Dateiblöcke auf mehrere Festplatten verteilt werden. Diese Datenverteilung wird als Striping bezeichnet. Die Gesamtkapazität entspricht der Summe der Festplattenkapazität im RAID. RAID 0 hat den Vorteil, dass der Durchsatz von Lese- und Schreibvorgängen auf eine beliebige Datei mit der Anzahl der Laufwerke multipliziert wird, da Lese- und Schreibvorgänge gleichzeitig ausgeführt werden.
Der Nachteil von RAID 0 ist, dass es keine Datensicherung bietet. Wenn also ein Datenträger ausfällt, wird das gesamte RAID zerstört und es kommt zu Datenverlust.
2.1.2 RAID 1 #
RAID 1 bietet ausreichende Sicherheit für Ihre Daten, weil sie 1:1 auf eine andere Festplatte kopiert werden. Dies wird als Festplattenspiegelung bezeichnet. Dieser Level arbeitet nicht mit Striping, bewirkt also keinen höheren Lese- oder Schreibdurchsatz. Das Array bleibt allerdings so lange bestehen, wie noch mindestens ein Laufwerk funktioniert.
Für RAID 2 sind mindestens zwei Geräte erforderlich.
2.1.3 RAID 2 #
Bei RAID 2 wird das Striping auf Bit-Ebene vorgenommen. Dieser RAID-Level wird aktuell nicht in der Praxis verwendet.
2.1.4 RAID 3 #
Bei RAID 3 erfolgt das Striping auf Byte-Ebene mit einem dedizierten Paritätslaufwerk. RAID 3 wird in der Praxis nicht häufig verwendet.
2.1.5 RAID 4 #
RAID 4 bietet Striping auf Blockebene mit einem dedizierten Paritätslaufwerk. Wenn eine Datenfestplatte ausfällt, werden die Paritätsdaten zum Erstellen einer Ersatzfestplatte verwendet. Die Paritätsfestplatte kann beim Schreibzugriff jedoch Engpässe verursachen. Für diesen Level werden mindestens drei Geräte benötigt.
RAID 4 wird in der Praxis nicht häufig verwendet.
2.1.6 RAID 5 #
RAID 5 ist ein optimierter Kompromiss aus Level 0 und Level 1 Leistung und Redundanz betrifft. Der nutzbare Festplattenplatz entspricht der Anzahl der eingesetzten Festplatten minus einer. Die Daten werden genau wie bei RAID 0 auf der Festplatte verteilt, einschließlich der Paritätsdaten. Für die Sicherheit sorgen die Paritätsblöcke. Diese werden mit XOR miteinander verknüpft, sodass sich beim Ausfall einer Partition durch den dazugehörigen Paritätsblock der Inhalt rekonstruieren lässt.
Bei RAID 5 ist zu beachten, dass nicht mehrere Festplatten gleichzeitig ausfallen dürfen. Wenn eine Festplatte ausfällt, muss sie schnellstmöglich ausgetauscht werden, da sonst Datenverlust droht.
Für RAID 5 sind mindestens drei Festplatten erforderlich.
2.1.7 RAID 6 #
RAID 6 besteht aus Striping auf Blockebene mit doppelt verteilter Parität. RAID 6 kann den gleichzeitigen Ausfall mehrerer Laufwerke auffangen und bietet damit eine äußerst hohe Datenfehlertoleranz. Selbst wenn zwei Festplatten ausfallen, bleibt das System ohne Datenverlust weiter funktionsfähig.
Die Leistung von RAID 6 ist etwas geringer, aber vergleichbar mit RAID 5 im normalen Modus und im Modus mit einem Fehler auf einer Festplatte. Im Modus mit Ausfall von zwei Festplatten ist dieses Level sehr langsam. Eine RAID 6-Konfiguration benötigt eine beträchtliche Menge an CPU-Zeit und Speicher für Schreibvorgänge.
Für RAID 6 sind mindestens vier Festplatten erforderlich. Im Allgemeinen werden N+2 Festplatten benötigt, wobei N die Anzahl der Festplatten ist, die für die Speicherung der Daten benötigt werden, und 2 für die doppelte Parität steht.
2.2 Verschachteltes RAID #
2.2.1 RAID 0+1 #
RAID 0+1, auch RAID 01 genannt, spiegelt Stripe-Festplatten, so dass die Daten gleichzeitig repliziert und freigegeben werden. Es sind mindestens vier Festplatten erforderlich.
2.2.2 RAID 1+0 #
RAID 1+0, auch RAID 10 genannt, ist eine Kombination aus Striping und Spiegelung. Die Daten werden auf mehrere Festplatten verteilt, und jede dieser Festplatten wird auf eine andere Festplatte gespiegelt.
3 Verwalten eines Software-RAIDs #
Nach dem Einrichten eines RAIDs können Sie zusätzliche Verwaltungsaufgaben ausführen. Beispiel:
Ändern Sie die standardmäßigen RAID-Namen gemäß den Anweisungen in Abschnitt 3.1, „Benennen eines Software-RAIDs“.
Überwachen Sie das RAID gemäß den Anweisungen in Abschnitt 3.3, „Überwachen von Software-RAIDs“.
Konfigurieren Sie die Stripegröße für die AArch64-Architektur gemäß den Anweisungen in Abschnitt 3.2, „Konfigurieren der Stripegröße für RAID 5 auf AArch64“.
3.1 Benennen eines Software-RAIDs #
3.1.1 Standardnamen #
Die Standardnamen von Software-RAID-Geräten folgen dem Muster mdN
, wobei N
eine Zahl ist. Sie können zum Beispiel als /dev/md127
aufgerufen werden und sind als md127
in /proc/mdstat
und /proc/partitions
aufgeführt.
3.1.2 Festlegen von nicht standardmäßigen Namen #
Die Arbeit mit den Standardnamen ist möglicherweise relativ umständlich. Es gibt daher zwei Alternativen:
- Festlegen eines benannten Links zum Gerät
Sie können optional einen Namen für das RAID-Gerät angeben, wenn Sie es mit YaST oder in der Kommandozeile mit
mdadm --create '/dev/md/
NAME' erstellen. Der Gerätename bleibt weiterhinmdN
, doch der Link/dev/md/NAME
wird erstellt:>
ls -og /dev/md total 0 lrwxrwxrwx 1 8 Dec 9 15:11 myRAID -> ../md127Das Gerät wird weiterhin als
md127
unter/proc
aufgelistet.- Festlegen eines benannten Geräts
Wenn ein benannter Link zum Gerät für Ihre Zwecke nicht ausreicht, fügen Sie mit dem folgenden Kommando die Zeile
CREATE names=yes
in/etc/mdadm.conf
ein:>
echo "CREATE names=yes" | sudo tee -a /etc/mdadm.confDamit werden Namen wie
myRAID
als „echter“ Gerätename verwendet. Der Zugriff auf das Gerät ist nicht nur unter/dev/myRAID
möglich, sondern das Gerät wird auch alsmyRAID
unter/proc
aufgelistet. Denken Sie daran, dass dies nur für RAIDs gilt, die nach der Änderung an der Konfigurationsdatei konfiguriert wurden. Aktive RAIDs verwenden diemdN
-Namen so lange, bis sie angehalten und neu zusammengesetzt werden.Warnung: Inkompatible WerkzeugeBenannte RAID-Geräte werden nicht von allen Werkzeugen unterstützt. Wenn ein Werkzeug einen
mdN
-Namen für ein RAID-Gerät erwartet, kann das Werkzeug die Geräte nicht identifizieren.
3.2 Konfigurieren der Stripegröße für RAID 5 auf AArch64 #
Standardmäßig ist die Stripegröße auf 4 kB festgelegt. Wenn Sie die Standard-Stripegröße ändern möchten, beispielsweise in die typische Seitengröße von 64 kB auf AArch64, können Sie die Stripegröße manuell mit CLI konfigurieren:
>
sudo
echo 16384 > /sys/block/md1/md/stripe_size
Mit dem obigen Kommando wird die Stripegröße auf 16 kB festgelegt. Sie können auch andere Werte wie 4096 oder 8192 festlegen; der Wert muss allerdings eine Zweierpotenz sein.
3.3 Überwachen von Software-RAIDs #
Sie können mdadm
als Daemon im monitor
-Modus ausführen und damit das Software-RAID überwachen. Im monitor
-Modus prüft mdadm
das Array regelmäßig auf Festplattenfehler. Wird ein Fehler festgestellt, sendet mdadm
eine Email an den Administrator. Mit dem folgenden Kommando definieren Sie das Zeitintervall für die Prüfung:
mdadm --monitor --mail=root@localhost --delay=1800 /dev/md2
Das obige Kommando aktiviert die Überwachung des Arrays /dev/md2
in Intervallen von 1.800 Sekunden. Falls ein Fehler auftritt, wird eine E-Mail an root@localhost
gesendet.
Die RAID-Prüfungen sind standardmäßig aktiviert. Es kann vorkommen, dass das Intervall zwischen den einzelnen Überprüfungen nicht lang genug ist und dass Sie Warnungen erhalten. Sie können daher das Intervall verlängern und mit der Option delay
einen höheren Wert festlegen.
4 Rechtliche Hinweise #
Copyright © 2006–2024 SUSE LLC und Mitwirkende. Alle Rechte vorbehalten.
Es wird die Genehmigung erteilt, dieses Dokument unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder (optional) Version 1.3 zu vervielfältigen, zu verbreiten und/oder zu verändern; die unveränderlichen Abschnitte hierbei sind der Urheberrechtshinweis und die Lizenzbedingungen. Eine Kopie dieser Lizenz (Version 1.2) finden Sie im Abschnitt „GNU Free Documentation License“.
Die SUSE Marken finden Sie im https://www.suse.com/company/legal/. Alle anderen Marken von Drittanbietern sind Besitz ihrer jeweiligen Eigentümer. Markensymbole (®, ™ usw.) kennzeichnen Marken von SUSE und ihren Tochtergesellschaften. Sternchen (*) kennzeichnen Marken von Drittanbietern.
Alle Informationen in diesem Buch wurden mit größter Sorgfalt zusammengestellt. Auch hierdurch kann jedoch keine hundertprozentige Richtigkeit gewährleistet werden. Weder SUSE LLC noch ihre Tochtergesellschaften noch die Autoren noch die Übersetzer können für mögliche Fehler und deren Folgen haftbar gemacht werden.