Good to Know Database

CentOS 5: Software RAID konfigurieren


1. Einleitung

Mit Hilfe von RAID (Redundant Array of Independent Disks) werden mehrere Festplatten beziehungsweise Partitionen zu einer virtuellen Einheit zusammengefasst. Dadurch können Sie einerseits größere Partitionen erzeugen als auf eine Festplatte passen würden und andererseits auch zusätzliche Sicherheits- und/oder Geschwindigkeitsvorteile nutzen.

Im folgenden Tutorial möchte ich Ihnen zeigen, wie Sie Festplatten ohne einen speziellen RAID-Controller als RAID0-, RAID1- oder RAID5-Verbund zusammenfassen können.

2. Festplatten vorbereiten

Bevor Sie eine Festplatte in einen RAID-Verbund aufnehmen können, müssen Sie eine Partition auf der HDD erstellen und deren Partition-ID auf 0xfd (Linux raid autodetect) ändern.

Dazu können Sie zum Beispiel fdisk verwenden.

[root@centos5 ~]# fdisk /dev/sdb

3. RAID0

RAID0 ist eigentlich kein richtiges RAID da hier die Daten nicht Redundant gespeichert werden und beim Ausfall einer Festplatte alle Daten auf dem Array unwiederbringlich verloren sind. Der Vorteil von RAID0 ist ein höherer Datendurchsatz im Vergleich zu einer einzelnen Festplatte oder zu anderen RAID-Levels. Dies wird dadurch erreicht, dass die Daten auf allen Festplatten in gleich großen Blöcken verteilt werden. Die Gesamtkapazität eines RAID0-Verbundes errechnet sich anhand der Festplattengröße multipliziert mit der Anzahl der Festplatten.

3.1. RAID0-Verbund einrichten

Nachdem Sie mindestens zwei gleich große Partition vorbereitet haben, können Sie mit dem folgenden Befehl einen RAID0-Verbund erstellen.

[root@centos5 ~]# mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1

In diesem Fall wird der Gerätenamen /dev/md0 verwendet, welcher für den ersten RAID-Verbund vorgesehen ist. Sollten Sie bereits einen RAID-Verbund benutzen, müssen Sie einen anderen Gerätenamen (zum Beispiel /dev/md1) verwenden.

Alternativ zu dem genannten Befehl können Sie auch die kürzere Schreibform verwenden.

[root@centos5 ~]# mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1

Mit der Option --level beziehungsweise -l geben Sie an, dass Sie RAID0 verwenden wollen. Anschließend wird mit --raid-devices oder -n die Anzahl der Partitionen für das Array festgelegt. Zum Schluss folgen noch die einzelnen Partitionen für das Array.

Bevor Sie das Array mounten und benutzen können, müssen Sie noch ein Dateisystem auf dem RAID-Device erzeugen.

[root@centos5 ~]# mkfs -t ext3 /dev/md0
[root@centos5 ~]# mount /dev/md0 /mnt

3.2. RAID0-Verbund auflösen

Wenn Sie einen RAID0-Verbund wieder auflösen wollen, müssen Sie zuerst das Array mit dem folgenden Befehl deaktivieren.

[root@centos5 ~]# mdadm --stop /dev/md0

Danach sollten Sie noch den Superblock der einzelnen Partitionen löschen.

[root@centos5 ~]# mdadm /dev/md0 --zero-superblock /dev/sdb1
[root@centos5 ~]# mdadm /dev/md0 --zero-superblock /dev/sdc1

4. RAID1

Im Gegensatz zu RAID0 werden hier die Daten nicht auf den einzelnen Festplatten im Array verteilt sondern auf allen Festplatten gespeichert. Dadurch haben Sie nur den Datendurchsatz von einer Festplatte aber sollte eine Festplatte ausfallen, sind die Daten weiterhin verfügbar. Für diesen Grad der Sicherheit benötigen Sie mindestens zwei gleich große Festplatten und können effektiv nur die Kapazität einer Festplatte benutzen. Des Weiteren können Sie noch eine oder mehrere zusätzliche Festplatten dem Verbund zuordnen welche bei einem Festplattenausfall automatisch den Platz der defekten Festplatte einnehmen und solange nicht benutzt werden. Diese zusätzliche(n) Festplatte(n) bezeichnet man als Hot-Spare-Laufwerk(e).

