28.04.2011 (kfr)
4 von 5, (47 Bewertungen)

RAID-Level im Überblick

Mittlerweile lassen sich Festplatten mit mehr als nur fünf RAID-Leveln zum Schutz vor Datenverlust versehen. Anwender können wählen zwischen höchstem Schutz und bester Performance. Ein paar RAID-Klassen haben sich als meist genutzte durchgesetzt, wie RAID 1, 5 oder 6. Andere, wie 2, 4 oder 7, sind eher Exoten.

RAID steht für »Redundant Array of Inexpensive bzw. Independent Disks«. Ein Disk-Array ist eine Anzahl gewöhnlicher Festplatten, das im Verbund wie ein einziges großes Laufwerk arbeitet. Der Begriff RAID drückt aus, dass bei Ausfall einer Platte kein anderes Medium in seiner Funktion betroffen ist. Werden Daten auf ein Platten-Array geschrieben, wird gleichzeitig ein Fehlercode erzeugt und ebenfalls auf dem RAID abgelegt. Beschädigte Daten lassen sich mittels Fehlercode wiederherstellen. Während bei einzelnen Harddisks von MTBF (»Mean Time Between Failure«) gesprochen wird, handelt es sich bei RAID um MTBDL (»Mean Time Between Data Loss«). Der Ausfall einer einzelnen oder gar mehrerer Platten bleibt ohne Auswirkung und ist somit nicht mehr von Interesse. RAID-Klassen sorgen dafür, dass Daten nicht verloren gehen und die Serververfügbarkeit auch bei einem Harddisk-Ausfall gewährleistet bleibt.

Mittlerweile haben sich einige RAID-Level als meist genutzte herauskristallisiert, wie die Level 1, 5, 6 und 0. Andere wiederum sind eher in Vergessenheit geraten und kommen nicht so flächendeckend zum Einsatz. Dazu gehören 2,4 oder 7. Und RAID-Klassen sind nur in bestimmten Produkten integriert, wie beispielsweise »RAID X« in IBMs »XIV« oder »BeyondRAID« im »Drobo« von Data Robotics.

RAID 0 – Data-Striping

Eigentlich ist »RAID 0« kein RAID-Level, weil das Wichtigste fehlt: die Redundanz. Mindestens zwei Laufwerke werden zu einem logischen Verbund (Stripeset) zusammengefasst. Der Vorteil von RAID 0 liegt in der Belegung der
gesamten Kapazität mit produktiven Daten und im durch den parallelen Zugriff über mehrere Kanäle multiplizierten Datendurchsatz. Dieser lässt sich nur erzielen, wenn seriell gelesen oder geschrieben wird. Die zu schreibenden Daten erfahren eine Aufteilung in Blöcke, die dann paritätisch auf die einzelnen Laufwerke verteilt werden.

Die Gefahr des Datenverlustes verdoppelt sich mit dem Einsatz zweier Laufwerke für ein Stripeset und erhöht sich mit dem Hinzufügen jeder weiteren Festplatte. Sollte eines der beteiligten Laufwerke ausfallen, so sind auch die auf den anderen gespeicherten Daten nutzlos.

RAID 1 – Mirroring und Duplexing

»RAID 1« ist die Spiegelung (»Mirroring«, »Duplexing«) von zwei oder mehreren Festplatten. Damit wird gleichzeitig die höchste Schutzstufe mit dem geringsten Aufwand erreicht. Durch Schreiben der Daten auf zwei getrennte, physikalisch gleiche Laufwerke (oder Laufwerks-Verbunde) ist kein Rechenaufwand notwendig, weder beim Erzeugen noch bei der eventuell notwendigen Rekonstruktion. Diese erfolgt durch einfaches Kopieren der dann noch einfach vorhandenen Daten. Die meisten am Markt vorhandenen Controller unterstützen den Austausch fehlerhafter Festplatten im laufenden Betrieb (Hot-Swap) und damit eine unterbrechungsfreie Reparatur.

Ein RAID-1-Verbund lässt sich auf zwei Arten erzeugen. Beim Mirroring werden zwei Festplatten über denselben I/O-Kanal beschrieben, beim Duplexing geschieht dies über zwei getrennte Kanäle. Das heißt, dass der komplette Inhalt einer Harddisk auf ein anderes Laufwerk überspielt wird. Vom Standpunkt der Sicherheit ist diese Methode optimal. Allerdings auch sehr teuer, denn die Redundanz verbraucht 50 Prozent der vorhandenen Kapazität.

