3.8. Konfiguration von Soft-RAID

Der Sinn von RAID (engl. Redundant Array of Independent Disks) ist, mehrere Festplattenpartitionen zu einer großen virtuellen Festplatte zu vereinen, um die Performance und die Datensicherheit zu optimieren. Dabei geht das eine jedoch auf Kosten des anderen. Ein RAID-Controller verwendet meist das SCSI-Protokoll, da es gegenüber dem IDE-Protokoll mehr Festplatten besser ansteuern kann und besser für eine parallele Abarbeitung der Befehle geeignet ist. Es gibt inzwischen jedoch auch einige RAID-Controller, die mit IDE- oder SATA-Festplatten arbeiten. Vergleichen Sie hierzu auch die Hardware-Datenbank unter http://cdb.suse.de.

3.8.1. Soft-RAID

Statt eines RAID-Controllers, der unter Umständen sehr teuer sein kann, ist auch Soft-RAID in der Lage, diese Aufgaben zu übernehmen. SUSE LINUX bietet Ihnen die Möglichkeit, mit Hilfe von YaST mehrere Festplatten zu einem Soft-RAID-System zu vereinen – eine sehr günstige Alternative zu Hardware-RAID. RAID bietet verschiedene Strategien an, um mehrere Festplatten zu einem RAID-System zu verbinden. Jede Strategie hat ein unterschiedliches Ziel, Vorteile und Eigenschaften. Diese Variationen werden als RAID-Level bezeichnet.

Gängige RAID-Level:

RAID 0

Dieser Level verbessert die Performance Ihres Datenzugriffs, indem Blöcke jeder Datei über verschiedene Festplatten verteilt werden. Im Grunde ist dies gar kein RAID, da es keine Datensicherung gibt, doch die Bezeichnung RAID 0 hat sich für diese Art von System eingebürgert. Bei RAID 0 schließt man mindestens zwei Festplatten zusammen. Die Performance ist sehr gut – jedoch ist das RAID-System zerstört und Ihre Daten sind verloren, wenn auch nur eine von noch so vielen Festplatten ausfällt.

RAID 1

Dieser Level bietet eine zufrieden stellende Sicherheit für die Daten, weil diese 1:1 auf eine andere Festplatte kopiert werden. Dies nennt man Festplattenspiegelung – ist eine Platte zerstört, liegt eine Kopie deren Inhalts auf einer anderen. Es dürfen alle bis auf eine der Festplatten fehlerhaft sein, ohne Daten verloren zu haben. Im Vergleich zum Zugriff auf eine einzelne Festplatte leidet die Schreibperformance durch den Kopiervorgang ein wenig (10-20% langsamer), dafür geht der Lesezugriff deutlich schneller als bei einer einzelnen normalen physikalischen Festplatte, weil die Daten doppelt vorhanden sind und somit parallel ausgelesen werden können. Allgemein kann gesagt werden, dass die Lesegeschwindigkeit in Level 1 fast doppelt so hoch ist als bei einer einzelnen Festplatte. Die Schreibgeschwindigkeit entspricht in etwa der einer einzelnen Festplatte.

RAID 2 und RAID 3

Dies sind keine typischen RAID-Implementierungen. Level 2 verteilt die Daten nicht auf der Blockebene, sondern auf der Bitebene. Level 3 bietet Striping auf der Byteebene mit einer dedizierten Paritätsplatte, kann aber mehrere zeitgleiche Anfragen nicht bearbeiten. Diese Level werden nur selten genutzt.

RAID 4

Wie Level 0 bietet Level 4 Striping auf der Blockebene, jedoch mit einer dedizierten Paritätsplatte. Im Falle eines Ausfalls der Datenplatte wird die Paritätsplatte benutzt, um eine Ersatzplatte zu schreiben. Die Paritätsplatte kann jedoch für den Schreibzugriff einen Flaschenhals darstellen. Trotzdem wird Level 4 von Zeit zu Zeit eingesetzt.

RAID 5

Was Performance und Redundanz betrifft, ist RAID 5 ein optimierter Kompromiss zwischen Level 0 und Level 1. Der Festplattenplatz entspricht der Anzahl der eingesetzten Platten minus einer. Die Daten werden wie bei RAID 0 über die Festplatten verteilt. Für die Sicherheit sorgen die Paritätsblöcke, die bei RAID 5 auf einer der Partitionen angelegt werden. Diese werden mit XOR miteinander verknüpft – somit lässt sich beim Ausfall einer Partition durch den dazugehörigen Paritätsblock der Inhalt nach XOR rekonstruieren. Bei RAID 5 ist zu beachten, dass nicht mehr als eine Festplatte gleichzeitig ausfallen darf. Fällt eine aus, muss sie schnellstmöglich ausgetauscht werden, da sonst Datenverlust droht.