4.1. RAID1-Verbund einrichten

Bevor Sie einen RAID1-Verbund mit dem folgenden Befehl erstellen können, müssen Sie wie im Abschnitt Festplatten vorbereiten beschrieben, die einzelnen Festplatten partitionieren und die Partition-ID auf 0xfd setzen.

[root@centos5 ~]# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Die verwendeten Optionen kennen Sie bereits von der Konfiguration eines RAID0-Verbundes. Beachten Sie aber, dass hier als Level eine 1 angegeben werden muss.

Alternativ können Sie auch wieder die kürzere Schreibform verwenden.

[root@centos5 ~]# mdadm -C /dev/md0 -l 1 -n 2 /dev/sdb1 /dev/sdc1

Bisher wurden nur zwei Festplatten für den RAID1-Verbund verwendet. Sollten Sie dem Verbund auch gleich eine Festplatte als Hot-Spare-Laufwerk zuordnen wollen, müssen Sie diese beim Aufruf von mdadm mit angeben.

[root@centos5 ~]# mdadm --create /dev/md0 --level=1 --raid-devices=2 --spare-devices=1 /dev/sdb1 /dev/sdc1 /dev/sdd1

Die Kurzform sieht wie folgt aus.

[root@centos5 ~]# mdadm -C /dev/md0 -l 1 -n 2 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1

Wie Sie sehen, wurde hier die Option --spare-devices beziehungsweise die Kurzform -x hinzugefügt. Mit dieser Option wird die Anzahl der Hot-Spare-Laufwerke angegeben. Die Gerätedateien der Hot-Spare-Laufwerke werden anschließend am Ende des Befehls angegeben.

Nachdem Sie den RAID1-Verbund erstellt haben, müssen Sie noch das Dateisystem anlegen.

[root@centos5 ~]# mkfs -t ext3 /dev/md0

Anschließend können Sie das Array mounten.

[root@centos5 ~]# mount /dev/md0 /mnt

4.2. RAID1-Verbund: Hot-Spare-Laufwerk hinzufügen

Sollten Sie den RAID1-Verbund ohne Hot-Spare-Laufwerk erstellt haben, können Sie mit dem folgenden Befehl nachträglich ein Hot-Spare-Laufwerk hinzufügen.

[root@centos5 ~]# mdadm /dev/md0 --add /dev/sdd1

4.3. RAID1-Verbund: HDD entfernen

Sollten Sie eine Festplatte (zum Beispiel das Hot-Spare-Laufwerk) wieder aus dem RAID1-Verbund entfernen wollen, müssen Sie diese Festplatte zuerst als fehlerhaft deklarieren.

[root@centos5 ~]# mdadm /dev/md0 --set-faulty /dev/sdd1

Danach wird die Festplatte mit dem folgenden Befehl aus dem Verbund entfernt.

[root@centos5 ~]# mdadm /dev/md0 -r /dev/sdd1

4.4. RAID1-Verbund auflösen

Wollen Sie den ganzen RAID1-Verbund auflösen, müssen Sie das Array mit dem folgenden Befehl deaktivieren.

[root@centos5 ~]# mdadm --stop /dev/md0

Nachdem Sie das Array deaktiviert haben, sollten Sie noch den Superblock der einzelnen Partitionen löschen.

[root@centos5 ~]# mdadm /dev/md0 --zero-superblock /dev/sdb1
[root@centos5 ~]# mdadm /dev/md0 --zero-superblock /dev/sdc1

5. RAID5

Bei RAID5 werden die Daten und die Paritätsinformationen auf allen Festplatten verteilt. Das heißt, es gibt nicht wie bei RAID4 eine dedizierte Festplatte für die Paritätsinformationen. Neben der Datensicherheit beim Ausfall von maximal einer Festplatte bietet RAID5 auch einen höheren Datendurchsatz als man mit einer einzelnen Festplatte oder mit RAID1 erziehlen kann. Für einen RAID5-Verbund benötigen Sie mindestens drei Festplatten mit gleicher Größe. Der nutzbare Speicherplatz errechnet sich aus (Anzahl der Festplatten - 1) x Festplattenkapazität. Wie bei RAID1 können Sie auch hier ein oder mehrere Hot-Spare-Laufwerk(e) hinzufügen.

