Ziel dieses Dokumentes ist es, das grundlegende Verständnis der unterschiedlichen RAID-Möglichkeiten und das Erstellen von RAID-Verbunden anhand der - teilweise - neuen Möglichkeiten des 2.2er Kernels zu erklären. Desweiteren wird auf die Besonderheiten mehrerer RAID-Verbunde, die Nutzung dieser als Root-Partition und deren Verhalten bei Fehlern eingegangen. Zu guter Letzt finden Sie noch einige Tips & Tricks rund um Linux allgemein sowie Software-RAID im speziellen.
Dieses Dokument beinhaltet keine Garantie für das Gelingen der hier beschriebenen Sachverhalte. Obwohl alle Anstrengungen unternommen wurden, um die Genauigkeit der hier dokumentierten Informationen sicherzustellen, übernimmt der Autor keine Verantwortung für Fehler jeglicher Art oder für irgendwelche Schäden, welche direkt oder als Konsequenz durch die Benutzung der hier dokumentierten Informationen hervorgerufen werden.
RAID, obwohl es dafür entwickelt wurde, die Zuverlässigkeit des Systems zu steigern, indem es Redundanz gewährleistet, kann auch zu einem falschen Gefühl der Sicherheit führen, wenn es unsachgemäß benutzt wird. Dieses falsche Vertrauen kann dann zu wesentlich größeren Disastern führen. Im einzelnen sollte man beachten, daß RAID konstruiert wurde, um vor Festplattenfehlern zu schützen und nicht vor Stromunterbrechungen oder Benutzerfehlern. Stromunterbrechungen, instabile Entwicklerkernel oder Benutzerfehler können zu unwiederbringlichen Datenverlusten führen! RAID ist kein Ersatz für ein Backup Ihres Systems.
Auf den folgenden Seiten werden Sie mit vielen Ausdrücken rund um Software-RAID, Festplatten, Partitionen, Tools, Patches und Devices bombardiert. Um als RAID-Einsteiger mit den oft gebrauchten Ausdrücken nicht ins Schleudern zu geraten, erhalten Sie hier eine Einführung in die Begrifflichkeiten.
Eine genaue Beschreibung, was die Chunk-Size ist, ist im Abschnitt Spezielle Optionen der RAID-Devices zu finden.
Devices sind unter Linux Stellvertreter für Geräte aller Art, um sie »beim
Namen« nennen zu können. Sie liegen alle unter /dev/
in Ihrem
Linux-Verzeichnisbaum. Beispiel dafür sind /dev/hda
für die erste
(E)IDE-Festplatte im System (analog /dev/hdb
, /dev/hdc
),
/dev/sda
für die erste SCSI-Festplatte oder /dev/fd0
für
das erste Diskettenlaufwerk.
Festplatten sollten Ihnen bekannt sein. RAID nutzt mehrere Festplatten, um entweder deren Gesamtgeschwindigkeit, deren Sicherheit oder beides zu erhöhen.
Hot Plugging bezeichnet die Möglichkeit, einzelne Festplatten ohne ein Abschalten oder Herunterfahren des Rechners innerhalb eines redundanten RAID-Verbundes abzuschalten, auszutauschen und wieder einzufügen. Im günstigsten Fall bietet einem Hot Plugging also die Möglichkeit, eine defekte Festplatte auszutauschen, ohne den Rechner neu starten zu müssen und ohne die Verfügbarkeit Ihres Servers zu beeinträchtigen. Für die Benutzer würde ein Austausch einer defekten Festplatte absolut transparent erfolgen.
MD steht für Multiple-Disk oder Multiple-Device und bedeutet dasselbe wie ein RAID-Device. Um Sie nicht weiter in die Irre zu führen, wird im folgenden auf die Bezeichnung MD-Device bewußt verzichtet.
Die MD-Tools sind Hilfsprogramme, die Ihnen die Möglichkeit zur Einrichtung oder Änderung von RAID-Verbunden zur Verfügung stellen, welche mit denen im Standardkernel Version 2.0.x oder 2.2.x enthaltenen RAID-Treibern erstellt wurden. Sie beinhalten als MD-Tools bis einschließlich Version 0.4x für ältere RAID-Verbunde dieselbe Grundfunktionalität wie die RAID-Tools Version 0.9x für die aktuellen RAID-Treiber. Ihre Entwicklung ist zwar eingestellt worden, dennoch sind sie auf vielen älteren Linux-Distributionen vertreten. Die einzelnen Programme dieses MD-Tools Paketes zur Verwaltung von älteren RAID-Verbunden der Version 0.4x werden im entsprechenden Abschnitten abgehandelt.
/dev/md0
ist ein Stellvertreter für den erste RAID-Verbund in Ihrem System.
Das Verzeichnis /dev/
zeigt an, daß es sich um ein Device handelt,
md
meint ein Multiple-Disk oder Multiple-Device und damit einen
Verbund aus mehreren Partitionen Ihrer Festplatte(n). Das erste Device
jeglicher Art ist immer entweder mit einer 0 gekennzeichnet und wird weiter
aufsteigend nummeriert (also /dev/md0
, /dev/md1
, usw.) oder
beginnt mit /dev/hda
und wird alphabetisch aufsteigend durchgezählt
(/dev/hdb
, /dev/hdc
, usw.).
Partitionen bezeichnen die Einteilung Ihrer Festplatte in mehrere Segmente. RAID-Verbunde können aus mehreren Partitionen derselben Festplatte oder aus mehrere Partitionen verschiedener Festplatten bestehen.
Eine Beschreibung, was ein Persistent-Superblock ist, ist im Abschnitt Weitere Optionen des neuen RAID-Patches nachzulesen.
RAID-Device ist die Bezeichnung für einen neu erstellten RAID-Verbund, der
jetzt unter einem eigenen Namen anzusprechen ist. Unter Linux entspricht jedes
Gerät letztendlich einem Device. Die RAID-Devices sind im
Linux-Verzeichnisbaum unter /dev/
abgelegt und heißen md0-15
.
RAID-Partition bezeichnet eine einzelne Festplattenpartition, die für die Verwendung in einem RAID-Verbund genutzt werden soll.
Der RAID-Patch bezeichnet ein Paket aktueller RAID-Treiber, die neuer als die im Standardkernel enthaltenen sind. Sie weisen in ihrem Namen eine Zeichenfolge auf, die sich mit der von Ihnen verwendeten Kernel-Version decken sollte. Z.B. braucht der Kernel 2.2.10 den RAID-Patch für den 2.2.10er Kernel. Dieser RAID-Patch aktualisiert also im Endeffekt die originalen RAID-Treiber in Ihrem Kernel-Sourcetree.
Die RAID-Tools sind Hilfsprogramme, um den Umgang mit RAID-Verbunden in Form von Einrichtung, Wartung und Änderung überhaupt zu ermöglichen. Sie existieren für die im Standardkernel 2.0.x und 2.2.x vorhandenen RAID-Treiber als MD-Tools in der Version 0.4x, für die aktuellen RAID-Treiber als RAID-Tools mit der Versionsnummer 0.9x. Der Funktionsumfang der RAID-Tools Version 0.9x überwiegt gegenüber dem der MD-Tools und erlaubt einen einfacheren Umgang mit den RAID-Systemen. Sie sollten bei der Verwendung der RAID-Tools prüfen, ob sie auch die passende Version haben.
RAID-Verbund, oder synonym RAID-Array ist die Bezeichnung für eine
Zusammenfügung von mehrerer Partitionen einzelner Festplatten, um sie nachher
als eine Einheit ansprechen zu können. Ein anschauliches Beispiel wären zwei
Partitionen jeweils einer Festplatte, welche als eine komplett neue Partition
und damit als ein neuer RAID-Verbund zur Verfügung stehen würden. Über den
Stellvertreter /dev/md0
würde dieser RAID-Verbund auf Linux Ebene als
ein RAID-Device angesprochen werden, der als eine einzelne Zuweisung für zwei
darunterliegende Partitionen fungiert.
Redundanz kommt aus dem Lateinischen, bedeutet Überfülle und meint auf einen RAID-Verbund bezogen das Vorhandensein zusätzlicher Kapazitäten, die keine neuen Daten enthalten, also speziell das ein Datenträger ausfallen kann, ohne den vorhandenen Datenbestand zu beeinträchtigen.
Informationen hierzu sind im Abschnitt Weitere Optionen des neuen RAID-Patches zu finden.
Obwohl in dieser HOWTO alles nötige Wissen zum Erstellen von Software-RAID Verbunden unter Linux vermittelt werden sollte, sei hier trotzdem zum besseren Verständnis und als weiterführende Texte auf folgende HOWTOs und entsprechende Fachliteratur verwiesen:
Niels Happel hat zwar die Informationen zusammengetragen, getestet und neu geschrieben, jedoch beruht der größte Teil des Erfolgs dieser HOWTO natürlich auf der Arbeit der Programmierer der RAID-Kernelerweiterungen. Mein besonderer Dank gilt denen, die mir teilweise mit vielen Anregungen, Tips, Texten und Unermüdlichkeit weitergeholfen haben und allen anderen, die mich dahingehend unterstützt haben. Die fleißigsten waren:
ubeck@debis.com
)robert.dahlem@gmx.net
)ulrich.herbst@debis.com
)modenbach@alc.de
)
Dieses Dokument ist urheberrechtlich geschützt. Das Copyright für dieses Dokument liegt bei Niels Happel und Marco Budde.
Das Dokument darf gemäß der GNU General Public License verbreitet werden. Insbesondere bedeutet dieses, daß der Text sowohl über elektronische wie auch physikalische Medien ohne die Zahlung von Lizenzgebühren verbreitet werden darf, solange dieser Copyright-Hinweis nicht entfernt wird. Eine kommerzielle Verbreitung ist erlaubt und ausdrücklich erwünscht. Bei einer Publikation in Papierform ist das Deutsche Linux HOWTO Projekt hierüber zu informieren.
Wenn Sie irgendwelche Ideen zu dieser HOWTO haben, positive wie negative Kritiken, Korrekturen, oder Wünsche für die nächste Version ... eine E-Mail ist wirklich schnell geschrieben.
Niels Happel
E-Mail:happel@resultings.de
Die jeweils aktuellste Version finden Sie unter: