Noch vor wenigen Jahren war RAID eine sehr teure Angelegenheit, die nur in High-End-Servern zum Einsatz kam und nur auf Basis von SCSI realisierbar war. Inzwischen ist RAID erste Wahl, wenn hohe Festplatten-Performance oder Datensicherheit gefordert ist. Besonders die Verfügbarkeit von Software-Lösungen und der Einsatz von preiswerten, IDE-basierten Lösungen, häufig direkt auf der Hauptplatine des Rechners integriert, machen RAID sogar im Heimbereich interessant. Die mitgelieferten Unterlagen beschreiben aber häufig nur die Realisation des RAID-Systems, das Basiswissen über die zur Anwendung passende Art des RAID wird als bekannt vorausgesetzt.
RAID ist die Abkürzung für "Redundant Array of Inexpensive Disks", also ein reduntantes Feld aus preiswerten Festplatten. Manchmal wird das I auch mit „independent“ (=unabhängigen) erklärt. Grundvoraussetzung ist ein geeigneter Controller und mindestens zwei Festplatten.
Redundant bedeutet, das jede gespeicherte Information nicht nur einmal, sondern mehrmals vorhanden ist, eine Sicherheitskopie auf Festplatte also, auf die sofort zugegriffen werden kann, ohne das (veraltete) Daten bei einem Schreib-/Lese-Fehler erst zeitaufwendig von einem externen Medium überspielt werden müssen.
Es gibt 5 definierte Methoden des RAID, die auf Patterson, Gibson und Katz beruhen und mit denen sich einzelne Platten zu einem Array zusammenfassen lassen. Zusätzlich gibt den Level 0, während die Level 6 und 7 nur herstellerspezifische Erweiterungen der Stufe 5 darstellen.
Striped disks: sequentiell hintereinander geschaltete (gestreifte) Festplatten.
Höchste Geschwindigkeit, aber keine Redundanz, also kein richtiges RAID im Sinne der Definition. Wurde früher häufig verwendet, um schnellere Zugriffe auf Daten zu ermöglichen, da die mittlere Zugriffszeit hoch war. Wird heute nur noch selten verwandt, da inzwischen ausreichend schnelle Festplatten verfügbar sind. Der größte Nachteil ist der Ausfall des gesamten Arrays beim Defekt einer einzigen Festplatte.
Trotzdem ist das Verfahren des sogenannten striping wichtig zum Verstehen der Funktionsweise eines RAIDs: statt sequentiell einen Block nach dem anderem auf eine einzelne Festplatte zu schreiben, wird der nächste Block auf die nächste physikalische Festplatte geschrieben. Dadurch kann während des Lese- oder Schreibvorgangs eines Blockes der Schreib-/Lesekopf der folgenden Festplatte, die den nächsten logischen Block enthält, schon positioniert werden.
Dem Betriebssystem und dem Benutzer gegenüber erscheint ein RAID wie eine einzige Festplatte, der physikalische Aufbau und die gewählte Stufe des RAID werden rein vom Controller verwaltet.
Mirrored disks: gespiegelte Festplatten
Jede
Festplatte hat einen Zwilling, ein Spiegelbild. Die werden auf beide Festplatten
geschrieben und können von der einen oder der anderen gelesen werden. Dadurch
wird die Lesegeschwindigkeit erhöht, denn der Zugriff kann von der günstiger
positionierten Platte erfolgen. Die Schreibgeschwindigkeit wird bei Hardware -
Lösungen (im Verhältnis zu einer Platte) nicht verschlechtert, bei
Software-RAIDs schon. Die Redundanz der Daten ist 1-fach: beide Platten
enthalten die kompletten Daten. Fällt eine Platte aus, verringert sich nur die
Zugriffsgeschwindigkeit beim Lesen, erst wenn die defekte Platte durch eine neue
ersetzt wird, wird zusätzlich eine kurze Zeit zum kopieren benötigt.
Ein weiterer Vorteil ist die Möglichkeit des Back-ups während des laufenden Betriebs. Die Zugriffe von Benutzern müssen nicht unterbunden werden, es muß nur eine Platte für die benötigte Zeit aus dem Verbund genommen werden, was meistens durch die Back-up-Software geschieht. Um in dieser Zeitspanne nicht auf Redundanz zu verzichten oder weil die Daten derartig kritisch sind, das eine einfache Redundanz nicht ausreicht, bieten viele RAID-Lösungen auch die Möglichkeit, mehr als eine Spiegelplatte zu betreiben.
Die Stufen RAID 0 und 1 können auch miteinander kombiniert werden, um die jeweiligen Vorteile miteinander zu verbinden. Diese Kombination wird auch RAID 10, 0+1 oder 0/1 genannt. Dabei ist unbedingt darauf zu achten, in welcher Reihenfolge die Verfahren kombiniert werden. Angenommen, es sollen sechs Platten verwendet werden. Im ersten Fall werden je drei Laufwerke gestriped (RAID 0) und anschließend gespiegelt (RAID 1). Fällt jetzt eine Platte aus, so ist die Hälfte der verwandten Platten unbrauchbar und kann erst nach einem Austausch neu gespiegelt werden. Fällt während dieser Zeit eine Platte im 2. Set aus, ist das ganze Array unbrauchbar.
Werden
jedoch erst je 2 Platten gespiegelt und dann die resultierenden 3 logischen
Platten gestriped, muß schon ein kompletter Spiegelsatz ausfallen, damit es zum
Totalausfall kommt. Die
Wahrscheinlichkeit dafür sinkt somit auf ein Drittel gegenüber der
ersten Methode.
ECC data disks: zusätzliche Festplatten für die ECC-Fehlerkorrektur.
RAID
2 ist striping mit zusätzlichen Platten für die ECC-Daten. Dieses
Verfahren wird kaum noch verwandt, da die heutigen Festplatten selbst die
ECC-Information intern verwalten. Die Fehlerkorrektur Error Correcting Code ist
ein Verfahren zum Erkennen und Korrigieren von Bitfehlern und ist in der
Elektronik weit verbreitet (RAM-Bausteine). Es beruht auf dem Hamming-Code
und kann 1-Bit-Fehler korrigieren sowie 2-Bit-Fehler erkennen und benötigt bei
32-Bit-breiten Daten zusätzliche sieben Check-Bits.
Parity data disk: zusätzliche Festplatte für die Fehlerkorrektur mit parity.
Die
Stufe 3 besteht aus 2 oder mehr Platten im RAID 0 und einer zusätzlichen zur
Fehlerkorrektur mittels parity. Die ECC-Informationen der Festplatten
werden genutzt, um Fehler festzustellen, die dann durch die sogenannte
Paritäts-Prüfung wieder bereinigt werden. RAID 3 kann nur in bestimmten
Situationen eine hohe Leistung erreichen und besonders beim Multi-User-Zugriff
ist die Leistung eher gering. Es findet daher eher Einsatz bei sehr großen
Dateien, auf die nur ein Benutzer zugreift, z. B. Videobearbeitung oder CAD/CAM.
Das
Konzept der Paritätsprüfung beruht auf der mathematischen Verknüpfung von
zwei Daten mittels XOR, dem eXclusivem OdeR. 12 XOR 15 ergibt 3, 12 XOR 3 = 15,
15 XOR 3 = 12. Mit den Werten von 2 der 3 Platten
läßt sich also der Dritte berechnen, und XOR ist in fast allen Prozessoren als
eine der schnellsten mathematischen Operationen fest "eingebaut".
Trotzdem muß schon beim normalen Schreibzugriff der Wert erst berechnet und
geschrieben werden - das dauert und sperrt den Plattenzugriff. Da im
schlechtesten Fall das Verhältnis von Nutz- zu Paritätsdaten 2:1 beträgt,
muß die zusätzliche Platte
Entspricht
RAID 3, jedoch mit mehr als einer Paritätsplatte, so daß von einigen Platten
gelesen werden kann, während für andere die Paritäts-Information geschrieben
wird. Der Nachteil der dedizierten Paritäts-Platten bleibt jedoch bestehen, und
die Gesamtleistung liegt unter der von Stufe 5.
Spread parity data: Fehlerkorrektur mit parity, aber auf den Platten verteilt.
Dieses
Verfahren wird häufig verwandt und hat sehr hohe Lesegeschwindigkeiten bei
gleichzeitig großer Sicherheit. Es entspricht RAID 3, jedoch wird die
Paritäts-Information über die Platten verteilt, so daß Schreibzugriffe
parallel bearbeitet werden können. Zugriff 1 erfolgt z. B. auf Platte 1, die parity
wird auf Platte 2 geschrieben, während gleichzeitig Zugriff 2 auf Platte 3
erfolgen kann, deren parity auf Platte 4 gespeichert wird. Je mehr
Platten im Array, desto besser. RAID 5 ist billiger als RAID 1, aber im Fall des
Ausfalls einer Platte bricht die Leistung stark ein, da die fehlende Information
erst berechnet werden muß.
Egal, ob das RAID-Array aus IDE- oder SCSI-Platten besteht, ob es einen eigenen, intelligenten Controller besitzt oder dieser durch Software nachgebildet wird, am Prinzip ändert sich nichts. Die Stufen 1 bis 5 sind geeignete Wege, die Verfügbarkeit von gespeicherten Daten zu erhöhen, da die Daten (wenn auch nicht immer in der gewohnten Geschwindigkeit) im Falle eines Platten-Defekts weiterhin nutzbar bleiben. Ein langsamerer Zugriff ist nichts gegen die Zeit, die der Tausch einer defekten Platte und das Zurücksichern vom letzten Back-Up benötigen - vom Verlust der Daten zwischen Back-Up und Ausfall ganz zu schweigen.
Thorsten Hahn, 25.10.2002
Vergleich der Raid-Stufen | RAID 0 | RAID 1 | RAID 10 | RAID 2 | RAID 3 | RAID 4 | RAID 5 |
Anzahl der benötigten Platten | n > 1 | n > 1 | n > 3 | n > 9 | n > 2 | n > 2 | n > 2 |
Redundante Platten |
0 | 1 | mind. 1 | 2 | 1 | 1 | 1 |
Kapazitäts- verlust |
0% | 50% | 50% | 20% | 100 / n | 100 / n | 100 / n |
Parallele Lesezugriffe |
n | 2 | n / 2 | 8 | n - 1 | n - 1 | n - 1 |
Parallele Schreibzugriffe | n | 1 | 1 | 1 | 1 | 1 | n / 2 |
Maximaler Lesedurchsatz | n | 2 | n / 2 | 8 | n - 1 | n - 1 | n - 1 |
Maximaler Schreibdurchsatz | n | 1 | 1 | 1 | 1 | 1 | n / 2 |