5.1. RAID5-Verbund einrichten

Bevor Sie einen RAID5-Verbund mit dem folgenden Befehl erstellen können, müssen Sie wie im Abschnitt Festplatten vorbereiten beschrieben, die einzelnen Festplatten partitionieren und die Partition-ID auf 0xfd setzen.

[root@centos5 ~]# mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

Die verwendeten Optionen kennen Sie bereits von den vorhergehenden Abschnitten. Beachten Sie aber, dass hier als Level eine 5 angegeben werden muss.

Alternativ können Sie auch wieder die Kurzform verwenden.

[root@centos5 ~]# mdadm -C /dev/md0 -l 5 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1

Wenn Sie dem Verbund auch gleich ein Hot-Spare-Laufwerk zuordnen wollen, müssen Sie dies wie folgt angeben.

[root@centos5 ~]# mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

Die Kurzform sieht wie folgt aus.

[root@centos5 ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

Nachdem Sie den RAID5-Verbund erstellt haben, müssen Sie noch das Dateisystem anlegen.

[root@centos5 ~]# mkfs -t ext3 /dev/md0

Anschließend können Sie das Array mounten.

[root@centos5 ~]# mount /dev/md0 /mnt

5.2. RAID5-Verbund: Hot-Spare-Laufwerk hinzufügen

Sollten Sie den RAID5-Verbund ohne Hot-Spare-Laufwerk erstellt haben, können Sie wie bereits beim RAID1-Abschnitt beschrieben mit dem folgenden Befehl nachträglich ein Hot-Spare-Laufwerk hinzufügen.

[root@centos5 ~]# mdadm /dev/md0 --add /dev/sde1

5.3. RAID5-Verbund: HDD entfernen

Das entfernen einer Festplatte aus dem RAID5-Verbund funktioniert ebenfalls wie bereits im RAID1-Abschnitt beschrieben mit den folgenden Befehlen.

[root@centos5 ~]# mdadm /dev/md0 --set-faulty /dev/sde1
[root@centos5 ~]# mdadm /dev/md0 -r /dev/sde1

5.4. RAID5-Verbund auflösen

Auch die folgenden Befehle kennen Sie bereits aus dem RAID1-Abschnitt.

[root@centos5 ~]# mdadm --stop /dev/md0
[root@centos5 ~]# mdadm /dev/md0 --zero-superblock /dev/sdb1
[root@centos5 ~]# mdadm /dev/md0 --zero-superblock /dev/sdc1
[root@centos5 ~]# mdadm /dev/md0 --zero-superblock /dev/sdd1

6. RAID-Informationen anzeigen

Wenn Sie einen RAID-Verbund neu angelegt haben, dauert es einige Zeit, bis Sie das Array mit dem vollen Datendurchsatz benutzen können. Das liegt daran, dass im Hintergrund die Laufwerke zum ersten Mal gespiegelt und gegebenenfalls auch die Prüfsummen zum ersten Mal berechnet werden. Wenn Sie den aktuellen Status des RAID-Verbundes abfragen wollen, stehen Ihnen mehrere Möglichkeiten zur Verfügung.

Mit dem folgenden Befehl können Sie zum Beispiel jederzeit den Status des RAID-Verbundes überprüfen.

[root@centos5 ~]# cat /proc/mdstat

Wollen Sie die Ausgabe zum Beispiel alle 5 Sekunden aktualisiert angezeigt haben, verwenden Sie den folgenden Befehl.

[root@centos5 ~]# watch -n 1 cat /proc/mdstat

Der Befehl mdadm mit der Option --detail zeigt neben dem aktuellen Status noch zusätzliche Informationen zum RAID-Verbund an.

[root@centos5 ~]# mdadm --detail /dev/md0


Dieser Eintrag wurde am 28.12.2008 erstellt und zuletzt am 22.02.2012 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_414.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer