Laden...

RAID Controller

Ein RAID (redundant array of independent disks / redundante Anordnung unabhängiger Festplatten) dient dazu, mehrere Physikalische Festplatten (ggf. auch einzelne Partitionen) zu einem logischen Laufwerk zusammenzufassen.

zu den RAID Controller Artikeln

Ein RAID kann über Hardware oder Software realisiert werden:

Hardware-RAID

Bei einem Hardware-RAID wird die Kontrolle über die Festplatten von einer speziell für diesen Zweck entwickelten Hardware, dem RAID-Controller realisiert.

Software-RAID

Bei einem Software-RAID wird die Kontrolle über die Festplatten von der RAID-Software des Betriebssystems realisiert.

Man unterscheidet folgende Arten von RAIDs, auch RAID-Level genannt:

JBOD - Just a bunch of disks

Hier werden die angeschlossenen Platten als Einzelplatten ohne RAID-Funktionalität exportiert, d.h. dass jede einzelne Platte vom Betriebssystem erkannt wird. Die Mehrzahl heutiger Hardware-RAID-Controller unterstützen diese Funktionalität. Da neue Filesysteme eine wesentlich bessere, Software-gesteuerte Raid-Behandlung bieten als Hardware-basiertes RAID, wird die Funktionalität künftig an Bedeutung gewinnen.

RAID 0

Es müssen minimal 2 Festplatten gleicher Größe eingesetzt werden. Eine Redundanz ist nicht gegeben, da bei Ausfall einer Platte die Daten i.d.R. nicht wieder herstellbar sind (Totalverlust).

Vorteilhaft ist die Verdopplung der Schreib-/Lesegeschwindigkeit, welche aber auf Kosten einer deutlich erhöhten Ausfallwahrscheinlichkeit erkauft wird. Die hohen Datenraten werden durch die blockweise Verteilung auf die beteiligten Festplatten erreicht. So muss nicht so lange gewartet werden, bis ein Block vollständig auf die Festplatte geschrieben wurde. Der nächste Block wird sofort, quasi parallel, auf die auf die nächste Platte geschrieben. Beim Lesen umgekehrt verfahren.

Das Haupteinsatzgebiet liegt bei Compute-Servern und HPC-Rechenknoten, wenn die zur Berechnung notwendigen Daten nicht mehr im Hauptspeicher gehalten werde können und deshalb lokal ausgelagert werden müssen, was möglichst schnell zu erfolgen hat, da sonst die Rechenzeiten zu stark ansteigen. Da die Rohdaten auch nach einem Plattencrash noch vorhanden sind, kann der Lauf wiederholt werden und es entstehen keine Datenverluste.

Die Daten werden blockweise auf die beteiligten Festplatten verteilt. Dadurch muss der Computer nicht darauf warten, bis die Festplatte einen Block geschrieben hat, sondern kann gleich den nächsten Block auf die nächste Platte schreiben. Beim Lesen umgekehrt.

RAID 1

Es müssen minimal 2 Festplatten gleicher Größe eingesetzt werden. Da alle Daten gleichzeitig auf beide Platten geschrieben werden, entsteht eine Redundanz, da bei Ausfall einer Platte die Daten auf der verbliebenen Platte weiter vollständig zur Verfügung stehen. Während die Schreibgeschwindigkeit gegenüber einer Einzelplatte keine Steigerung erfährt, verdoppelt sich die Lesegeschwindigkeit, weil hier wie bei einem RAID0 verfahren wird.

Die Erhöhung der Ausfalltoleranz und der Lesegeschwindigkeit wird durch eine Halbierung der verfügbaren Kapazität erkauft. Nach einem Plattenausfall können, nach Ersatz der defekten Platte, die Daten der verbliebenen Platte auf die Ersatzplatte übertragen werden (sync), wodurch die entsprechende Fehlertoleranz wieder herstellt wird.

RAID 5

Es müssen minimal 3 Festplatten möglichst gleicher Größe eingesetzt werden. Eine Redundanz ist gegeben, da das Volumen einer Platte, für die zur Wiederherstellung notwendigen „Parity“ Informationen verwendet wird. Es vermindert sich aber das zur Verfügung stehende Datenvolumen um 33%. Die Datenausbeute steigt mit der Anzahl der eingesetzten Festplatten. Eine zu hohe Festplattenanzahl führt aber zu verminderten Schreibraten, da die Parity-Informationen aus einer höheren Anzahl von Daten errechnet werden müssen.

Die Lesegeschwindigkeit beim Einsatz von zwei Platten ist ca. 2x schneller als die einer Einzelplatte. Auch die Schreibgeschwindigkeit ist allgemein höher, als die einer einzelnen Platte. Es hängt aber stark von der Qualität des eingesetzten Controllers ab. Die I/O Werte steigen mit zunehmender Plattenanzahl, da dann der I/O Verkehr parallel über mehrere Medien läuft. Mit zunehmender Plattenanzahl steigt aber die Zeit zur Ermittlung der Parity Informationen, so dass nach dem Erreichen des Optimums die I/O Leistung wieder abnimmt. Für Lesevorgänge kann analog zu RAID 0 verfahren werden.

Um die Wiederherstellung des Raids auch zu Zeiten sicherzustellen, wenn kein Administrator verfügbar ist (nachts, Wochenende, Urlaub, Krankheit, …), können s.g. Hot-Swap-Platten konfiguriert werden, welche die Wiederherstellung ohne menschlichen Eingriff verzugslos einleiten und das zuständige Personal per Email über die getroffene Maßnahme unterrichten.

RAID 6

Es müssen minimal 4 Festplatten möglichst gleicher Größe eingesetzt werden. Eine Redundanz ist gegeben, da das Volumen von zwei Platten für die zur Wiederherstellung notwendigen „Parity“ Informationen verwendet wird.

Im Wesentlichen gelten die Ausführungen unter RAID5, es können allerdings 2 Platten ausfallen. Da Die Datenvolumen immer größer werden und Raids von 40 bis 80 Terra Byte und darüber hinaus keine Seltenheit darstellen, wird dieser Raid Level immer häufiger eingesetzt. Moderne Hardwarecontroller verfügen über immer schnelle Prozessoren, oft sogar über mehrere, so dass die Zeiten für die Parity Ermittlung gegenüber Raid 5 keine Rolle mehr spielt. Wir haben selber Datenraten von  800MB über Infiniband erzielt.

RAID 10 und andere RAID Kombinationen

Man kann die verschiedenen RAID-Level auch kombinieren, um weitere Erhöhungen der Geschwindigkeit und/oder der Ausfalltoleranz zu erreichen. Ein Beispiel hierfür ist RAID 10, es gibt aber auch Varianten wie RAID50 oder RAID01, u.a.

Für ein RAID 10 müssen minimal 4 Festplatten gleicher Größe eingesetzt werden. Eine Redundanz ist gegeben, da zwei Platten ausfallen können. Die Lese- und Schreibgeschwindigkeiten sind deutlich schneller. Da hier zwei RAID1 Systeme werden zu einem RAID0 verschaltet wurden, darf nur jeweils eine Platte aus jedem RAID1-Verbund ausfallen.

sysGen setzt für seine Projekte und Serverprodukte RAID-Controller der folgenden Hersteller ein:

  • LSI Logic/3ware
  • Adaptec
  • Intel.

zu den RAID Controller Artikeln