Datensicherheit nachrüsten

Workshop - Software-RAID unter Linux einrichten

10.08.2011 von Jürgen Donauer
Server sind eine feine Sache, wenn diese problemlos ihren Dienst verrichten. In der Regel halten diese Daten vor, die von Anwendern gebraucht werden. Fällt ein Server aus, kostet dies in der Regel Geld. Mit RAID-Systemen lässt sich die Ausfallzeit reduzieren und Datensicherheit gewährleisten.

RAID-Systeme kommen in der Regel da zum Einsatz, wo Ausfall- und Datensicherheit gefragt ist. Man liest immer wieder, dass solche Systeme nicht von Anfang an eingeplant wurden, weil es sowieso ein Backup gibt. Gesetzt den Fall ein Server kristallisiert sich nun plötzlich als wichtiges Stück Hardware heraus, möchte man diesen vielleicht um ein RAID erweitern und somit besser gegen Ausfälle absichern.

Mit Linux ist es kein Problem, ein RAID nachträglich zu implementieren. TecChannel zeigt in diesem Workshop, welche Möglichkeiten Administratoren zum Thema RAID haben, wenn es sich um einen laufenden und produktiven Server handelt.

Bildergalerie: Linux RAID nachrüsten
RAID erstellen:
Mit nur einer Befehlszeile ist der Spiegel erzeugt.
Alle OK?
Auf einfach Weise können Sie den Status des RAID-Verbundes überprüfen.
Automatisch:
Mit watch haben Sie das RAID dauerhaft im Blick.
Dateisystem erstellen:
md-Geräte können Sie wie jeden anderen Massenspeicher behandeln und somit auch als ext4 formatieren.
Eingebunden:
Nach dem Erstellen eines Dateisystems können Sie den RAID-Verbund ins System mounten.
Automatisch mounten:
Mit einem Eintrag in die Datei /etc/fstab wird das RAID bei Systemstart eingebunden.
Webmin:
Sie können RAID-Verbunde auch via Webmin administrieren.
Alles OK:
Dieses RAID sieht in Ordnung aus. Kein weiterer Eingriff notwendig.

Es ist anzumerken, dass die hier beschriebenen Methoden Software-RAIDs behandeln, die vom Betriebssystem und nicht von einem Hardware-Controller verwaltet werden.

Vorbereitung

Gleich zu Anfang sollte erwähnt sein, dass Sie die unten genannten Schritte nur dann durchführen sollten, wenn Sie ein aktuelles Backup zur Verfügung haben. Im Zweifelsfall sichern Sie bitte alle wichtigen Daten nochmals. Bei Eingriffen der später beschriebenen Art besteht die Möglichkeit eines kompletten Datenverlusts - wenn auch unwahrscheinlich. Daher diese frühe Warnung, dass TecChannel nicht für eventuellen Datenverlust verantwortlich ist.

Haben Sie alle Daten an einen sicheren Ort kopiert, können Sie sich überlegen, welches RAID-Szenario Sie einsetzen möchten. Sollten Sie sich mit RAID noch nicht so eingehend beschäftigt haben, empfiehlt sich ein Blick in den TecChannel-Artikel "RAID 0 bis 7: RAID im Überblick". Das sollte auch Ihre Entscheidung erleichtern, welche Art von RAID Sie einsetzen möchten.

Eine weitere wichtige Information ist, dass Sie das neu angelegte RAID-System formatieren müssen. Es ist also nicht möglich, eine bereits formatierte Partition in einem RAID-Verbund aufzunehmen. Was Sie wohl machen können ist, weitere Festplatte einbauen, das entsprechende RAID aufsetzen, wichtige Daten dort hinkopieren und dann den Mount-Punkt umhängen - zum Beispiel /home oder /var.

Auf der Kommandozeile mit mdadm

Ein RAID-System lässt sich recht bequem über die Kommandozeile erzeugen. Dazu brauchen Sie das Paket mdadm. Auf den meisten Server-Distributionen dürfte es per Standard installiert sein. Sollte dies nicht der Fall sein, liegt es in den meisten Fällen in den entsprechenden Repositories und lässt sich bequem mittels der bekannten Kanäle nachinstallieren.

In unserem Test-Szenario in einer virtuellen Umgebung haben wir das Betriebssystem auf die erste Festplatte im System installiert. Nun hängen wir zwei weitere virtuelle Massenspeicher von 10 GByte Größe (sdb und sdc) ein, die jeweils eine Partition enthalten. Wenn Sie neue Partitionen anlegen, sollten diese am Besten als Linux-RAID-Geräte (0xFD in cfdisk oder fdisk) angelegt werden. Dieser Schritt macht das Administrator-Leben einfacher. Die beiden neuen Partitionen sollen zu einem RAID-1-Verbund zusammengefasst werden. In unserem Beispiel rufen Sie dazu folgenden Befehl als Benutzer mit root-Rechten auf:

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

RAID erstellen: Mit nur einer Befehlszeile ist der Spiegel erzeugt.

Dies erzeugt nun den RAID-Verbund md0, als Level-1-RAID mit den beiden Partitionen /dev/sdb1 und /dev/sdc1. Ob alles geklappt hat, können Sie mit dem Befehl cat /proc/mdstat überprüfen. Mit watch cat /proc/mdstat führt das System den befehl alle zwei Sekunden aus und Sie können das RAID sogar visuell überwachen.

Nun ist zwar der Spiegel erzeugt, aber noch nicht formatiert. Sie können das Gerät /dev/md0 genauso behandeln, als wäre es ein physikalischer Massenspeicher. In unserem Beispiel formatieren wir den RAID-1-Verbund als Dateisystem ext4: mkfs.ext4 /dev/md0.

Wollen Sie den RAID-Verbund automatisch mit dem System starten, müssen Sie die Datei mdadm.conf anpassen, die sich in unserem Fall im Verzeichnis /etc/ befindet. Rufen Sie den Befehl: mdadm --examine --scan auf und tragen Sie das Ergebnis in die Konfigurations-Datei ein. Sie können dies auch gleich mit dem Befehl erledigen lassen, sollten es dann aber überprüfen: mdadm --examine --scan >> /etc/mdadm.conf.

Nun wird zwar das RAID-Array mit System gestartet, aber noch nicht eingebunden. In unserem Fall editieren wir die dafür zuständige Datei /etc/fstab und fügen folgende Zeile ein: /dev/md0 /media/raid-md0 ext4 defaults 0 0. Das Mount-Verzeichnis /media/raid-md0 muss natürlich existieren.

RAID-Systeme mit Webmin

Wem das Aufsetzen und Administrieren von RAID-Verbünden auf der Kommandozeile zu mühsam ist, kann auf das bekannte und beliebte Browser-basierte Administrations-Tool Webmin zurückgreifen.

Hier lassen sich RAID-Verbünde einrichten und auch bedingt verwalten. So mächtig wie das Konsolen-Tool mdadm ist Webmin bei weitem nicht. Allerdings bietet Webmin Nicht-Linux-Spezialisten eine schnelle Möglichkeit, zum Ergebnis zu kommen.

Webmin: Sie können RAID-Verbunde auch mit einem Administrations-Tools administrieren.

Administratoren, die öfter mit RAID und Linux zu tun haben, sollten sich aber mit der Konsole vertraut machen. Dies hat einfache Gründe: Eine Konsole haben Sie auf jedem Linux-System zur Verfügung, was man von Webmin nicht behaupten kann. Für Webmin brauchen Sie einen Browser und sollte es keine grafische Oberfläche auf dem Server geben, muss der von Webmin verwendete Port (in der Regel 10000) von außen zugänglich sein - sprich die Firewall muss den Zugriff zulassen.

Fazit

Festplattenplatz ist heutzutage nicht mehr teuer und produktive Systeme mit wichtigen Daten sollten bestmöglich geschützt sein. Datenverlust kostet schließlich Geld und kann schnell richtig teuer werden. Von daher sollten Systemadministratoren den Einsatz von RAID-Systemen stark in Betracht ziehen.

Selbst wenn ein Server noch nicht mit RAID bestückt ist, lässt sich dies im Normalfall ohne Probleme nachträglich einrichten. Ein Software-RAID auf einem Linux-Rechner ist doch recht schnell aufgesetzt und wertet die Sicherheit eines Servers gewaltig auf. Das Thema Datensicherheit gilt natürlich nicht für RAID-0-Verbünde.

Sie können natürlich auch ein komplettes System, inklusive root-Partition auf RAID umstellen. Einige Linux-Distributionen bieten so ein Szenario bereits während der Installation an. Sollten Sie einen neuen Server installieren, möchten Sie unter Umständen RAID gleich von Beginn an in Betracht ziehen.

Mit der in diesem Artikel beschriebenen Methode können Sie auf jeden Fall wichtige Daten, inklusive aller Verzeichnisse von der root-Partition ausgehend relativ schnell absichern. Das gilt zum Beispiel auch für MySQL- und Apache-Verzeichnisse (/var, /opt, /home und so weiter). Zum Abschluss sei noch einmal erwähnt: Sie können /dev/md-Geräte wie jeden anderen Massenspeicher behandeln. (cvi)