Daten sicher und flexibel speichern mit RAID und LVM

Aus LinuxUser 05/2009

Daten sicher und flexibel speichern mit RAID und LVM

© sxc.hu

Doppeltes Volumen

Ganz ohne zusätzliche Hardware und Kosten sorgt Linux bei der Verwaltung der Datenträger durch RAID-Support für Ausfallsicherheit und mittels LVM für ein flexibles Partitionsmanagent.

Derzeit sind Linux-Nutzer weitgehend und nach wie vor darauf angewiesen, mit externen Werkzeugen Festplatten redundant zu halten und die Größe von Partitionen anzupassen. So wie Journaling-Filesysteme wie Ext3 oder XFS einen grundlegenden Wechsel bei den Dateisystemtechnik markierten, wird das Dateisystem Btrfs [1] hier in naher Zukunft einen Paradigmenwechsel einläuten. In der Zwischenzeit leisten bereits vorhandene und äußerst bewährte Programme einen unschätzbaren Dienst in Sachen Arbeitserleichterung und Sicherheit.

Nicht überflüssig

Im täglichen Sprachgebrauch steht das Wort “redundant” zwar oft für “überflüssig”, bedeutet in der Informationstechnik aber den Fortbestand von Daten: Fällt eine Festplatte aus, übernimmt eine zweite die Aufgabe der defekten Disk. So tritt zum einen kein Datenverlust auf, zum anderen bleiben die Daten weiter zugänglich. Um wieder einen ausfallsicheren Zustand herzustellen, muss der Benutzer lediglich die defekte Festplatte durch ein neues Exemplar ersetzen.

Die Aufgabe, Daten über mehrere Festplatten redundant zu halten, erledigt ein RAID-Verbund (Redundant Array of Independant Disks, [2]) von mehreren Festplatten. Da es verschiedene Möglichkeiten gibt, Festplatten miteinander zu kombinieren, existieren auch mehrere RAID-Methoden, so genannte Levels. Die bekanntesten sind RAID 0 und 1.

RAID 0, auch als Striping bekannt, “verklebt” zwei oder mehrere Festplatten miteinander zu einem Laufwerk. Diese Kombination sorgt allerdings nicht für höhere Datensicherheit; fällt eine der Platten in einem RAID-0-Verbund aus, gehen alle Daten verloren. Dafür lassen sich durch das Verteilen der Schreibzugriffe auf die Platten im Verbund höhere Schreib- und Leseraten erzielen. RAID 1 (Mirroring) hingegen sorgt für echte Redundanz: Es spiegelt die Daten der einen Festplatte auf die andere. Fällt nun eines der beiden Laufwerke aus, lassen sich die Daten nach wie vor auf das andere schreiben beziehungsweise davon lesen ein. Nach dem Austausch der defekten Platte synchronisiert die Linux-eigene RAID-Software diese sofort und stellt damit den ausfallsicheren Zustand wieder her.

Gleich mit dabei

Bei den gegenwärtigen Festplattenpreisen stellt RAID 1 eine vergleichsweise kostengünstige Möglichkeit dar, auch zu Hause Ausfallsicherheit zu realisieren. Viele Linux-Distributionen bieten bereits bei der Installation an, ein solches RAID über die bordeigene Software einzurichten. Eine entsprechende Option offerieren beispielsweise Fedora und Opensuse, aus dessen Oberfläche die Abbildungen zu diesem Artikel stammen. Auch Debian und Ubuntu richten auf Wunsch schon bei der Installation ein RAID ein, jedoch funktioniert das bei beiden lediglich in der textbasierten Einrichtungsvariante, nicht aber im grafischen Installer. Distributionen wie das quelltextbasierte Gentoo wiederum setzen zum Anlegen von RAID-Verbänden einzig auf die Kommandozeile und bleiben daher eher Konsolen-Experten vorbehalten.

Haben Sie zwei Festplatten in Ihrem Rechner und möchten diese via RAID 1 spiegeln, dann sollten darauf achten, dass beide Laufwerke in etwa die gleiche Größe aufweisen: Die kleinste Platte und Partition in einem Verbund entscheidet über die maximal nutzbare Datenmenge. Sie legen RAID-Verbände, basierend auf den vorher erstellten Partitionen, beim Installieren der Distribution an, sie tauchen später mit Gerätenamen wie /dev/md0 im System auf. Das im Kernel integrierte Software-RAID kümmert sich ab dann um die Konsistenz der Daten des Verbundes.

Dafür muss das MD-Modul (“Multiple-Disk”) des Kernels beim Booten wissen, welche Partitionen einen Teil des RAID-Verbunds bilden sollen. Dazu müssen die Partitionen beider Festplatten in identischer Größe vorliegen (Abbildung 1) und dürfen zum anderen weder formatiert noch mit einem Einhängepunkt versehen werden. Die Identität als Software-RAID markiert die Disk-ID 0xFD Linux RAID, die Sie beim Erstellen der Partition vergeben. Danach können Sie die jeweils zugehörigen Partitionen auf den beiden Platten in einem RAID-Verbund zusammenfügen.

Abbildung 1: Um einen Plattenverbund zu erzeugen, müssen Sie die jeweils auf beiden Laufwerken zugehörigen Partitionen zu einem MD-Device hinzufügen.

Abbildung 1: Um einen Plattenverbund zu erzeugen, müssen Sie die jeweils auf beiden Laufwerken zugehörigen Partitionen zu einem MD-Device hinzufügen.

