Striping

RAID 0Bei RAID 0 dreht sich alles um die Leistung.
Die Daten werden in Blöcke aufgeteilt und abwechselnd auf jede RAID-Festplatte geschrieben. Im obigen Diagramm werden also ungerade Blöcke auf Festplatte 0 und gerade Blöcke auf Festplatte 1 geschrieben. Dieser Vorgang wird in der RAID-Terminologie als Striping bezeichnet. Allerdings kann sowohl das Schreiben als auch das Lesen gleichzeitig erfolgen, so dass die Leistung doppelt so hoch ist wie bei einer einzelnen Festplatte. Noch besser wäre es, wenn Sie drei Festplatten in RAID 0 verwenden, und Sie würden die dreifache Lese- und Schreibleistung erhalten. Sie wären nur auf die maximale Anzahl von Festplatten beschränkt, die Sie an einen einzelnen RAID-Controller anschließen können.
Diese überragende Leistung hat jedoch auch einen entscheidenden Nachteil. Wenn auch nur eine Festplatte in einem RAID 0-Array ausfällt, würden Sie alle Daten verlieren. RAID 0 eignet sich hervorragend für Situationen, in denen Sie maximale Leistung benötigen (z. B. beim Spielen) und die Daten irgendwo anders vorhanden sind, z. B. in einem fehlertoleranteren RAID-Array oder auf Magnetband

Mirroring

RAID 1Im Gegensatz zu RAID 0 geht es bei RAID 1
vor allem um Fehlertoleranz und Zuverlässigkeit. Die Daten werden auf jedem Laufwerk gespiegelt, so dass Sie auch bei Ausfall eines Laufwerks noch alle Daten auf dem anderen Laufwerk haben. Die Leistung ist nicht so hoch wie bei RAID 0. Die Schreibleistung ist die gleiche wie beim Schreiben auf eine Festplatte, da das RAID die gleichen Daten auf beide Festplatten gleichzeitig schreibt. Beim Lesen sollte die maximale Geschwindigkeit theoretisch die Summe der Geschwindigkeiten der beiden Platten sein. In der Praxis ist sie jedoch meist deutlich langsamer.
Man kann mehr Festplatten zu einem RAID-1-Array hinzuzufügen, aber das hat den Effekt, dass die Kosten pro nutzbarer Kapazität dramatisch steigen. Wenn Sie drei gespiegelte Festplatten hätten, könnten zwei Festplatten ohne Datenverlust ausfallen. Die nutzbare Größe wäre jedoch nur ein Drittel der Gesamtkapazität der Festplatten.

Byte-Level Striping mit Paritätsinformationen auf separater Festplatte

Im RAID 3 wird eine Summeninformation
auf einer zusätzlichen Paritätsplatte gespeichert. RAID 3 ist inzwischen vom Markt verschwunden und wurde weitgehend durch RAID 5 ersetzt, bei dem die Parität gleichmäßig über alle Platten verteilt wird.

Block-Level Striping mit verteilter Paritätsinformation

Ein RAID-5-Verbund ist ähnlich wie RAID 0,
da die Daten über mehrere Festplatten verteilt sind. Um jedoch fehlertoleranter als RAID 0 zu sein, wird ein bestimmter Datenblock, der Paritätsblock, zusätzlich umlaufend auf die Festplatten geschrieben. Daher ist die Mindestanzahl der Festplatten 2 + 1 - zwei Festplatten für die eigentlichen Daten und eine für die Parität.
Wie hilft also die Parität bei der Fehlertoleranz? Wenn wir uns das obige Diagramm ansehen, sehen wir, dass die mit A gekennzeichneten Daten in 3 Teile plus eine Parität, Ap, aufgeteilt sind. Nehmen wir an, dass Platte 1 ausfällt, was bedeutet, dass A2 verloren ist. Sie kann in einem Prozess wiederhergestellt werden, der Rebuild genannt wird, wobei das RAID-Array mithilfe des Paritätsblocks repariert wird. Sein Inhalt ist so beschaffen, dass alle Datenblöcke plus der Paritätsblock gleich Null sind, wenn sie miteinander XOR-verknüpft werden. Das bedeutet, dass A2 mit A1, A2 und Ap berechnet werden kann.
Das Wiederherstellen eines RAID-Arrays erfordert Zeit und eine erhebliche Menge an Rechenleistung. Der Wiederaufbau liest alle Daten von den verbleibenden Festplatten, berechnet die verlorenen Daten und schreibt die wiederhergestellten Daten zurück auf die Festplatte. Dieser Vorgang lässt sich mit den heutigen riesigen Festplatten nicht gut skalieren und kann Stunden, wenn nicht sogar Tage dauern, bis er abgeschlossen ist. Während des Wiederherstellungsvorgangs ist das Array anfällig für einen weiteren Festplattenausfall, was einen totalen Datenverlust bedeuten würde.
Was die Leistung betrifft, so ist die maximale Lesegeschwindigkeit eines RAID-5-Arrays ein Faktor der Anzahl der Festplatten minus eins, da es effektiv ein Paritätslaufwerk gibt. Beim Schreiben gibt es keinen ähnlichen Leistungsgewinn, da der RAID-Controller jeden Block jeweils auf eine einzelne Platte schreibt und die Paritätsdaten für jeden kompletten Stripe berechnet.

