RAID-Controller


RAID-Controller

Der Begriff RAID steht für englisch redundant array of independent disks (deutsch: Redundante Anordnung unabhängiger Festplatten, ursprünglich: redundant array of inexpensive disks, deutsch: Redundante Anordnung kostengünstiger Festplatten, was aus Marketinggründen aufgegeben wurde). Ein RAID-System dient zur Organisation mehrerer physischer Festplatten eines Computers zu einem logischen Laufwerk, das eine höhere Datensicherheit bei Ausfall einzelner Festplatten und/oder einen größeren Datendurchsatz erlaubt als ein einzelnes physisches Laufwerk. Während die meisten in Computern verwendeten Techniken und Anwendungen darauf abzielen Redundanzen (das Vorkommen doppelter Daten) zu vermeiden, werden bei RAID-Systemen redundante Informationen gezielt erzeugt, damit beim Ausfall einzelner Komponenten das RAID als Ganzes seine Integrität und Funktionalität behält.

Der Begriff wurde von Patterson, Gibson und Katz 1987 an der University of California, Berkeley in ihrer Arbeit A Case for Redundant Arrays of Inexpensive Disks (RAID) zum ersten Mal verwendet (frei übersetzt: Redundanter Verbund kostengünstiger Festplatten). Darin wurde die Möglichkeit untersucht, kostengünstige Festplatten im Verbund als logisches Laufwerk zu betreiben, um die Kosten für eine große (zum damaligen Zeitpunkt teure) Festplatte einzusparen. Dem gestiegenen Ausfallrisiko im Verbund sollte durch die Speicherung redundanter Daten begegnet werden, die einzelnen Anordnungen wurden als RAID-Level diskutiert.

Die weitere Entwicklung des RAID-Konzepts führte zunehmend zum Einsatz in Serveranwendungen, die den erhöhten Datendurchsatz und die Ausfallsicherheit nutzen, der Aspekt der Kostenersparnis wurde dabei aufgegeben. Die Möglichkeit, in einem solchen System einzelne Festplatten im laufenden Betrieb zu wechseln, entspricht der heute gebräuchlichen Übersetzung: Redundant Array of Independent Disks (Redundante Anordnung unabhängiger Festplatten).

Der Betrieb eines RAID-Systems setzt mindestens zwei Festplatten voraus. Die Festplatten werden gemeinsam betrieben und bilden einen Verbund, der unter mindestens einem Aspekt betrachtet leistungsfähiger ist als die einzelnen Festplatten. Mit RAID-Systemen kann man folgende Vorteile erreichen:

  • Erhöhung der Ausfallsicherheit (Redundanz)
  • Steigerung der Transferraten (Leistung)
  • Aufbau großer logischer Laufwerke
  • Austausch von Festplatten und Erhöhung der Speicherkapazität während des Systembetriebes
  • Kostenreduktion durch Einsatz mehrerer preiswerter Festplatten

Die genaue Art des Zusammenwirkens der Festplatten wird durch den RAID-Level spezifiziert. Die gebräuchlichsten RAID-Level sind RAID 0, RAID 1 und RAID 5. Sie werden unten beschrieben.

Aus Sicht des Benutzers oder eines Anwendungsprogramms unterscheidet sich ein logisches RAID-Laufwerk nicht von einer einzelnen Festplatte.

Inhaltsverzeichnis

Aufbau und Anschluss – Hardware-RAID, Software-RAID

Hardware-RAID

Von Hardware-RAID spricht man, wenn das Zusammenwirken der Festplatten von einem speziell dafür entwickelten Hardware-Baustein, dem RAID-Controller, organisiert wird. Der Hardware-RAID-Controller befindet sich in physischer Nähe der Festplatten. Er kann im Gehäuse des Computers enthalten sein. Häufiger befindet er sich aber in einem eigenen Gehäuse, einem Disk Array, in dem auch die Festplatten untergebracht sind.

Vermehrt werden in den letzten Jahren auch Festplatten-Controller unter der Bezeichnung RAID-Controller auf Hauptplatinen (engl. mainboards) für den Heimcomputer- und Personal-Computer-Bereich verbaut sowie als Kartenerweiterung im Niedrigpreis-Sektor angeboten. Üblicherweise sind diese häufig auf RAID 0 und RAID 1 beschränkt. Um die Karten im nichtprofessionellen Bereich so erschwinglich wie möglich zu machen, überlässt man hier jedoch oft die RAID-Logik der CPU. Ein weiterer Nachteil ist bei diesen auch, dass man an den Controller gebunden ist und bei einer Fehlfunktion desselben die Gefahr eines Datenverlustes besteht. Solche Controller werden im Linux-Jargon daher oft auch als Fake-RAID bezeichnet (vgl. auch die sogenannten Win- oder Softmodems).

Software-RAID

Von Software-RAID spricht man, wenn das Zusammenwirken der Festplatten komplett softwareseitig organisiert wird. Auch der Begriff Host based RAID ist geläufig, da nicht das Speicher-Subsystem, sondern der eigentliche Computer die RAID-Verwaltung durchführt. Die meisten modernen Betriebssysteme, wie FreeBSD, OpenBSD, Apple Mac OS X, HP HP-UX, IBM AIX, Linux, Microsoft Windows ab Windows NT oder SUN Solaris, sind dazu in der Lage. Die einzelnen Festplatten sind in diesem Fall entweder über einfache Festplattencontroller am Computer angeschlossen oder es werden externe Storage-Geräte wie Disk Arrays von Firmen wie EMC, Promise, AXUS, Proware oder Hitachi Data Systems (HDS) an den Computer angeschlossen. Die Festplatten werden dann als sogenannte JBODs („just a bunch of disks“) ins System integriert.

Der Vorteil von Software-RAID ist, dass kein spezieller RAID-Controller benötigt wird. Die Steuerung wird von einer RAID-Software erledigt, diese ist entweder schon Teil des Betriebssystems oder wird nachträglich installiert. Dieser Vorteil kommt besonders beim Disaster Recovery zum tragen, wenn der RAID-Controller defekt und nicht mehr verfügbar ist – alle derzeit verfügbaren Software-RAID-Systeme benutzen die Festplatten so, dass diese auch ohne die spezielle Software ausgelesen werden können. Auch bleibt der Festplatten-Cache aktiviert.

Bei Software-RAID werden bei Festplattenzugriffen neben dem Hauptprozessor (CPU) des Computers auch die System-Busse (PCI) stärker belastet als bei Hardware-RAID. Bei leistungsschwachen CPUs und Bus-Systemen verringert dies deutlich die Systemleistung; bei leistungsstarken, wenig ausgelasteten Systemen ist dies belanglos. Storage-Server sind in der Praxis oft nicht voll ausgelastet, somit können Software-RAID-Implementierungen auf solchen Servern unter Umständen sogar schneller sein, als Hardware-RAID-Implementierungen. Ein weiterer Nachteil ist, dass bei Software-RAID als Cache nur der Arbeitsspeicher genutzt werden kann. Es besteht daher keine Möglichkeit eine Pufferbatterie nur für den Cache und den Controller zu installieren, wie es bei hochwertigen RAID-Controllern oder Disk Arrays mit integriertem Cache üblich ist. Dies hat zur Folge, dass Daten, die bei einem Systemabsturz im Cache liegen, verloren gehen.

Geschichte

1987 veröffentlichten D. A. Patterson, G. Gibson und R. H. Katz von der University of California, Berkeley, USA einen Vorschlag, um die langsamen Plattenzugriffe zu beschleunigen und die Mean Time Between Failures (MTBF) zu erhöhen. Dazu sollten die Daten auf vielen kleineren (billigeren) Platten anstatt auf wenigen großen (teuren) abgelegt werden; deshalb die ursprüngliche Leseweise als „Arrays of Inexpensive Disks“ (heute Independent), im Gegensatz zu den damaligen SLEDs (Single Large Expensive Disk). Die Varianten RAID 0 und RAID 6 wurden erst später von der Industrie geprägt. Seit 1992 erfolgt eine Standardisierung durch das RAB (RAID Advisory Board), bestehend aus etwa 50 Herstellern.

Die gebräuchlichen RAID-Level im Einzelnen

RAID 0: Striping – Beschleunigung ohne Redundanz

RAID Level 0

Streng genommen handelt es sich bei RAID 0 nicht um ein wirkliches RAID, da es keine Redundanz gibt.

RAID 0 bietet gesteigerte Transferraten, indem die beteiligten Festplatten in zusammenhängende Blöcke gleicher Größe aufgeteilt werden, wobei diese Blöcke quasi im Reißverschlussverfahren zu einer großen Festplatte angeordnet werden. Somit können Zugriffe auf allen Platten parallel durchgeführt werden (engl. striping, was „in Streifen zerlegen“ bedeutet, abgeleitet von stripe, der „Streifen“). Die Datendurchsatz-Steigerung (bei sequentiellen Zugriffen, aber besonders auch bei hinreichend hoher Nebenläufigkeit) beruht darauf, dass die notwendigen Festplatten-Zugriffe in höherem Maße parallel abgewickelt werden können. Die Größe der Datenblöcke wird als Striping-Granularität (auch chunk size oder interlace size) bezeichnet. Meistens wird bei RAID 0 eine chunk size von 64 KB gewählt.

Fällt jedoch eine der Festplatten durch einen Defekt (vollständig) aus, kann der RAID-Controller ohne deren Teildaten die Nutzdaten nicht mehr vollständig rekonstruieren. Eine teilweise Restauration ist unter Umständen jedoch möglich, nämlich genau für die Dateien, die nur auf den verbliebenen Festplatten gespeichert sind, was typischerweise nur bei kleinen Dateien und eher bei großer Striping-Granularität der Fall sein wird. (Im Vergleich dazu würde die Benutzung von je einem getrennten Dateisystem pro Festplatte bei einem Ausfall eines einzelnen Speichermediums die nahtlose Benutzbarkeit der verbliebenen Medien bzw. der dortigen Dateisysteme garantieren, während der vollständige Ausfall eines einzelnen und entsprechend größeren Speichermediums einen vollständigen Verlust aller Daten zur Folge hätte.) RAID 0 ist daher nur in Anwendungen zu empfehlen, bei denen Datensicherheit kaum von Bedeutung ist oder durch eine geeignete Form von Datensicherung anderweitig gewährleistet wird. Auch wenn überwiegend lesende Zugriffe auftreten (während ändernde Zugriffe durch entsprechende Verfahren redundant auch auf einem anderen Medium ausgeführt werden), kann RAID 0 empfehlenswert sein. Die bei einfachem RAID 0 unvermeidbare Betriebsunterbrechung in Folge eines Festplatten-Ausfalls (auch einzelner Platten) sollte bei der Planung berücksichtigt werden.

Der Einsatzzweck dieses Verbundsystems erstreckt sich demnach auf Anwendungen, bei denen in kurzer Zeit besonders große Datenmengen vor allem gelesen werden sollen, z. B. auf die Musik- oder Videowiedergabe und die sporadische Aufnahme derselben.

Die Ausfallwahrscheinlichkeit eines RAID 0 aus n Festplatten in einem bestimmten Zeitraum beträgt 1 − (1 − p)n. Das gilt nur unter der Annahme, dass die Ausfallwahrscheinlichkeit p einer Festplatte statistisch unabhängig von den übrigen Festplatten ist. Herleitung: Die Wahrscheinlichkeit, dass eine Festplatte nicht ausfällt, ist (1 − p). Die Wahrscheinlichkeit, dass alle n Festplatten nicht ausfallen, ist (1 − p)n. Die Wahrscheinlichkeit, dass mindestens eine Festplatte ausfällt und damit der RAID-0-Verbund ausfällt, ist dann 1 − (1 − p)n.

Beispiel: Eine Platte vom Typ X hat in den ersten 3 Jahren eine Ausfallwahrscheinlichkeit von 2%. Ein RAID-0-Verbund aus 2 dieser Platten hat dann eine Ausfallwahrscheinlichkeit von 4%. Bei 4 Platten sind es 8%, bei 16 Platten schon 28%. Dieses Modell ist allerdings ungenau, da das Belastungsprofil der einzelnen Platte anders ist als im Verbund.

RAID 1: Mirroring – Spiegelung

RAID Level 1

RAID 1 ist der Verbund von mindestens 2 Festplatten. Ein RAID 1 speichert auf alle Festplatten die gleichen Daten (Spiegelung) und bietet somit volle Redundanz. Die Kapazität des Arrays ist hierbei höchstens so groß wie die kleinste beteiligte Festplatte.

Fällt eine der gespiegelten Platten aus, kann jede andere weiterhin alle Daten liefern. Besonders für sicherheitskritische Echtzeitanwendungen ist das unverzichtbar. RAID 1 bietet eine hohe Ausfallsicherheit: zum Totalverlust der Daten führt erst der Ausfall aller Platten.

Aus historischen Gründen wird zwischen Mirroring (alle Festplatten an demselben Controller) und Duplexing unterschieden, was heute jedoch nur bei Betrachtungen über den Single Point of Failure eine Rolle spielt: Festplatten-Controller fallen im Vergleich zu mechanisch beanspruchten Teilen (also Festplatten) relativ selten aus, so dass ein Controller-Ausfall auf Grund seiner geringen Wahrscheinlichkeit häufig noch toleriert wird.

Zur Erhöhung der Leseleistung kann ein RAID-1-System beim Lesen auf mehr als eine Festplatte zugreifen und gleichzeitig verschiedene Sektoren von verschiedenen Platten einlesen. Bei einem System mit zwei Festplatten lässt sich so die Leistung verdoppeln. Die Lesecharakteristik entspricht hierbei einem RAID-0-System. Diese Funktion bieten aber nicht alle Controller oder Softwareimplementierungen an. Sie erhöht die Lese-Geschwindigkeit des Systems enorm, geht aber auf Kosten der Sicherheit (vergl. nächsten Absatz). Eine solche Implementierung schützt vor einem kompletten Datenträgerausfall, aber nicht vor Problemen mit fehlerhaften Sektoren, zumindest falls diese erst nach dem Speichern (read after write verify) auftreten.

Zur Erhöhung der Sicherheit kann ein RAID-1-System beim Lesen stets auf mehr als eine Festplatte zugreifen (wenn die Antworten vorliegen, werden die beiden Datenströme verglichen, und bei Unstimmigkeiten wird eine Fehlermeldung ausgegeben, da die Spiegelung nicht länger besteht). Diese Funktion bieten nur wenige Controller an, auch reduziert sie die Geschwindigkeit des Systems geringfügig.

Eine Spiegelplatte ist kein Ersatz für eine Datensicherung, da sich auch versehentliche oder fehlerhafte Schreiboperationen (Viren, Stromausfall, Benutzerfehler) augenblicklich auf die Spiegelplatte übertragen. Dies gilt insbesondere für unvollständig abgelaufene, schreibende Programme (etwa durch Stromausfall abgebrochene Update-Transaktionen auf Datenbanken ohne Logging-System), wobei es hier nicht nur zu der Beschädigung der Spiegelung, sondern auch zu einem inkonsistenten Datenzustand trotz intakter Spiegelung kommen kann. Abhilfe schaffen hier Datensicherungen und Transaktions-Logs.

RAID 5: Leistung + Parität

RAID Level 5

RAID 5 bietet sowohl gesteigerten Datendurchsatz beim Lesen von Daten als auch Redundanz bei relativ geringen Kosten und ist dadurch die beliebteste RAID-Variante. In schreibintensiven Umgebungen mit kleinen, nicht zusammenhängenden Änderungen ist RAID 5 nicht zu empfehlen, da bei zufälligen Schreibzugriffen der Durchsatz aufgrund des zweiphasigen Schreibverfahrens deutlich abnimmt (an dieser Stelle wäre eine RAID-0+1-Konfiguration vorzuziehen). RAID 5 ist eine der kostengünstigsten Möglichkeiten, Daten auf mehreren Festplatten redundant zu speichern und dabei das Speichervolumen effizient zu nutzen. Dieser Vorteil kommt allerdings aufgrund hoher Controlleranforderungen und -preise oft erst bei mehr als vier Platten zum Tragen. Für den Preis eines RAID-5-Controllers mit (mindestens) drei Platten ist meistens bereits eine vierte Festplatte für ein RAID 10 zu bekommen. Neuere Chipsätze unterstützen jedoch zunehmend auch RAID 5, so dass der preisliche Vorteil des RAID-10-Systems im Schwinden begriffen ist.

Die nutzbare Gesamtkapazität errechnet sich aus der Formel: (Anzahl der Festplatten-1) × (Kapazität der kleinsten Festplatte).

Rechenbeispiel mit vier 500 GB Festplatten: (4-1) × (500 GB) = 1500 GB Nutzdaten und 500 GB Parität.

Die Nutzdaten werden wie bei RAID 0 auf alle Festplatten verteilt. Die Paritätsinformationen werden jedoch nicht wie bei RAID 4 auf einer Platte konzentriert, sondern ebenfalls verteilt. Die Berechnung der Parität erfolgt durch die XOR-Verknüpfung, die wiederum zu einer leichten bis erheblichen Verminderung der Datentransferrate im Vergleich zu RAID 0 führt. Da die Paritätsinformationen beim Lesen nicht benötigt werden, stehen alle Platten zum parallelen Zugriff zur Verfügung. Dieser (theoretische) Vorteil greift allerdings nicht bei kleinen Dateien ohne nebenläufigen Zugriff, erst bei größeren Dateien oder geeigneter Nebenläufigkeit tritt eine nennenswerte Beschleunigung ein. Der Schreibzugriff erfordert entweder ein Volumen, das genau (n-1) korrespondierende Datenblöcke ausfüllt, oder ein zwei-phasiges Verfahren (alte Daten lesen; neue Daten schreiben).

Bei RAID 5 ist die Datenintegrität des Arrays beim Ausfall von maximal einer Platte gewährleistet. Nach Ausfall einer Festplatte oder während des Rebuilds auf die Hotspare-Platte (bzw. nach Austausch der defekten Festplatte) lässt die Leistung deutlich nach (beim Lesen: jeder (n-1)-te Datenblock muss rekonstruiert werden; beim Schreiben: jeder (n-1)-te Datenblock kann nur durch Lesen der entsprechenden Bereiche aller korrespondierenden Datenblöcke und anschließendes Schreiben der Parität geschrieben werden; hinzu kommen die Zugriffe des Rebuilds: (n-1) × Lesen; 1 × Schreiben). Bei dem Rebuild-Verfahren ist daher die Berechnung der Parität zeitlich zu vernachlässigen; im Vergleich zu RAID 1 dauert somit das Verfahren unwesentlich länger und benötigt gemessen am Nutzdaten-Volumen nur den (n-1)-ten Teil der Schreib-Zugriffe.

Eine noch junge Methode zur Verbesserung der Rebuild-Leistung und damit der Ausfallsicherheit ist präemptives RAID 5. Hierbei werden interne Fehlerkorrekturstatistiken der Platten zur Vorhersage eines Ausfalls herangezogen (siehe S.M.A.R.T.). Vorsorglich wird nun die Hot-Spare-Platte mit dem kompletten Inhalt der ausfallverdächtigsten Platte im RAID-Verbund synchronisiert, um zum vorhergesagten Versagenszeitpunkt sofort an deren Stelle treten zu können. Das Verfahren erreicht bei geringerem Platzbedarf eine ähnliche Ausfallsicherheit wie RAID 6 und andere Dual-Parity-Implementierungen. Allerdings wurde präemptives RAID 5 aufgrund des hohen Aufwands bislang nur in wenigen „High-End“-Speichersystemen mit server-basierten Controllern implementiert. Zudem zeigt eine Studie von Google (Februar 2007), dass S.M.A.R.T.-Daten zur Vorhersage des Ausfalls einer einzelnen Festplatte nur eingeschränkt nützlich sind [1].

Ein Blog-Eintrag von Robin Harris legt dar, dass RAID 5 bei Array-Größen um 14 TB (5 * 2TB Festplatten + 2 Hot-Spare-Drives) nicht mehr sinnvoll ist, da die Wahrscheinlichkeit eines Lesefehlers beim Wiederherstellen der Daten nach einem Ausfall 1 (bzw. 100%) ist.[2]

Weniger gebräuchliche oder bedeutungslos gewordene RAID-Level

NRAID/Linear Mode/concat(enation): Festplattenverbund

Bei NRAID (auch als linear mode oder concat(enation) bekannt) werden – wie bei RAID 0 – mehrere Festplatten zusammengeschlossen. Im Gegensatz zu RAID 0 bietet NRAID aber keinen Gewinn beim Datendurchsatz. Dafür kann man Festplatten unterschiedlicher Größe ohne Speicherverlust miteinander kombinieren (Beispiel: eine 10-GB-Festplatte und eine 30-GB-Festplatte ergeben in einem NRAID eine virtuelle 40-GB-Festplatte, während in einem RAID 0 nur 20 GB (2 × 10 GB) angesprochen werden könnten). Der Ausfall einer Platte führt zu Datenverlust, jedoch wäre es möglich einen Teil der Daten wieder zu restaurieren, solange sie komplett auf der funktionierenden Platte liegen. NRAID ist weder einer der nummerierten RAID-Levels, noch bietet es Redundanz. Man kann es aber durchaus als entfernten Verwandten von RAID 0 betrachten. NRAID macht aus mehreren Festplatten eine einzige, deren Datenkapazität der Summe der Kapazitäten aller verwendeten Platten entspricht. Heutzutage sind Controller, die mit der Eigenschaft NRAID verkauft werden, in der Lage, dies zu tun.

RAID 2

RAID 2 spielt in der Praxis keine Rolle mehr. Das Verfahren wurde nur bei Großrechnern verwendet. Die Daten werden hierbei in Bitfolgen fester Größe zerlegt und mittels eines Hamming-Codes auf größere Bitfolgen abgebildet (zum Beispiel: 4 Bit für Daten und noch 3 Bit für die ECC-Eigenschaft). Die einzelnen Bits des Hamming-Codeworts werden dann über einzelne Platten aufgeteilt, was prinzipiell einen hohen Durchsatz erlaubt. Ein Nachteil ist jedoch, dass die Anzahl der Platten ein ganzzahliges Vielfaches der Hamming-Codewortlänge sein muss, wenn sich die Eigenschaften des Hamming-Codes nach außen zeigen sollen (diese Forderung entsteht, wenn man einen Bit-Fehler im Hamming-Code analog zu einem Festplatten-Ausfall im RAID 2 sieht).

Der kleinste RAID-2-Verbund benötigt drei Festplatten und entspricht einem RAID 1 mit zweifacher Spiegelung. Im realen Einsatz sah man daher zumeist nicht weniger als zehn Festplatten in einem RAID-2-Verbund.

RAID 3: Striping mit Paritätsinformationen auf separater Festplatte

RAID Level 3

RAID 3 ist der Vorläufer von RAID 5. Im RAID 3 wird die Redundanz auf einer zusätzlichen Festplatte gespeichert. Als Redundanz bezeichnet man hier die bitweise Addition der einzelnen Bits der anderen Festplatten. Die bitweise Addition berechnet Summen von Einzelbits, die den Wert 0 und 1 enthalten können, und befolgt die Rechenregeln des mathematischen Zahlkörpers (GF(2)=Z/2Z), welcher nur die Elemente 0 und 1 enthält und bei dem die folgenden Rechenregeln gelten: 1 + 1 = 0, 0 + 1 = 1, 1 + 0 = 1, 0 + 0 = 0. In der Mikroelektronik ist dies identisch mit der XOR-Verknüpfung.

Der Gewinn durch ein RAID 3 ist folgender: Angenommen, der RAID-3-Verbund besteht aus n datentragenden Festplatten und einer dedizierten Paritätsplatte mit Nummer n + 1. Bei einem Ausfall einer der ersten n Festplatten (mit der Nummer i) werden, nach Austausch dieser Festplatte, alle Daten auf die neue (i-te) Festplatte zurück synchronisiert, ausgehend von den Paritätsinformationen der n + 1-ten Festplatte und den übrigen, unversehrten n-1 Daten-Festplatten. Der Ausfall der Paritätsplatte selbst wird, nach Ersetzen der Festplatte, repariert durch einfache Neuberechnung der Paritätsbits.

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. Die dedizierte Paritätenfestplatte stellte einen Flaschenhals dar (performance bottleneck). Vor dem Übergang zu RAID 5 wurde RAID 3 zudem partiell durch RAID 4 verbessert, bei dem Ein-/Ausgabe-Operationen mit größeren Blockgrößen aus Geschwindigkeitsgründen standardisiert wurden.

Zusätzlich sei hier bemerkt, dass ein RAID-3-Verbund aus lediglich zwei Festplatten per Definition identisch ist mit einem RAID 1 aus zwei Festplatten.

RAID 4

Diagramm eines speziellen RAID 4 mit gesonderter Paritäts-Platte, wobei jede Farbe eine Paritäts-Gruppe (stripe) darstellt

Es werden ebenfalls Paritätsinformationen berechnet, die auf eine dedizierte Festplatte geschrieben werden. Allerdings sind die Einheiten, die geschrieben werden, größere Datenblöcke (englisch chunks) und nicht einzelne Bytes, was die Gemeinsamkeit zu RAID 5 ausmacht.

Ein Nachteil bei klassischem RAID 4 besteht darin, dass die Paritätsplatte bei allen Schreib- und Leseoperationen beteiligt ist. Dadurch ist die maximal mögliche Datenübertragungs-Geschwindigkeit durch die Datenübertragungs-Geschwindigkeit der Paritätsplatte begrenzt. Da bei jeder Operation immer eine der Datenplatten und die Paritätsplatte verwendet werden, fällt die Paritätsplatte häufiger aus.

Wegen der fest definierten Paritätsplatte bei RAID 4 wird stattdessen fast immer RAID 5 bevorzugt.

Eine Ausnahme bildet ein Systemdesign, bei dem die Lese- und Schreiboperationen auf ein NVRAM erfolgen. Das NVRAM bildet einen Puffer, der die Übertragungsgeschwindigkeit kurzfristig erhöht, die Lese- und Schreiboperationen sammelt und in sequenziellen Abschnitten auf das RAID-4-Plattensystem schreibt. Dadurch werden die Nachteile von RAID 4 vermindert, und die Vorteile bleiben erhalten.

NetApp nutzt RAID 4 in ihren NAS-Systemen, das verwendete Dateisystem WAFL wurde speziell für den Einsatz mit RAID 4 entworfen. Da RAID 4 nur bei sequentiellen Schreibzugriffen effektiv arbeitet, verwandelt WAFL wahlfreie Schreibzugriffe (random writes) im NVRAM-Cache in sequentielle – und merkt sich jede einzelne Position für den späteren Abruf. Beim Lesen tritt allerdings das klassische Fragmentierungsproblem auf: Zusammengehörige Daten stehen nicht notwendigerweise auf physisch hintereinanderliegenden Blöcken, wenn sie im nachhinein aktualisiert bzw. überschrieben wurden. Die verbreitetste Beschleunigung von Lesezugriffen, der cache prefetch, ist daher ohne Wirkung. Die Vorteile beim Schreiben ergeben somit einen Nachteil beim Lesen. Das Dateisystem muss dann regelmäßig defragmentiert werden.

RAID 6: Redundanz über zwei zusätzliche Festplatten

RAID Level 6

RAID 6 (unter diversen Handelsnamen angeboten, z.B. Advanced Data Guarding) funktioniert ähnlich wie RAID 5, verkraftet aber den gleichzeitigen Ausfall von bis zu zwei Festplatten. Insbesondere beim intensiven Einsatz hochkapazitiver SATA/IDE Festplatten kann die Wiederherstellung der Redundanz nach einem Plattenausfall viele Stunden bis hin zu Tagen dauern, währenddessen kein Schutz gegen einen weiteren Ausfall besteht.

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.

Für alle RAID-6-Implementierungen gilt gemeinsam: Der Performance-Malus bei Schreiboperationen (Write Penalty) ist bei RAID 6 etwas größer als bei RAID 5, die Leseleistung ist bei gleicher Gesamtplattenzahl geringer (eine Nutzdatenplatte weniger), bzw. der Preis pro nutzbarem Gigabyte verteuert sich um eine Festplatte je RAID Verbund, also im Schnitt um ein Siebtel bis zu einem Fünftel. Ein RAID-6-Verbund benötigt mindestens vier Festplatten.

RAIDn

Bei RAIDn handelt es sich um eine Entwicklung der Inostor Corp., einer Tochter von Tandberg Data. RAIDn hebt die bisher starre Definition der RAID-Level auf.

Dieses RAID wird definiert durch die Gesamtzahl der Festplatten (n) sowie die Anzahl der Festplatten, die ohne Datenverlust ausfallen dürfen (m). Als Schreibweise hat sich RAID(n,m) oder RAID n+m eingebürgert.

Aus diesen Definitionen können die Kenndaten des RAID wie folgt berechnet werden:

  • Lesegeschwindigkeit = n × Lesegeschwindigkeit der Einzelplatte
  • Schreibgeschwindigkeit = (n − m) × Schreibgeschwindigkeit der Einzelplatte
  • Kapazität = (n − m) × Kapazität der Einzelplatte

Einige spezielle Definitionen wurden wie folgt festgelegt:

  • RAID(n,0) entspricht RAID 0
  • RAID(n,1) entspricht RAID 5
  • RAID(n,2) entspricht RAID 6

RAID DP

RAID DP