Einen Überblick über alle erzeugten RAID-Verbände zeigt Abbildung 2. Hinter den Gerätenamen, beginnend mit /dev/md, verbergen sich die jeweiligen Partitionen auf beiden Festplatten. Mit diesen Gerätenamen lässt sich nun unter Linux arbeiten wie mit jeder physikalisch vorhandenen Partition an einem S-ATA- oder SAS-Strang. Der letzte RAID-Verbund, /dev/md3, wurde bewusst weder formatiert noch ins System eingehängt: Auf ihm sollen weitere logische Partitionen Platz finden.

Abbildung 2: Der Installations-Assistent von OpenSUSE zeigt sämtliche MD-Geräte (RAID-Geräte) in einer Übersicht an. Das letzte Gerät (    <code srcset=

/dev/md3) dient zur Aufnahme von logischen Volumen mit LVM.” width=”300″ height=”192″ /> Abbildung 2: Der Installations-Assistent von OpenSUSE zeigt sämtliche MD-Geräte (RAID-Geräte) in einer Übersicht an. Das letzte Gerät ( /dev/md3) dient zur Aufnahme von logischen Volumen mit LVM.

Einfach ist logisch

Klassische Festplatten-Partitionen haben den Nachteil, dass sie sich nachträglich nur noch bedingt in ihrer Größe verändern lassen. Zwar gibt es Programme, um Partitionsgrenzen und -größen zu modifizieren – geht man dabei aber nicht sehr behutsam und vorsichtig vor, zerstört man dabei schnell Daten. In diesem Fall hilft auch kein RAID, da dieses zwar die Verfügbarkeit der Daten nach Ausfalls einer Platte sicherstellt, aber nicht darauf achtet, ob die Daten an sich konsistent sind.

Einfacher wäre es, eine Partition, die sich beispielsweise in einem RAID-Verbund befindet, nicht mehr anrühren zu müssen, dennoch aber die Möglichkeit zu haben, in dieser Partition weitere logische Partitionen zu erstellen. Genau das erlaubt der Logical Volume Manager (LVM, [3]). Die via LVM erstellten Partitionen sehen für das System genau so aus wie ihre herkömmlichen Pendants, bieten aber den Vorteil, dass sie sich nachträglich verändern lassen.

Das ermöglicht beispielsweise, nicht von vorne herein sämtlichen verfügbarer Plattenplatz zu verbrauchen, sondern einen Teil für die spätere Vergrößerung oder der Neuerstellung von Volumes zu reservieren. In Abbildung 3 sehen Sie, wie Sie Volumen bei der Installation von OpenSuse 11.1 mit wenigen Klicks erstellen, verwalten, formatieren und ihnen Einhängepunkte zuweisen. Das die LVM-Volumes über Plattengrenzen hinweg funktionieren, lässt sich bei Bedarf auch der Speicherplatz nachträglich eingebauter Platten unkompliziert den bereits bestehenden Volumes hinzufügen – Kapazitätsprobleme gehören so der Vergangenheit an.

Abbildung 3: Die Volumengruppe     <code srcset=

linux-user auf dem RAID-Verbund /dev/md3 hält zwei mit LVM erstellte logische Volumen: Eines für /tmp und eines für /home.” width=”300″ height=”202″ /> Abbildung 3: Die Volumengruppe linux-user auf dem RAID-Verbund /dev/md3 hält zwei mit LVM erstellte logische Volumen: Eines für /tmp und eines für /home.

Spätere Verwaltung

Nach dem erfolgreichen Booten des Rechners vom RAID-Verbund mit den logischen Volumen für /home und /tmp (Abbildung 3) stellt sich die Frage: Wie erfahre ich den Status meiner RAID-Verbände? Die aktuellen Informationen über den Zustand des RAIDs zeigt der Befehl cat /proc/mdstat. Die Verwaltung von LVM-Laufwerken beziehungsweise logischen Volumen lässt sich bei OpenSUSE mit YaST2 erledigen.So verändern Sie auch schnell die Größe eines logischen Volumes (siehe Abbildung 4).

Abbildung 4: Logische Volumes lassen sich mit OpenSuses YaST2 einfach verwalten, in der Größe anpassen oder neu anlegen.

Abbildung 4: Logische Volumes lassen sich mit OpenSuses YaST2 einfach verwalten, in der Größe anpassen oder neu anlegen.

Fazit

Die Arbeit mit Distributionen, die ihren grafischen Installationsoberflächen beigebracht haben, RAID-Verbände und mit LVM logische Volumen zu erzeugen, gestaltet sich äußerst simpel. Dennoch sollte man vor dem Einrichten genau überlegen, wie die Zielkonfiguration aussehen soll. Flüchtigkeitsfehler wie ein falsch eingestelltes RAID-Levek lassen sich nachträglich nicht mehr so einfach korrigieren – in aller Regel hilft nur, den betroffenen RAID-Verbund zu löschen und neu anzulegen. Wer auf Sicherheit und flexiblen Einsatz setzen will, findet bei gängigen Distributionen aber einen komfortablen Werkzeugkasten für diesen Zweck vor.

Infos

[1] Btrfs-Grundlagen: Markus Nasarek, “Clever schachteln”, LinuxUser 04/2009, S. 37, https://www.linux-community.de/artikel/18004

[2] Desktop-RAID: Marcus Nasarek, “Easy Raider”, LinuxUser 04/2006, S. 42, http://www.linux-user.de/ausgabe/2006/04/042-raid-basics/

[3] LVM-Workshop: Carsten Wiese, “Volumenkontrolle”, LinuxUser 07/2006, S. 82, http://www.linux-user.de/ausgabe/2006/07/082-lvm/

LinuxUser 05/2009 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

1 Kommentar
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Marcus Nasarek
17 Jahre her

Hi Markus,
Der Artikel “Clever Schachteln” [1] ist von Marcel (Hilzinger). VG Marcus

Nach oben