Andere RAID-Level

Es sind noch etliche andere RAID-Level entwickelt worden (RAIDn, RAID 10, RAID 0+1, RAID 30, RAID 50, usw.), von denen manche proprietäre Implementierungen von Hardwareherstellern darstellen. Auf diese Level wird an dieser Stelle nicht eingegangen, da sie nicht sehr weit verbreitet sind.

3.8.2. Soft-RAID-Konfiguration mit YaST

Zur YaST Soft-RAID-Konfiguration gelangen Sie über den YaST Partitionierer für Experten (vgl. Abschnitt 2.7.5, „Partitionierung“). Dieses professionelle Partitionierwerkzeug ermöglicht die Bearbeitung und Löschung existierender Partitionen und die Erstellung neuer Partitionen, die in Verbindung mit Soft-RAID eingesetzt werden sollte. Erstellen Sie RAID-Partitionen, indem Sie zunächst Anlegen+Nicht formatieren wählen und 0xFD Linux RAID als Dateisystem-ID setzen. Bei RAID 0 und RAID 1 benötigen Sie mindestens zwei Partitionen – bei RAID 1 sind das im Normalfall genau zwei. Für eine Verwendung von RAID 5 hingegen sind mindestens drei Partitionen nötig. Es ist zu empfehlen, nur Partitionen gleicher Größe zu nehmen. Die einzelnen Partitionen eines RAID sollten auf verschiedenen Festplatten liegen, damit das Risiko eines Datenverlustes durch den Defekt einer Festplatte bei RAID 1 und 5 verhindert wird bzw. die Performance bei RAID 0 optimiert wird.

Im nächsten Dialog wählen Sie den RAID-Level 0, 1 oder 5 (weitere Einzelheiten sind unter Abschnitt 3.8.1, „Soft-RAID“ verfügbar). Nachdem Sie auf Weiter geklickt haben, führt der folgende Dialog sämtliche Partitionen auf, deren Typ „Linux RAID“ oder „Linux native“ ist (siehe Abbildung 3.8, „RAID-Partitionen“). Swap- und DOS-Partitionen werden nicht angezeigt. Falls eine Partition bereits einem RAID-Volume zugeordnet ist, wird der Name des RAID-Devices (z.B. /dev/md0) in der Liste angezeigt. Noch nicht zugeordnete Partitionen sind mit „--“ gekennzeichnet.

Abbildung 3.8. RAID-Partitionen

RAID-Partitionen

Um dem gewählten RAID-Volume eine noch nicht zugewiesene Partition hinzuzufügen, klicken Sie erst auf die Partition und dann auf Hinzufügen. An dieser Stelle wird der Name des RAID-Devices neben der gewählten Partition eingegeben. Weisen Sie alle Partitionen zu, die für RAID reserviert sind, da sonst der Platz auf der Partition nicht genutzt werden kann. Nachdem Sie alle Partitionen zugewiesen haben, klicken Sie auf Weiter. Sie gelangen in einen Dialog, in dem Sie Feineinstellungen zur Performance vornehmen können (siehe Abbildung 3.9, „Dateisystemeinstellungen“).

Abbildung 3.9. Dateisystemeinstellungen

Dateisystemeinstellungen

Wie bei konventionellen Partitionen, setzen Sie das zu benutzende Dateisystem und den Mountpoint für das RAID-Volume. Die Aktivierung der Checkbox Persistenter Superblock sorgt dafür, dass RAID-Partitionen gleich beim Booten als solche erkannt werden. Nach Beendigung der Konfiguration mit Beenden sehen Sie im Experten-Partitionierer dann das Device /dev/md0 und andere Devices als RAID gekennzeichnet.

3.8.3. Mögliche Probleme und deren Lösung

Ob eine RAID-Partition zerstört ist, können Sie dem Inhalt der Datei /proc/mdstats entnehmen. Grundsätzliche Vorgehensweise in einem Fehlerfall ist es, Ihr Linux-System herunterzufahren und die defekte Festplatte durch eine neue gleichartig partitionierte zu ersetzen. Dann starten Sie Ihr System neu und verwenden den Befehl mdadm /dev/mdX --add /dev/sdX, wobei 'X' durch die entsprechenden Werte zu ersetzen sind. Damit wird die neue Festplatte automatisch in das RAID-System integriert und vollautomatisch rekonstruiert.

3.8.4. Weitere Informationen

Eine Anleitung zur Konfiguration von Soft-RAID und weitere Details hierzu finden Sie im angegebenen Howto:

Außerdem gibt es verschiedene Linux-RAID-Mailinglisten wie http://www.mail-archive.com/linux-raid@vger.rutgers.edu.


SUSE LINUX Administrationshandbuch 9.3