RAID-Systeme anlegen mit Raider

Fallschirm

Neben einem zuverlässigen Backup sollte in einem guten Server ein RAID-System selbstverständlich sein. Dieser Workshop verrät, wie man eine bestehende Linux-Installation in ein RAID überführt und dabei auftretende Hindernisse überwindet.
RAID-Technologie verspricht höhere Performance und mehr Sicherheit beim permanenten Speichern von Daten. Die ADMIN-Redaktion gibt einen Überblick über ... (mehr)

Wer mehr Performance oder mehr Sicherheit haben will, sollte auf RAID-Speicher setzen. So beschleunigt das nicht redundante RAID-0 den Datenzugriff, während RAID-1 den Datenbestand dupliziert und somit höhere Ausfallsicherheit verschafft. Beides zusammen beschert dem Anwender RAID-Level 10, das Mirroring und Striping vereint.

Ein RAID beispielsweise auf zwei Partitionen einer Festplatte zu erstellen, ist wenig sinnvoll, denn wenn sie kaputt geht, sind gleich beide "Platten" des RAID futsch. Allerdings ist es durchaus möglich, auf einer Festplatte mehrere Partitionen anzulegen und sie jeweils unterschiedlichen RAID-Verbünden zuzuweisen. Ein Beispiel dafür gibt dieser Artikel später.

Wer ein neues Linux-System installiert, kann dabei bereits ein RAID erstellen, vorausgesetzt das System verfügt über genug Festplatten. Zum Beispiel mit Red Hat oder CentOS wählen Sie bei der Installation erst »Basis-Speichergeräte« und in einem späteren Schritt dann »Maßgeschneidertes Layout erstellen« . Beim Erzeugen einer neuen Partition stellen Sie statt eines Dateisystems »Software-RAID« ein. Haben Sie mindestens zwei RAID-Partitionen erstellt, bietet der Installer mit dem Menüpunkt »Neu« dann auch ein »RAID-Gerät« an, bei dem Sie die eben erzeugten Partitionen auswählen. Der Installer prüft die Mindestanzahl und weigert sich, beispielsweise mit nur zwei RAID-Partitionen, ein RAID-6 anzulegen.

Nachträglich umrüsten

Doch was tun, wenn der Rechner schon eine Zeit lang läuft und bisher nur ein simples Dateisystem verwendet? Prinzipiell ist es nicht schwer, aus einem konventionellen Dateisystem manuell ein RAID zu bauen, allerdings gibt es dabei einige Dinge zu beachten. Einfacher geht es mit einem Skript namens Raider, das eine einfache Linux-Installation in ein RAID umwandelt. Es überprüft die Voraussetzungen, kopiert die Daten, legt ein neues RAID an und bindet alle dafür nötigen Partitionen ein.

Zu finden ist Raider unter der Adresse [1] . Haben Sie das Paket heruntergeladen und entpackt, müssen noch einige Voraussetzungen erfüllt sein, damit sich Raider installieren lässt: Es benötigt die Pakete »bc« , »mdadm« , »parted« und »rsync« , die sich mit dem Paketmanager einfach installieren lassen:

yum install bc mdadm rsync parted

Ein ebenfalls vorausgesetztes Programm, mit dem sich eine initiale RAM-Disk erzeugen lässt (Dracut, Mkinitramfs und so weiter), ist meistens schon installiert. Danach befördert »/install.sh« im Raider-Verzeichnis die Dateien auf die Festplatte. Das Skript installiert einige Programme, von denen für den Anwender nur »raider« und »raiderl« von Interesse sind. »/usr/bin/raider« ist ein relativ kurzer Wrapper, der die Kommandozeile auswertet und dann die eigentliche Arbeit an eines der 23 Skripts übergibt, die sich in »/usr/lib/raider« befinden ( Abbildung 1 ).

Abbildung 1: Raider ist gut strukturiert und verteilt seine Arbeit auf eine ganze Reihe von einzelnen Skripten.

Einfach bedienbar

Ein Aufruf von »raider --help« zeigt die verfügbaren Aufrufparameter. So verschafft »raider -d« erst einmal einen Überblick über die eingebauten Festplatten und Partitionen. In Abbildung 2 ist das Ergebnis für einen Linux-Server zu sehen, der über zwei Festplatten verfügt, von denen die erste zwei Partitionen enthält und die zweite leer ist. Um damit etwa ein RAID-1 aufzubauen, genügt es, das Raider-Skript nur mit der Option »-R1« aufzurufen:

Abbildung 2: Raider zeigt hier die Ausgangssituation: eine Festplatte mit einer Root- und einer Swap-Partition.
raider -R1

Die sonst erforderliche Angabe der Platten/Partitionen fällt hier weg, denn Raider nimmt einfach die beiden für das RAID-1 nötigen Platten. Es konstruiert einen Befehl zum Erzeugen der initialen RAM-Disk, kopiert die Partitions-Informationen von der ersten auf die zweite Platte, erzeugt damit ein RAID und kopiert die Daten von der ersten Festplatte in das RAID (das zum aktuellen Zeitpunkt nur aus der zweiten Platte besteht). Dann erzeugt Raider die RAM-Disk und wechselt in eine Chroot-Umgebung, um den Bootloader Grub auf die zweite Platte zu schreiben. Hierbei setzt Raider eine leere Festplatte voraus. Befinden sich auf ihr Partitionen, bricht Raider den Vorgang ab. Ein Aufruf von »raider --erase /dev/sdb« löscht die Daten. Einen Test absolviert Raider übrigens durch die zusätzliche Option »-t« , also etwa »raider -t -R1« .

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023