RAID DP (double 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 Systemes gegenüber einer Single-Paritätslösung (also z. B. RAID 4 oder RAID 5) um das 2000- bis 4000-fache (je nach RAID-Set-Größe) 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.

P_1 = \operatorname{xor} \left(A_1, B_1, C_1 \right)
P_2 = \operatorname{xor} \left(A_2, B_2, C_2 \right)
P_3 = \operatorname{xor} \left(A_3, B_3, C_3 \right)
\dots
Q_1 = \operatorname{xor} \left(P_1, A_2, B_3, 0 \right)
Q_2 = \operatorname{xor} \left(P_2, A_3, 0, C_1 \right)
Q_3 = \operatorname{xor} \left(P_3, 0, B_1, C_2 \right)
Q_4 = \operatorname{xor} \left(P_4, A_5, B_6, 0 \right)
\dots

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.

Details zu RAID DP können in der USENIX Veröffentlichung Row-Diagonal Parity for Double Disk Failure Correction [3] gefunden werden.

RAID DP erfüllt den SNIA RAID-6-Standard.

RAID-Kombinationen

Obwohl die RAID-Level 0, 1 und 5 die weitaus größte Verwendung finden, existieren neben den Leveln 0 bis 6 noch „RAID-Kombinationen“. Hier wird ein RAID nochmals zu einem zweiten RAID zusammengefasst. Beispielsweise können mehrere Platten zu einem parallelen RAID 0 zusammengefasst werden und aus mehreren dieser RAID-0-Arrays z. B. ein RAID-5-Array gebildet werden. Man bezeichnet diese Kombinationen dann etwa als RAID 05 (0+5). Umgekehrt würde ein Zusammenschluss von mehreren RAID-5-Arrays zu einem RAID-0-Array als RAID 50 (oder RAID 5+0) bezeichnet werden. Auch RAID-1- und RAID-5-Kombinationen sind möglich (RAID 15 und RAID 51), die beliebtesten Kombinationen sind allerdings das RAID 01, bei dem je zwei Platten parallel arbeiten und dabei von zwei anderen Platten gespiegelt werden (insgesamt vier Platten), oder RAID 10, bei dem zwei Platten gespiegelt werden und dabei um zwei weitere gespiegelte Platten zu einem Ganzen ergänzt werden.

Selten werden RAIDs auch mit mehr Layern zusammengefasst (z. B. RAID 100).

RAID 00

Ein RAID-00-Verbund bildet ein großes RAID 0 (Upper-Level) aus mehreren kleinen RAID 0 (Lower Level). Die Eckdaten entsprechen dem RAID 0, allerdings werden mindestens vier Festplatten benötigt. Entwickelt wurde RAID 00 von IBM.

RAID 01

RAID 0+1
RAID 0+1 mit 3 Platten

Ein RAID-01-Verbund ist ein RAID 1 über mehrere RAID 0. Es werden dabei die Eigenschaften der beiden RAIDs kombiniert: Sicherheit (evtl. geringer als beim RAID 10) und gesteigerter Datendurchsatz.

Häufig wird behauptet, ein RAID-01-Verbund benötige mindestens vier Festplatten. Dies ist nicht ganz richtig. Mindestens vier (oder genereller: eine gerade Anzahl von) Festplatten werden nur für die klassischen RAID-01-Verbunde benötigt. Aber auch mit nur drei Festplatten lässt sich auf vielen RAID-Controllern ein RAID-01 bilden. Die Platten werden dabei jeweils zu 50 % mit Nutzdaten belegt, die übrigen 50 % jeder Platte enthalten eine Kopie der Nutzdaten einer der anderen Platten. Die Nutzdaten sowie die gespiegelten Daten werden verteilt (striped). Bei drei Platten sieht das so aus:

Platte A: 50 % Nutzdaten + 50 % Spiegelung Nutzdaten Platte C

Platte B: 50 % Nutzdaten + 50 % Spiegelung Nutzdaten Platte A

Platte C: 50 % Nutzdaten + 50 % Spiegelung Nutzdaten Platte B

Die Nutzdaten werden dabei ebenso wie die gespiegelten Daten RAID-0-typisch über die Platten A, B und C verteilt (striped). Bei Ausfall einer Platte sind immer noch alle Daten vorhanden.

RAID 10

RAID 10

Ein RAID-10-Verbund ist ein RAID 0 über mehrere RAID 1. Es werden dabei die Eigenschaften der beiden RAIDs kombiniert: Sicherheit und gesteigerte Schreib-/Lesegeschwindigkeit.

Ein RAID-10-Verbund benötigt mindestens vier Festplatten.

Während die RAID-1-Schicht einer RAID-0+1-Implementation nicht in der Lage ist, einen Schaden in einem untergeordneten RAID 0 differenziert den einzelnen Festplatten zuzuordnen, bietet RAID 10 gegenüber RAID 0+1 eine bessere Ausfallsicherheit und schnellere Rekonstruktion nach einem Plattenausfall, da nur ein Teil der Daten rekonstruiert werden muss. Auch hier hat man – wie bei RAID 0+1 – nur die Hälfte der gesamten Festplattenkapazität zur Verfügung.

RAID 03

RAID 03

RAID 03 ist gleichwertig mit RAID 30.

RAID 05

Ein RAID-05-Verbund besteht aus einem RAID-5-Array, das aus mehreren striped RAID 0 besteht. Er benötigt mindestens 6 Festplatten. Bei RAID 05 besteht doppeltes Risiko im Vergleich zu einem herkömmlichen RAID 5 aus Einzelplatten, da bei einem RAID 0 schon beim Defekt eines Laufwerkes alle Daten verloren sind.

RAID 1.5

Die Firma Highpoint entwickelte zusätzlich noch das RAID 1.5, nicht zu verwechseln mit RAID 15. Es stellt eine Kombination von RAID 0 und RAID 1 dar, die schon mit nur 2 Festplatten verwendet werden kann. Dabei werden 2 Platten in einfacher Geschwindigkeit wie bei RAID 1 gespiegelt beschrieben, während beim Lesen beide Platten mit hohem Datendurchsatz wie bei RAID 0 genutzt werden.

Clevere RAID-1-Implementationen wie die unter Linux und Solaris lesen bereits im RAID-1-Modus von allen Platten, sodass RAID 1.5 keinen Extra-Vorteil bietet.

RAID 15

Das RAID-15-Array wird gebildet, indem man mindestens drei RAID-1-Arrays als Bestandteile für ein RAID 5 verwendet; es ist im Konzept ähnlich wie RAID 10, außer dass das Striping mit einer Parität erfolgt.

Bei einem Acht-Festplatten-RAID-15 dürfen bis zu drei beliebige Platten gleichzeitig ausfallen (insgesamt bis zu fünf, sofern zwei der Platten zu einem gemeinsamen Mirrorset gehören).

Ein RAID-15-Verbund benötigt mindestens sechs Festplatten.

Der Datendurchsatz ist gut, aber nicht sehr hoch. Die Kosten sind mit denen anderer RAID-Systeme nicht direkt vergleichbar, dafür ist das Risiko des eines kompletten Datenverlustes recht gering.

RAID 1E

RAID 1E

Beim RAID 1E werden einzelne Datenblöcke auf die jeweils nächste Festplatte gespiegelt. Es dürfen hierbei weder zwei benachbarte noch die erste und die letzte Festplatte gleichzeitig ausfallen. Für ein RAID 1E wird immer eine ungerade Anzahl von Festplatten benötigt. Die nutzbare Kapazität reduziert sich um die Hälfte.
Es gibt allerdings noch andere Versionen von RAID 1E, die flexibler sind als die hier dargestellte Variante.

RAID 1E0

RAID 1E0

Bei einem RAID 1E0 werden mehrere RAID 1E mit einem RAID 0 zusammengeschaltet. Die maximale Anzahl der redundanten Platten und die Nettokapazität entspricht dem zugrundeliegenden RAID 1E.

RAID-30-Verbund

RAID 30

RAID 30 wurde ursprünglich von AMI entwickelt. Es stellt eine striped Variante von RAID 3 dar (das heißt ein RAID 0, welches mehrere RAID 3 zusammenfasst).

Ein RAID-30-Verbund benötigt mindestens sechs Festplatten (zwei Legs mit je drei Festplatten). Es darf eine Festplatte in jedem Leg ausfallen.

RAID-45-Verbund

Ein RAID-45-Verbund fasst, ähnlich dem RAID 55, mehrere RAID 4 mit einem RAID 5 zusammen. Man benötigt hierfür mindestens drei RAID-4-Legs zu je drei Festplatten und damit neun Festplatten. Bei neun Festplatten sind nur vier Festplatten nutzbar, das Verhältnis verbessert sich allerdings mit der Anzahl der verwendeten Festplatten. RAID 45 wird daher nur in großen Festplattenverbänden eingesetzt. Die Datensicherheit ist sehr hoch, da mindestens drei beliebige Festplatten, zusätzlich eine Festplatte in jedem Leg und dazu noch ein komplettes Leg ausfallen dürfen.

RAID-50-Verbund

Ein RAID-50-Verbund besteht aus einem RAID-0-Array, das aus mehreren striped RAID 5 besteht.

Ein RAID-50-Verbund benötigt mindestens sechs Festplatten, beispielsweise zwei RAID-5-Controller mit jeweils drei Platten pro Controller zusammengeschaltet mit einem Software-Stripe RAID 0. Das garantiert einen sehr hohen Datendurchsatz beim Schreiben und Lesen, da die Rechenarbeit auf zwei XOR-Units verteilt wird.

Ein RAID-50-Verbund wird bei Datenbanken verwendet, wo Redundanz und Schreibdurchsatz im Vordergrund stehen.

RAID 51

RAID 51

Der RAID-51-Verbund wird ähnlich wie RAID 15 gebildet, indem man die gesamte Reihe eines RAID 5 spiegelt, und ist ähnlich zu RAID 01, abgesehen vom Paritätsschutz.

Bei einem Acht-Festplatten-RAID-51 dürfen bis zu drei beliebige gleichzeitig ausfallen. Darüber hinaus dürfen fünf Festplatten ausfallen, solange keine aus dem gespiegelten RAID-5-Verbund betroffen sind.

Ein RAID-51-Verbund benötigt mindestens sechs Festplatten.

Die Datenübertragungs-Leistung ist gut, aber nicht sehr hoch. Die Kosten sind mit denen anderer RAID-Systeme nicht direkt vergleichbar.

RAID 53

RAID 53 ist eine in der Praxis gängige Bezeichnung für ein RAID 30.

RAID 55

Der RAID-55-Verbund wird ähnlich wie RAID 51 gebildet, indem mehrere RAID 5-Systeme über ein weiteres RAID 5 zu einem RAID 55 zusammengeschaltet werden. Im Gegensatz zu RAID 51 ist der Overhead geringer, und es ist möglich, schneller die Daten zu lesen.

Bei einem Neun-Festplatten-RAID-55-System dürfen bis zu drei beliebige Festplatten gleichzeitig ausfallen. Darüber hinaus dürfen fünf Festplatten ausfallen. Ein RAID-55-Verbund benötigt mindestens neun Festplatten (drei Legs zu je drei Festplatten). Die Datenübertragungs-Geschwindigkeit ist gut, aber nicht sehr hoch. Die Kosten sind mit denen anderer RAID-Systeme nicht direkt vergleichbar.

RAID 5E

RAID 5E

RAID 5E ist die Abkürzung für RAID 5 Enhanced. Es kombiniert ein RAID 5 mit einem Hot-Spare. Der Hot-Spare wird dabei allerdings nicht als getrenntes Laufwerk ausgeführt, sondern auf die einzelnen Platten aufgeteilt. Anders ausgedrückt wird auf jeder Platte Speicherplatz für den Fall eines Ausfalles reserviert. Sollte eine Festplatte ausfallen, wird der Inhalt dieser Platte im freien Speicherplatz mit Hilfe der Parität wiederhergestellt, und das Array kann als RAID 5 weiterbetrieben werden.

Der Vorteil liegt nicht in einer gesteigerten Sicherheit gegenüber RAID 5, sondern in der höheren Geschwindigkeit durch ständige Nutzung aller vorhandenen Plattenspindeln, inklusive der üblicherweise leer mitlaufenden Hot-Spare-Platte.

Die Technik wird schon lange bei IBM für RAID-Controller eingesetzt, jedoch immer mehr durch RAID 5EE ersetzt.

RAID 5EE

RAID 5EE

RAID 5EE arbeitet ähnlich wie RAID 5E. Allerdings wird hierbei der freie Speicherplatz nicht am Ende der Festplatten reserviert, sondern ähnlich der RAID-5-Parität über die Platten diagonal verteilt. Dadurch bleibt beim Ausfall eine höhere Übertragungsgeschwindigkeit bei der Wiederherstellung der Daten.

Es ist aber anzumerken, dass mittlerweile IBM selbst vom Einsatz von RAID 5EE abrät. Im Fall eines Ausfalls einer Platte sind bei etlichen Kunden nicht wiederherstellbare Partitionen zurückgeblieben. Einzig das Neuaufsetzen des RAID löst dieses Problem.

RAID 5DP und RAID ADG

RAID 5DP ist die von Hewlett Packard verwendete Bezeichnung der Implementierung für RAID 6 in den Speicher-Systemen der VA-Baureihe. Durch die Übernahme von Compaq AG durch Hewlett Packard ging die für die durch Compaq entwickelte RAID-6-Variante RAID ADG für die Compaq Smart Arrays ebenfalls in das geistige Eigentum von Hewlett Packard über. Das Akronym ADG steht hier für Advanced Data Guarding.

RAID-60-Verbund

Ein RAID-60-Verbund besteht aus einem RAID-0-Array, welches mehrere RAID 6 kombiniert. Hierzu sind mindestens zwei Controller mit je vier Festplatten, also gesamt acht Festplatten, notwendig. Prinzipiell skalieren sich die Unterschiede von RAID 5 und RAID 6 hoch auf die Unterschiede zwischen RAID 50 und RAID 60: Der Durchsatz ist geringer, während die Datensicherheit höher ist. Der gleichzeitige Ausfall von zwei beliebigen Laufwerken ist jederzeit ohne Datenverlust möglich; weitere Ausfälle sind nur dann unkritisch, wenn maximal zwei Platten je gestriptem RAID 6 betroffen sind.

Matrix-RAID

Matrix-RAID

Ab der Intel ICH6R-Southbridge ist seit etwa Mitte 2004 erstmals eine Technik integriert, die als „Matrix-RAID“ vermarktet wird und die Idee von RAID 1.5 aufgreift. Sie soll die Vorteile von RAID 0 und RAID 1 auf nur zwei Festplatten vereinen. Jede der beiden Platten wird vom Controller zu diesem Zweck in zwei Bereiche aufgeteilt. Ein Bereich wird dann auf die andere Festplatte gespiegelt, während im verbleibenden Bereich die Daten auf beide Platten aufgeteilt werden. Man kann dann z. B. im aufgeteilten Bereich sein „unwichtiges“ Betriebssystem und Programme installieren, um von RAID 0 zu profitieren, während man im gespiegelten Bereich dann seine wichtigen Daten abspeichern kann und auf die Redundanz von RAID 1 vertrauen kann. Im Falle eines Plattencrashes müsste man dann nur sein Betriebssystem und Programme neu aufspielen, während die wichtigen Daten im anderen Festplattenbereich erhalten bleiben.

Mit mehreren Festplatten kann man in einem Matrix-RAID auch andere RAID-Typen einsetzen und beispielsweise ab drei Festplatten eine Partition als RAID 5 betreiben.

RAID S bzw. Parity RAID

RAID S bzw. Parity RAID, manchmal auch als RAID 3+1 bzw. RAID 7+1 bezeichnet, ist ein proprietäres striped Parity RAID des Herstellers EMC. Ursprünglich nannte EMC diese Form RAID S bei den Symmetrix-Systemen. Seit dem Marktauftritt der neuen Modelle DMX heißt diese RAID-Variante Parity-RAID. Inzwischen bietet EMC auch Standard-RAID-5 an. Laut Angaben von EMC dürfen bei Parity-RAID bis zu zwei Festplatten ausfallen.

RAID S stellt sich wie folgt dar: Ein Volume ist jeweils auf einem physischen Laufwerk, mehrere Volumes (meistens drei bzw. sieben) werden willkürlich zu Paritätszwecken kombiniert. Dies ist nicht mit RAID 5 zu verwechseln.

Eine Parity RAID 3+1 beinhaltet drei Daten Volumes und ein Paritätsvolume. Hiermit ist eine Nutzung von 75 % der Kapazität möglich. Beim Parity RAID 7+1 hingegen sind sieben Datenvolumes und ein Paritäts-Volume vorhanden. Hiermit ist jedoch bei geringerer Ausfallsicherheit eine Nutzung von 87,5 % der Kapazität möglich.

Darüber hinaus bietet EMC noch als Option für diese RAID-Varianten die Hypervolume Extension (HVE) an. HVE erlaubt mehrere Volumes auf demselben physischen Laufwerk.

EMC EMC
parity RAID parity RAID mit HVE
A1 B1 C1 pABC A B C pABC
A2 B2 C2 pABC D E pDEF F
A3 B3 C3 pABC G pGHI H I
A4 B4 C4 pABC pJKL J K L

Hinweis: A1, B1, etc. stellen einen Datenblock dar; jede Spalte stellt eine Festplatte dar. A, B, etc. sind gesamte Volumes.

RAID TP bzw. RAID Triple Parity

RAID TP bzw. RAID Triple Parity ist ein proprietäres RAID mit dreifacher Parität vom Hersteller easyRAID. Laut Herstellerangaben können bei RAID TP bis zu drei Festplatten ausfallen.

Die Datenblöcke und die Paritäten werden parallel jeweils auf die einzelnen physischen Festplatten geschrieben. Die drei Paritäten werden auf verschiedene Stripes auf unterschiedlichen Platten abgelegt. Der RAID-Triple-Parity-Algorithmus benutzt einen speziellen Code mit einem Hamming-Abstand von mindestens 4.

RAID TP bzw. RAID Triple Parity
A1 B1 pP(A1B1) pQ(A1B1) pR(A1B1)
C1 pP(C1D1) pQ(C1D1) pR(C1D1) D1
pP(E1F1) pQ(E1F1) pR(E1F1) E1 F1
A2 B2 pP(A2B2) pQ(A2B2) pR(A2B2)
C2 pP(C2D2) pQ(C2D2) pR(C2D2) D2
pP(E2F2) pQ(E2F2) pR(E2F2) E2 F2

Hinweis: A1, B1, etc. stellen einen Datenblock dar; jede Spalte stellt eine Festplatte dar. A, B, etc. sind gesamte Volumes.

Hierzu benötigt man mindestens vier Festplatten. Die Kapazität errechnet sich aus Festplattenanzahl minus drei.

RAID-Z im Dateisystem ZFS

Ein von Sun Microsystems im Dateisystem ZFS integriertes RAID, ähnlich dem Aufbau von RAID 5. Gegenüber einem RAID-5-Array ist RAID-Z gegen Synchronisations-Probleme („write hole“) geschützt. Der Begriff write hole bezeichnet eine Situation, die bei Schreibzugriffen entsteht, wenn die Daten bereits auf die Festplatten geschrieben wurden, die dazugehörige Paritätsinformation aber noch nicht. Sollte während dieses Zustands ein Problem beim Berechnen oder Schreiben der Paritätsinformation auftreten, passen diese nicht mehr zu den gespeicherten Datenblöcken.

Zusammenfassung

  • Anzahl der Festplatten
    Die Anzahl der Festplatten n gibt an, wieviele Festplatten benötigt werden, um das jeweilige RAID aufzubauen.
  • Nettokapazität
    Die Nettokapazität k gibt die nutzbare Kapazität in Abhängigkeit von der Anzahl der verwendeten Festplatten n an. Dies entspricht der Anzahl der benötigten Festplatten ohne RAID, die die gleiche Speicherkapazität aufweisen.
  • Ausfallsicherheit
    Die Ausfallsicherheit S gibt an, wieviele Festplatten ausfallen dürfen, ohne dass ein Datenverlust auftritt. Zu beachten ist, dass es insbesondere bei den Kombinations-RAIDs einen Unterschied geben kann zwischen der Anzahl der Festplatten, die auf jeden Fall ausfallen können (Smin), und der Anzahl der Festplatten, die im günstigsten Fall ausfallen können (Smax). Es gilt immer S_{min}\leq S_{max} und für Standard-RAIDs sind diese beiden Werte identisch.
  • Leg
    Ein Leg (englisch für Bein) oder lower level RAID ist ein RAID-Array, welches mit anderen gleichartigen Legs über ein übergeordnetes RAID-Array (upper level RAID) zusammengefasst wird. Hierbei ist in unten stehender Tabelle i die Anzahl der Festplatten in einem Leg und j die Anzahl der Legs im übergeordnetem Array (sofern das RAID tatsächlich kombiniert ist).
Übersicht über die Standard-RAIDs
RAID n (Anzahl der Festplatten) k (Nettokapazität) S (Ausfallsicherheit) Leseperformance Schreibperformance
0 \geq 2 n keine (0)
1 \geq 2 1 n − 1 () siehe Text
2 \geq 3 n - \lceil log_2 n \rceil 1
3 n − 1
4
5
6 \geq 4 n − 2 2
DP \geq 3

Anmerkung: Die RAIDs 3 und 4 können prinzipiell auch mit 2 Festplatten benutzt werden, allerdings erhält man dann exakt die gleiche Datensicherheit wie mit RAID 1 bei der gleichen Anzahl Festplatten. Dabei ist aber RAID 1 technisch einfacher und würde in dem Fall immer bevorzugt werden. Dasselbe trifft für übergeordnete Arrays oder Legs in Kombinations-RAIDs zu.

Übersicht über die Kombinations-RAIDs
RAID n (Anzahl der Festplatten) k (Nettokapazität) S (Ausfallsicherheit) Leseperformance Schreibperformance
00 \begin{alignat}{2} & \sum_{k=1}^j i_k \quad (i_k \ge 2\text{, }j \ge \ 2) \\ & \ge \ 4\end{alignat} n keine (0)
10 \begin{alignat}{2} & \ i \times j \quad (i \ge 2\text{, }j \ge \ 2) \\ & \ge \ 4\end{alignat} \frac{n}{2} Mindestens alle Geräte bis auf eines in einem Leg: Smin = i − 1, höchstens alle Geräte bis auf eines in jedem Leg: Smax = j(i − 1) = jij
0+1 Mindestens ein Gerät in jedem Leg bis auf einen. Smin = j − 1, höchstens alle Geräte in jedem Leg bis auf einen: Smax = (j − 1)i = jii
1E \begin{alignat}{2} & \ 2 \times i + 1 \quad (i \ge 1) \\ & \ge \ 3 \text{ (und ungerade)}\end{alignat} Mindestens ein Gerät: Smin = 1, höchstens jedes zweite Gerät (das erste und letzte sind auch Nachbarn): S_{max}=\frac{n-1}{2}
1E0 \begin{alignat}{2} & \ (2 \times i + 1) \times j \quad (i \ge 1 \text{, }j \ge \ 2) \\ & \ge \ 6\end{alignat} Mindestens ein Gerät: Smin = 1, höchstens jedes zweite Gerät (das erste und letzte sind auch Nachbarn) in jedem Leg: Smax = ji
1.5 \geq 2 1
Matrix-
RAID
Abhängig von der Aufteilung der Partitionen der Festplatten und vom verwendeten RAID für die redundante Partition Für die RAID-0-Partition: 0, für die redundante Partition: abhängig vom verwendeten RAID
15 \begin{alignat}{2} & \ i \times j \quad (i \ge 2 \text{, }j \ge \ 3) \\ & \ge \ 6\end{alignat} j − 1 Mindestens alle Geräte eines Legs und alle Geräte bis auf eines in einem anderen Leg: Smin = 2i − 1, höchstens alle Geräte eines Legs und alle Geräte bis auf eines in jedem anderen Leg: Smax = i + (j − 1)(i − 1) = i + jiij + 1 = jij + 1
51 \begin{alignat}{2} & \ i \times j \quad (i \ge 3 \text{, }j \ge \ 2) \\ & \ge \ 6\end{alignat} i − 1 Mindestens ein Gerät in jedem Leg und zusätzlich ein Gerät in jedem Leg bis auf einen: Smin = 2j − 1, höchstens alle Geräte in jedem Leg bis auf einen und ein Gerät in dem anderen Leg: Smax = (j − 1)i + 1 = jii + 1
55 \begin{alignat}{2} & \ i \times j \quad (i \ge 3 \text{, }j \ge \ 3) \\ & \ge \ 9\end{alignat} (i − 1)(j − 1) Mindestens das Minimum aus den Legs und den Geräten pro Leg: Smin = min(j,i), höchstens alle Geräte eines Legs und ein Gerät in jedem anderen Leg: Smax = i + j − 1
45
5E \geq 4 n − 2 1
5EE
30 (genannt 53) \begin{alignat}{2} & \ i \times j \quad (i \ge 3\text{, }j \ge \ 2) \\ & \ge \ 6\end{alignat} nj Mindestens ein Gerät: Smin = 1, höchstens ein Gerät pro Leg: Smax = j
5DP \geq 4 n − 2 2
ADG
S 3+1 4 \frac{3}{4}n 1
S 7+1 8 \frac{7}{8}n 1
TP \geq 4 n − 3 3

Anmerkung: Die für Smin angegebenen Fälle, welche Geräte genau ausfallen, dienen zur anschaulichen Darstellung. Die Werte geben lediglich an, dass in jedem beliebigen Fall genau diese Anzahl an Geräten ausfallen kann, ohne dass Daten verloren gehen. Die Angabe erhebt nicht den Anspruch darauf, dass in dem speziellen Fall nicht noch weitere Festplatten ohne Datenverlust ausfallen können.

Andere Begriffe

Cache

Der Cache-Speicher spielt bei RAID eine große Rolle. Grundsätzlich sind folgende Caches zu unterscheiden:

  • Betriebssystem
  • RAID-Controller
  • Enterprise Disk Array

Eine Schreib-Anforderung wird heute üblicherweise bereits quittiert, wenn die Daten im Cache angelangt sind und somit bevor die Daten tatsächlich permanent gespeichert wurden; weiterhin kann es vorkommen, dass der Cache nicht in der Reihenfolge bereinigend entleert wird, in der er gefüllt wurde; hierdurch kann eine Zeit entstehen in der bereits als gespeichert angenommene Daten durch einen Strom- oder Hardware-Ausfall verloren gehen können, was zu fehlerhaften Datei-Inhalten führen kann (etwa wenn das Datei-System von einer Verlängerung der Datei ausgeht, obwohl aber die entsprechenden Daten noch gar nicht geschrieben wurden). In Enterprise-Speichersystemen überlebt der Cache daher Resets. Der Schreib-Cache bringt einen Geschwindigkeitsgewinn, solange der Cache (RAM) nicht voll ist, oder solange die Schreib-Anforderungen in sub-optimaler Reihenfolge oder überlappend eingehen, da das Schreiben in den Cache schneller ist als das Schreiben auf Platte.

Der Lese-Cache ist heute in Datenbank-Anwendungen oft von großer Bedeutung, da hierdurch fast nur noch zum Schreiben auf das langsame Speichermedium zugegriffen werden muss.

Siehe auch: Cache, BBWC, NCQ, TCQ

SPAN

Von VIA wird in seiner RAID-Konfiguration unter anderem die Option SPAN angeboten. Sie dient zur Kapazitätserweiterung ohne Leistungsgewinn wie bei RAID 0 (Striping). Während bei RAID 0 die Daten gleichzeitig auf mehrere Festplatten verteilt werden, gelangen die Daten bei SPAN zusammenhängend auf eine Festplatte. Bei RAID 0 sollten nach Möglichkeit gleich große Festplatten verwendet werden, da die überschüssige Kapazität des größeren Datenträgers verloren geht. Bei SPAN sind unterschiedlich große Festplatten ohne Kapazitätsverlust zu einer großen Festplatte zusammenfassbar, und entspricht somit Linear Mode oder NRAID (s.o.).

JBOD

JBOD

JBOD bedeutet Just a Bunch Of Disks, also: Nur ein Haufen Festplatten. Der Begriff wird in der Praxis in Abgrenzung zu RAID-Systemen auf drei verschiedene Arten verwendet:

  1. Konfiguration eines RAID-Controllers mit mehreren Festplatten, die keinen Verbund bilden. Viele Hardware-RAID-Controller sind in der Lage, die angeschlossenen Festplatten dem Betriebssystem einzeln zur Verfügung zu stellen; die RAID-Funktionen des Controllers werden dabei abgeschaltet, und er arbeitet als einfacher Festplatten-Controller.
  2. Konfiguration eines RAID-Controllers als Aneinanderreihung („concatenation“) mehrerer Festplatten, die so als ein einziges Laufwerk erscheinen. Diese Konfiguration ist demnach identisch mit NRAID. Im Unterschied zu RAID 0 werden keine Stripesets gebildet. Die Platten, die auch von unterschiedlicher Größe sein können, werden einfach aneinandergehängt. Es gibt weder Ausfallsicherheit, noch Performancegewinn. Der Vorteil ist lediglich die Größe des Laufwerks. Von Nachteil ist die Tatsache, dass der Ausfall einer einzelnen Platte den gesamten Verbund beschädigt.
  3. Ein JBOD kann auch, unabhängig vom Controller, eine auf beliebige Arten an den Computer angeschlossene Anzahl von Festplatten bezeichnen. Mithilfe einer Volume Management Software kann ein solches JBOD zu einem Software-RAID zusammengeschaltet werden.

Drive Extender

Mit dem Drive Extender des Microsoft Windows Home Servers findet sich eine Art virtuelles RAID, das aber auf JBOD basiert. Neue Dateien landen in der Regel zunächst auf der Systemplatte (d:\shares\freigabe\, z. B. d:\shares\Software\), und werden dann erst später auf eine der anderen Festplatten (c:\fs\alphanum. zeichen, z. B. c:\fs\T) verschoben, hinterlassen aber einen Verweis (Tombstone), der vier kB Festplattenspeicher belegt. Der Benutzer kann dadurch arbeiten, als wenn der Server über eine einzige große Festplatte verfügen würde.

Stripe-Size

Die Stripe-Size bezeichnet die Größe des aus einem oder mehreren Datenblöcken bestehenden Datenbereichs (Striping-Granularität), der auf die RAID-Speichermedien verteilt wird. So wird bei einem aus vier Festplatten bestehenden Array mit einer Stripe-Size von 64 kB ein Datenblock in einer Größe von 16 kB auf jede Festplatte geschrieben. Bei einer Vergrößerung der Stripe-Size wächst der maximale Durchsatz, gleichzeitig erhöht sich aber die Zugriffszeit. Heute üblich sind Stripe-Größen von 2 kB bis 256 kB.

Chunk-Size

Die Chunk-Size bezeichnet den kleinsten Datenblock pro Schreibzugriff, der auf eine individuelle Festplatte geschrieben wird. So besitzt ein aus vier Festplatten bestehendes Array mit einer Chunk-Size von 64 kB eine Stripe-Size von 256 kB.

Hot Swapping

Hot Swapping ist die Möglichkeit, Festplatten im laufenden Betrieb auszutauschen. Dazu muss der Bus-Controller Hot-Plugging unterstützen (i. d. R. nur SCSI, SAS oder SATA). Damit es nicht zu Datenverlust führt, ist ein Austausch nur in Arrays mit redundanter Datensicherung möglich.

Hot-Spare-Laufwerk

RAID Level 5 mit Hot-Spare-Laufwerk

Das Hot-Spare-Laufwerk ist ein unbenutztes Reservelaufwerk. Fällt ein Laufwerk innerhalb des RAID-Verbundes aus, wird es durch das Reservelaufwerk ersetzt. Dadurch ist die Redundanz schnellstmöglich wiederhergestellt. Während der Rebuild-Phase hat man allerdings keine Redundanz. Zur Vermeidung dieses Problems kann ein RAID 6 oder RAID DP statt RAID 5 verwendet werden, da hier zwei Paritätsplatten vorhanden sind. Außerdem gibt es Speichersysteme, die intern ständig alle Plattenbereiche prüfen. Sollte ein Datenblock „dirty“ sein, so wird die Platte bis zu diesem Bereich kopiert, der Dirty-Block aus der Prüfsumme bzw. der Spiegelplatte rekonstruiert und dann weiter kopiert. Dadurch kann die Wiederherstellungszeit reduziert werden.

In größeren RAID-Systemen, in denen die Möglichkeit besteht, an einem RAID-Controller mehrere unterschiedliche RAID-Arrays einzurichten, gibt es darüber hinaus auch die Möglichkeit, dass ein Hot-Spare-Laufwerk entweder einem einzelnen RAID-Array oder einer Geräteeinheit (Shelf, Enclosure) zugeordnet ist oder für die Verwendung im gesamten RAID-System zur Verfügung steht. In diesem Fall spricht man dann von einem Local-Spare-Laufwerk oder auch Dedicated Hot-Spare-Laufwerk (bei Zuordnung zu einem bestimmten Array) oder einem Global-Spare-Laufwerk (wenn das Laufwerk für alle Arrays verwendet werden kann).

Drive Clone

Viele RAID-Controller bieten die Möglichkeit, auftretende Laufwerksfehler durch Medien-Tests oder den S.M.A.R.T.-Status frühzeitig zu erkennen. Wenn ein Laufwerk zu viele dieser meist korrigierbaren Fehler liefert, besteht die Möglichkeit, das betroffene Laufwerk schon vor dem endgültigen Ausfall zu ersetzen. Dazu kopiert der Controller alle vorhandenen Daten der einen Festplatte auf ein bisher unbenutztes Spare-Laufwerk. Beim Ausfall der original Festplatte verkürzt sich dadurch die Wiederherstellungszeit und damit auch die kritische Zeit für einen weiteren Ausfall auf ein Minimum.

RAIDIOS (RAID I/O Steering)

Zertifizierter Standard von Intel zur Verwendung der vorhandenen Anschlüsse. Es wird nur der fehlende I/O-Controller (mit 0 Kanälen) nachgerüstet. Kostengünstige und ökonomische Variante.

Siehe auch

Einzelnachweise

  1. Eduardo Pinheiro, Wolf-Dietrich Weber, Luiz André Barroso: Failure Trends in a Large Disk Drive Population. 5th USENIX Conference on File and Storage Technologies (FAST’07), Februar 2007
  2. Robin Harris: Why RAID 5 stops working in 2009, ZD Net Blog, 18. July 2007, [1]
  3. Usenix Publikation vom April 2004

Weblinks



Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • RAID — ist ein Akronym für engl. „Redundant Array of Independent Disks“, also „Redundante Anordnung unabhängiger Festplatten“ (ursprünglich engl. „Redundant Array of Inexpensive Disks“; deutsch „Redundante Anordnung kostengünstiger Festplatten“; was aus …   Deutsch Wikipedia

  • RAID (Informatique) — Pour les articles homonymes, voir Raid. En informatique, le mot RAID désigne une technologie permettant de stocker des données sur de multiples disques durs afin d améliorer, en fonction du type de RAID choisi, la tolérance aux pannes et/ou les… …   Wikipédia en Français

  • RAID 5 — RAID (informatique) Pour les articles homonymes, voir Raid. En informatique, le mot RAID désigne une technologie permettant de stocker des données sur de multiples disques durs afin d améliorer, en fonction du type de RAID choisi, la tolérance… …   Wikipédia en Français

  • Raid (Informatique) — Pour les articles homonymes, voir Raid. En informatique, le mot RAID désigne une technologie permettant de stocker des données sur de multiples disques durs afin d améliorer, en fonction du type de RAID choisi, la tolérance aux pannes et/ou les… …   Wikipédia en Français

  • Raid (informatique) — Pour les articles homonymes, voir Raid. En informatique, le mot RAID désigne une technologie permettant de stocker des données sur de multiples disques durs afin d améliorer, en fonction du type de RAID choisi, la tolérance aux pannes et/ou les… …   Wikipédia en Français

  • Raid 5 — RAID (informatique) Pour les articles homonymes, voir Raid. En informatique, le mot RAID désigne une technologie permettant de stocker des données sur de multiples disques durs afin d améliorer, en fonction du type de RAID choisi, la tolérance… …   Wikipédia en Français

  • RAID — This article is about the data storage technology. For other uses, see Raid (disambiguation). RAID, an acronym for Redundant Array of Independent Disks (originally Redundant Array of Inexpensive Disks),[1] is a storage… …   Wikipedia

  • RAID-1 — Der Begriff RAID steht für englisch redundant array of independent disks (deutsch: Redundante Anordnung unabhängiger Festplatten, ursprünglich: redundant array of inexpensive disks, deutsch: Redundante Anordnung kostengünstiger Festplatten, was… …   Deutsch Wikipedia

  • RAID-Verbund — Der Begriff RAID steht für englisch redundant array of independent disks (deutsch: Redundante Anordnung unabhängiger Festplatten, ursprünglich: redundant array of inexpensive disks, deutsch: Redundante Anordnung kostengünstiger Festplatten, was… …   Deutsch Wikipedia

  • RAID-Z — Der Begriff RAID steht für englisch redundant array of independent disks (deutsch: Redundante Anordnung unabhängiger Festplatten, ursprünglich: redundant array of inexpensive disks, deutsch: Redundante Anordnung kostengünstiger Festplatten, was… …   Deutsch Wikipedia