Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
documentation.suse.com / Software-RAID unter SLE Micro

Software-RAID unter SLE Micro

Veröffentlicht: 12.12.2024
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:

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 weiterhin mdN, doch der Link /dev/md/NAME wird erstellt:

> ls -og /dev/md
total 0
lrwxrwxrwx 1 8 Dec  9 15:11 myRAID -> ../md127

Das 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.conf

Damit 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 als myRAID 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 die mdN-Namen so lange, bis sie angehalten und neu zusammengesetzt werden.

Warnung
Warnung: Inkompatible Werkzeuge

Benannte 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.

Anmerkung
Anmerkung: RAID-Prüfungen sind standardmäßig aktiviert

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.