RAID 1E, RAID 1E0

Auf einer »RAID 1E« konfigurierten Plattengruppe werden Daten in kleinere Abschnitte zerlegt, geschrieben und dann auf den jeweils nächsten Datenträger gespiegelt. Ist die letzte Platte beschrieben, beginnt der Schreibvorgang wieder bei der ersten. Wie bei RAID  1 kann auf RAID 1E nur der halbe physikalische Speicherplatz genutzt werden. Datenverlust tritt hier auf, wenn zwei logisch aufeinanderfolgende oder die erste und letzte Platte zum selben Zeitpunkt ausfallen.

»RAID 1E0« verteilt die zu schreibenden Daten auf zwei oder mehr RAID-1E-Gruppen. Auch hier wird der nutzbare Speicherplatz auf die Hälfte der Physik reduziert, zwei nebeneinanderliegende oder die erste und letzte Platte dürfen nicht zusammen ausfallen, um Datenverlust zu vermeiden.

RAID 2 - Hamming Code ECC

»RAID 2« wird derzeit von keinem Hersteller am Markt unterstützt und bietet vor allem im Vergleich zu »RAID 5« ein unakzeptables Preis-/Leistungsverhältnis.

Ein RAID-2-Verbund besteht aus zwei oder mehr Datenplatten und einer oder mehr ECC-Platten (»Error Correction Code«). Jedes Bit eines Wortes wird verteilt auf die Datenplatten geschrieben, ein ECC nach dem Hamming-Algorithmus erzeugt und dieser auf die entsprechenden Platten abgelegt. Dadurch wird es möglich, »on the fly«, also bei jedem Lesezugriff, die Daten auf Integrität zu überprüfen und nötigenfalls sofort zu korrigieren. Da das Schreiben der Daten und des ECC über separate Kanäle auf getrennte Festplatten geschieht, sind dadurch extrem hohe Transferraten möglich. Allerdings lassen sich diese nur erreichen, wenn die einzelnen Platten synchronisiert werden und dies wiederum ist ein nicht zu rechtfertigender Aufwand.

RAID 3 – Data-Striping plus Parity

In »RAID 3«-Stripesets werden Blöcke über mindestens zwei Laufwerke verteilt, während Kontrollinformationen (»Parity«) auf einer separaten Festplatte gespeichert werden.
Bei »RAID 3« ist der Controller für die Berechnung der Kontrollinformationen zuständig. Diese werden bei jedem Schreibvorgang erzeugt und beim Lesen überprüft. Der dabei erstellte zusätzliche Index kommt ebenfalls auf das Parity-Laufwerk. Mit einem Rechenalgorithmus (XOR-Verknüpfung) ist es möglich, beim Ausfall einer Disk die fehlenden Daten zusammen mit der Prüfsumme zu rekonstruieren.

Die Daten bleiben in diesem Falle zwar 100-prozentig verfügbar, allerdings steht während der Rekonstruktionsphase nur eine sehr geringe Bandbreite zur Verfügung. Für das Rückrechnen und -schreiben arbeiten aktuelle Laufwerke derzeit mit einer Datenübertragung von circa fünf bis sieben GByte/h.

Die nutzbare Kapazität hängt bei RAID 3 von der Zahl der Laufwerke ab. Für die Kontrollinformationen ist insgesamt die Kapazität eines Einzellaufwerkes erforderlich. In einem RAID-3-System mit drei 146-GByte-Festplatten stehen demnach 292 GByte also 66,7 Prozent der Bruttokapazität zur Verfügung, bei vier Harddisks 438 GByte (entspricht 75 Prozent), bei fünf Drives 584 GByte (entspricht 80 Prozent).

Die meisten Controller lassen nur die Nutzung gleichartiger und gleich großer Festplatten zu. Manche Controller tolerieren auch unterschiedliche Disk-Typen, jedoch beschränkt sich die nutzbare Kapazität dann auf das kleinste am Kanal vorhandene Laufwerk. Beim Einsatz von drei 181-GByte- und zwei 146-GByte-Festplatten beträgt die verfügbare Kapazität insgesamt nur 584 GByte, da auf den großen Laufwerken auch nur 146 GByte genutzt werden.

RAID 3 findet heute kaum noch Verwendung, da durch die Erzeugung der Kontrollinformationen auf dieser Festplatte ein »Hot Spot« mit sehr hoher I/O-Rate entstehen kann. Darüber hinaus ist es nicht möglich, die Daten gleichmäßig über alle vorhandenen Laufwerke zu verteilen.

RAID 4 – Data plus Parity

Prinzipiell funktioniert »RAID 4« wie »RAID 3«. Die Blöcke werden hier allerdings nicht verteilt auf die Festplatten geschrieben, sondern in Gänze auf einem Laufwerk abgelegt. Auch verzichtet man auf das Synchronisieren der Festplattenköpfe, um die Nachteile von RAID 3 bei der Verarbeitung kleiner Dateien zu umgehen. Die Prüfsumme wird auf einem extra Laufwerk gespeichert. Speziell beim Schreiben kleiner File-Größen entpuppt sich das Parity-Drive als Flaschenhals. Bei jeder Schreiboperation muss zunächst die Checksumme errechnet, die Parity-Informationen auf dem Laufwerk gefunden und angesteuert werden. Vorteile bietet RAID 4 in Umgebungen, in denen vor allem Lesezugriffe anfallen. In der Praxis verwendete fast nur NetApp dieses Verfahren.

RAID 5 – Data- and Parity-Striping

Auch in »RAID 5«-Stripesets werden Daten und Kontrollinformationen (Parity) über mindestens drei Laufwerke verteilt. Diese Schutzklasse stellt den derzeit besten Kompromiss zwischen nutzbarer Kapazität, Leistung und Rekonstruktion der Daten dar.

Der Controller ist für die Berechnung der Kontrollinformationen zuständig, die bei jedem Schreibvorgang erzeugt und beim Lesen überprüft werden. Der dabei entstehende zusätzliche Index wird ebenfalls über alle Laufwerke verteilt. Die Parität wird durch eine Exklusiv-oder-Verknüpfung realisiert. Ein Laufwerk innerhalb des RAIDs darf vollständig ausfallen, ohne dass Daten verloren gehen. Das System kann weiterhin auf das Array und die Daten der fehlerhaften Platte zugreifen, weil ihre Daten aufgrund der Exklusiv-oder-Operation unter Zuhilfenahme der Parität aus den verbliebenen Platten errechnet werden können. Ansonsten verhält sich RAID 5 wie RAID 3, was die Rekonstruktion von Daten eventuell ausgefallener Festplatten und die dafür benötigte Zeit angeht.

RAID 5 stellt den besten Kompromiss zwischen Datenschutz, Verfügbarkeit und Leistung dar, da es keine Hot Spots durch die Verteilung der Kontrolldaten gibt und der Zugriff auf alle Festplatten gleichzeitig erfolgen kann. Für die Parität muss auch in größeren Umgebungen maximal die Kapazität eines Laufwerks »geopfert« werden.

RAID 6/RAID DP – Double-Parity

»RAID 6« stellt eine Erweiterung des »RAID 5«-Aufbaus dar. Während in einem RAID-5-Stripeset lediglich ein Satz an Kontrollinformationen abgelegt wird, sind dies im RAID 6 derer zwei. Dies kompensiert den Ausfall von bis zu zwei Laufwerken. Versagen bei RAID 5 gleichzeitig zwei Disk, sind die Daten hier nicht mehr zu rekonstruieren. Das Schreiben zweier Kontrollinformationssätze beugt diesem Katastrophenfall vor.

Diese Sicherheit muss allerdings mit einigen Nachteilen erkauft werden. Zunächst gilt für die Kapazität die Formel »n+2«. Das heißt, die nutzbare Kapazität beträgt beispielsweise bei vier Festplatten 50 Prozent, bei fünf Laufwerken 60 Prozent und bei sechs Drives 66,7 Prozent. Des Weiteren benötigt das Anlegen weiterer Kontrolldaten Bandbreite des Kanals und Rechenleistung des Controllers. Dies verringert im Vergleich zu RAID 5 die Gesamtleistung des Systems. Manche Hersteller haben daher begonnen, spezielle RAID-6-ASICs für Controller anzubieten, um die Leistung wieder an RAID 5 anzugleichen.

Netapp nutzt unter anderem den Begriffe »RAID DP«. Dieser beschreibt die Dual-Parity-Konfiguration, die sich auch mit RAID 5 verbinden lässt. Das heißt, es werden jeweils zwei Festplatten bzw. deren Kapazität für die Parity-Information genutzt.

RAID TP