Block-Level Striping mit doppelt verteilter Paritätsinformation

RAID 6 diagramRAID 6 erweitert die Idee hinter RAID 5 und verwendet einen zweiten Paritätsblock, so dass zwei Festplatten ohne Datenverlust ausfallen können. Wenn nun eine Festplatte ausfällt und das RAID neu aufgebaut werden muss und dann eine weitere Festplatte ausfällt, gehen keine Daten verloren, was es doppelt so fehlertolerant wie RAID 5 macht. Im Gegensatz zu RAID 5 gibt es bei RAID 6 mehrere mögliche Implementierungsformen, die sich insbesondere in der Schreibleistung und dem Rechenaufwand unterscheiden. Im Allgemeinen gilt: Bessere Schreibleistung wird durch erhöhten Rechenaufwand erkauft. Im einfachsten Fall wird eine zusätzliche XOR-Operation über eine orthogonale Datenzeile berechnet, siehe Grafik. Auch die zweite Parität wird rotierend auf alle Platten verteilt. Eine andere RAID-6-Implementierung rechnet mit nur einer Datenzeile, produziert allerdings keine Paritätsbits, sondern einen Zusatzcode, der 2 Einzelbit-Fehler beheben kann. Das Verfahren ist rechnerisch aufwändiger. Zum Thema Mehrbit-Fehlerkorrektur siehe auch Reed-Solomon-Code.

Block-Level Striping mit doppelter Paritätsinformation auf separaten Festplatten

RAID DP (double, dual oder manchmal diagonal parity) ist eine von NetApp weiterentwickelte Version von RAID 4. Hierbei wird eine zweite Parität nach derselben Formel wie die erste Parität P berechnet, jedoch mit anderen Datenblöcken. Die erste Parität wird horizontal, die zweite Parität Q diagonal berechnet. Zudem wird bei der Berechnung der diagonalen Parität jeweils die erste Parität mit einbezogen, dafür aber abwechselnd eine Festplatte nicht. Da in einem RAID DP zwei beliebige Festplattenfehler kompensiert werden können, ist die Verfügbarkeit eines solchen Systems gegenüber einer Single-Paritätslösung (also z. B. RAID 4 oder RAID 5) gesteigert.

RAID-DP-Sets bestehen in der Regel aus 14 + 2 Platten. Somit liegt der Brutto-Netto-Verschnitt ähnlich niedrig wie bei RAID 4/RAID 5.

RAID DP vereinfacht die Wiederherstellung. Hierbei werden zuerst mit der diagonalen Parität die Daten der ersten ausgefallenen Festplatte berechnet und danach aus der horizontalen Parität der Inhalt der zweiten Festplatte.

Die Rechenoperationen beschränken sich im Gegensatz zum RAID 6, wo ein Gleichungssystem zu lösen ist, auf einfache XOR-Operationen. RAID DP kann jederzeit auf RAID 4 umgeschaltet werden (und umgekehrt), indem man einfach die zweite Paritätsplatte abschaltet (bzw. wiederherstellt). Dies geschieht ohne ein Umkopieren oder Umstrukturieren der bereits gespeicherten Daten im laufenden Betrieb.

Kombinierte RAID Level

RAID 10 diagram

Credit: Wheart / CC BY-SA

RAID 10 besteht aus zwei oder mehr gespiegelten Festplattensätzen, die zusammen gestriped sind. RAID 10 erlaubt insgesamt 2 Festplattenausfälle, einen pro gespiegeltem Satz. RAID 10 funktioniert natürlich nur mit einer geraden Anzahl von Festplatten und hat immer eine nutzbare Kapazität von 50%. Theoretisch ist die maximale Leseleistung ein Vielfaches der Anzahl der Festplatten im Array und die Schreibleistung ein Vielfaches der halben Anzahl der Festplatten (da das RAID jeden Block zweimal schreibt). Die Mindestanzahl der Laufwerke für RAID 10 ist 4.

RAID 50 diagram

AID 50 kombiniert mehrere RAID-5-Arrays und strippt sie zusammen. Ähnlich wie bei RAID 10 kann eine Platte pro Sub-Array ohne Datenverlust ausfallen. Der Vorteil von RAID 50 ist jedoch, dass die nutzbare Kapazitätsauslastung bei 67 % beginnt. Es gibt keinen Gewinn an Schreibleistung gegenüber einem einzelnen Laufwerk, aber die Lesegeschwindigkeit kann bis zu einem Vielfachen der Gesamtzahl der Festplatten minus der Anzahl der RAID-5-Sub-Arrays betragen.

Zuletzt geändert: Montag, 8. April 2024, 13:54