Analog zu RAID DP mit doppelter Parität setzen manche Hersteller eine dritte Paritätspartition, das »RAID TP«, Triple Parity, in RAID-Gruppen ein. Diese verhindert Datenverlust selbst bei Ausfall dreier Datenträger pro RAID-Gruppe und ermöglicht so den Einsatz von mehr Platten pro Gruppe. Damit lassen sich Arrays noch kostengünstiger konfigurieren.

RAID 7

»RAID 7« ähnelt »RAID 5« und schreibt in Datenblöcken. Allerdings kommt hier in der Steuereinheit des RAID-Controllers ein lokales Echtzeitbetriebssystem zum Einsatz. Neben mehreren Pufferspeichern werden schnelle Datenbusse eingesetzt, die von der Datenübertragung entkoppelt sind. Dies führt zu einer deutlich schnelleren Übertragungsrate. In der Praxis ist RAID 7 aber eher unüblich - unter anderem wegen der hohen Kosten.

RAIDn

Das von RAID 6 verwendete Verfahren zur Generierung mehrfacher, unabhängiger Paritätsinformationen lässt sich grundsätzlich auch dazu nutzen, den Ausfall von nahezu beliebig vielen Disks aufzufangen. Derart aufgebaute Arrays bezeichnet man üblicherweise als »RAID n+m« oder »RAID (n,m)«. Dabei steht n für die Gesamtzahl der Platten im Verbund und m bezeichnet die Zahl der Laufwerke, die ohne Datenverlust ausfallen dürfen. Die Nutzkapazität des Arrays entspricht n-m Disks. Vorteil einer solchen Konfiguration: Die Ausfallsicherheit lässt sich gegenüber »RAID 5« weiter erhöhen, ohne die hohe Redundanz und damit die Kosten von Kombiverfahren wie »RAID 51« in Kauf nehmen zu müssen.

Eine industrielle Implementierung einer solchen Technik liefert Tandberg Data in seinen Netzwerk-Speichersubsystemen der »ValueNAS«-Serie aus. Hier kommen für die Generierung der zusätzlichen Paritätsinformationen allerdings keine Reed-Solomon-Codes zum Einsatz, sondern vom Tochter-Unternehmen Inostor patentierte, eigene Algorithmen. Bei »RAIDn« kann der Anwender die Anzahl der Laufwerke, die ausfallen können, frei definieren. Beim Einsatz von beispielsweise zehn Platten erlaubt RAIDn, die Daten von beliebig ausfallenden Laufwerken mit nur drei Reserveplatten vollständig zu rekonstruieren. Bei gleichem Hardware-Einsatz stehen gegenüber RAID 51 sieben anstatt vier nutzbarer Disks zur Verfügung. Die Kosten für die Datensicherheit verringern sich laut Tandberg entsprechend um 30 bis 50 Prozent.

RAIDn ist in Form einer in C geschriebenen Software-Library implementiert, die derzeit als (über insmod ladbares) Kernel-Modul für Linux vorliegt. Tandberg/Inostor zufolge könnte aber bei Bedarf auch auf andere Betriebssysteme portiert werden, wie etwa Sun »Solaris« oder auch Microsoft »Windows«.

RAID 10/RAID 0+1

Bei »RAID 10« bzw. »RAID 0+1« handelt es sich um eine Kombination der beiden RAID-Level 0 und 1. Bei RAID-10 werden die Daten zunächst wie bei RAID 1 auf zwei Laufwerke getrennt geschrieben und dann über die Laufwerke verteilt. Bei RAID 0+1 verhält es sich genau umgekehrt. Zuerst schreibt das System die Daten verteilt auf die Disks und spiegelt dann erst. Die Reihenfolge dieser Vorgänge ist dabei nicht von Belang und nur abhängig vom verwendeten Controller.

Beide Varianten bieten Datensicherheit auf höchstem Performance-Niveau. Für den Aufbau werden jedoch mindestens vier Platten gleichen Typs benötigt. Dies macht aber nur wirklich Sinn, wenn die Geschwindigkeit absolute Priorität hat, denn nachdem die Hälfte der vorhandenen Kapazität zur Spiegelung benötigt wird, ist diese Kombination preislich eher unattraktiv.

Matrix RAID

Für Endverbraucher hat sich Intel eine preiswerte und flexible RAID-Lösung einfallen lassen – das so genannte »Matrix RAID«. Matrix RAID erlaubt die Mischung mehrerer RAID-Typen auf einer Laufwerksgruppe. So kann ein Abschnitt zweier Laufwerke in RAID 1, also als Spiegel aufgesetzt und zur Speicherung wichtiger und performanter Daten genutzt werden, während auf den verbleibenden Abschnitten die Daten lediglich in RAID 0, also gestriped aber ohne Sicherung abgelegt sind. Bei Verwendung von drei oder mehr Festplatten bietet sich zusätzlich auch die Belegung mit RAID-3- oder RAID-5-geschützten Abschnitten an.

Es werden nicht mehr physikalische Festplatten gestriped oder gespiegelt, sondern einzelne Partitionen auf mindestens zwei Laufwerke. So lassen sich beide Harddisks beispielsweise in jeweils zwei Partitionen einteilen, von denen dann zwei in ein RAID-0-Stripeset und zwei in eine RAID-1-Spiegelgruppe verwandelt werden. Die Verwaltung übernimmt ein von Intel eigens für PC-Mainboards entwickelter Chip, die Einrichtung geschieht über das BIOS-Setup des Rechners. So lassen sich beispielsweise wichtige Daten, das Betriebssystem und die Hauptanwendungen redundant abspeichern, während geschwindigkeitsrelevante Informationen von einem schnellen RAID 0 profitieren.

RAID 30

»RAID 30« wurde von AMI entwickelt und stellt die gestripte Variante von RAID 3 dar. Sie bietet Datensicherheit, einen hohen Durchsatz und empfiehlt sich zur sequentiellen Übertragung großer Dateien. RAID 30 benötigt mindestens sechs Festplatten und kommt in der Praxis nur sehr selten zum Einsatz.

RAID 50

»RAID 50« wurde von AMI entwickelt und ist die gestripte Version von RAID 5. Sie empfiehlt sich, wenn neben Datensicherheit und schnellen Zugriffszeiten auch eine hohe Transferrate benötigt wird. RAID 50 benötigt mindestens sechs Festplatten und kommt in der Praxis nur sehr selten zum Einsatz.

RAID 51

»RAID 51«, auch RAID 15 genannt, entspricht einem gespiegelten RAID 5. Die Geschwindigkeit gleicht die eines RAID-5-Arrays. Zwar erreicht diese Anordnung eine sehr hohe Datensicherheit, hat aber in der Praxis keinerlei Relevanz.

RAID X

Diese nicht standardisierte RAID-Technik wird ausschließlich auf dem von IBM vertriebenen XIV-Array genutzt. Hier gibt es keine eigentlichen RAID-Gruppen. Die zu speichernden Daten werden in ein GByte große Teile zerlegt, die die Maschine dann auf zwei unabhängigen Festplatten speichert. Beim Ausfall einer Platte steht immer noch die Kopie des Datenabschnittes auf einem anderen Datenträger zur Verfügung und lässt sich von dort wieder doppeln. Fällt während der Wiederherstellungsphase einer Festplatte allerdings ein weiteres Laufwerk aus, auf dem sich die Kopien der Abschnitte des vorher beschädigten Datenträgers befinden, sind diese Informationen unwiederbringlich vernichtet. Daher ist RAID X keine ideale Lösung für den Enterprise-Einsatz.

BeyondRAID

Diese Technologie wird ausschließlich auf den Drobo-Systemen der Firma Data Robotics eingesetzt. Bei der Entwicklung wurde vor allem auf Flexibilität und einfache Konvertierung zwischen Schutzklassen Wert gelegt. BeyondRAID agiert auf zwei Laufwerken wie RAID 1, auf drei oder mehr Laufwerken wie RAID 5, wobei hier die Besonderheit dabei liegt, dass im Gegensatz zu allen anderen RAID-Schutzklassen auch unterschiedlich große Datenträger in einer RAID-Gruppe verwendet werden können. Drobo-Systeme mit fünf Platten oder mehr unterstützen darüber hinaus auch doppelte Redundanz entsprechend RAID 6. Ebenfalls entgegen aller anderen RAID-Arten lassen sich BeyondRAID-Festplatten in anderen Drobo-Systemen selbst in anderer Reihenfolge ohne Datenverlust einsetzen.

JBOD

Bei der JBOD-Konfiguration werden einzelne Platten am RAID-Controller zur Serverseite auch als einzelne Laufwerke gemeldet. JBOD ist kein RAID-Level, wird aber von den meisten Controllern unterstützt.