RAID DP, NRAID und RAID^n
Der RAID-DP-Mode nutzt eine Kombination aus RAID 4 und einer Double-Parity-Prüfung. Diese Implementierung schützt wirkungsvoll das Storage-System auch wenn zwei Platten gleichzeitig ausfallen. Entwickelt wurde das proprietäre RAID DP von dem Storage-Spezialisten NetApp. Das Verfahren hat das Unternehmen in das WAFL-File-System (Write Anywhere File Layout) integriert. Im Vergleich zu herkömmlichen RAID-Modi soll dieses RAID-Verfahren durch die doppelte Parity-Bildung besonders zuverlässig arbeiten und dabei eine hohe Performance bieten. Darüber hinaus lässt sich RAID-DP auf herkömmlicher RAID-Hardware mit XOR-Engine sehr einfach implementieren.
Ähnlich wie bei RAID 4 oder RAID 5 bildet RAD DP seine Prüfsummen durch XOR-Verknüpfungen. Dabei nutzt das Verfahren im ersten Schritt die einzelnen horizontalen Datenpakete. Im zweiten Schritt verwendet RAID DP dann die diagonal liegenden Datenpakete, um per XOR-Algorithmus eine Prüfsumme zu berechnen. Diese Methode kann auch als eine Erweiterung des RAID 4 bezeichnet werden, da der Anwender einfach durch das Anschließen einer zusätzliche Prüfsummenplatte ans RAID 4 eine erhöhte Sicherheit des RAID DP erreichen kann – vorausgesetzt die Anwendung unterstützt das Vefahren. Die Daten des RAID-Sets bleiben dabei erhalten. Auch der umgekehrte Weg zurück zum RAID 4 ist durch die Entkopplung eines Prüfsummenlaufwerkes jederzeit möglich.
Die Unabhängigkeit der beiden Prüfsummen und somit die Datensicherheit ist nur gegeben, wenn eine bestimmte Anzahl von Festplatten zum Einsatz kommt. So müssen bei RAID DP die Datenplatten inklusive der horizontalen Prüfsummenplatte eine Primzahl ergeben. Will der Anwender eine beliebige Anzahl von Festplatten verwenden, wird der Algorithmus um virtuelle Datenträger, die keine Daten enthalten, bis auf das Primzahlenkriterium erweitert. Diese virtuellen Festplatten dienen dann nur als Platzhalter für das Rechenverfahren.
NRAID
Der Begriff NRAID bedeutet No RAID. Es bezeichnet die Konfiguration eines Storage-Systems, bei dem mehrere Festplatten zu einem einzigen Laufwerk “aneinandergereiht“ werden. Dabei spielt die Größe der Laufwerke keine Rolle. Diese Konfiguration wird im Allgemeinen auch als SPAN bezeichnet und stellt im Grunde genommen kein RAID-System dar. Denn damit lassen sich keine redundante Festplattenverbunde erstellen. NRAID verwenden Anwender häufig in der Praxis, um schnell und unkompliziert aus verschieden großen Festplatten einen großes Speicher aufzubauen, ohne dass spezielle Sicherheitsaspekte berücksichtigt werden.
Der Vorteil von NRAID liegt in der einfachen Handhabung. So entspricht die Größe des logischen NRAID-Laufwerks der Summe der Nettokapazitäten der einzelnen angeschlossenen Festplatten. Der Nachteil dieses Storage-Systems liegt in der Datensicherheit. Fällt eine Festplatte des logischen Laufwerks aus, so verliert das ganze System seine Datenintegrität und alle Daten sind verloren. Unter umständen können nur komplexe Rettungsverfahren mit speziellen Programmen die Daten wieder herstellen.
Zu beachte ist auch, dass die Ausfallwahrscheinlichkeit der “NRAID-Festplatte“ mit der Anzahl der angeschlossenen HDDs exponential steigt. Auch in Bezug auf Geschwindigkeit kann das NRAID nicht punkten, da die Daten erst so lange auf eine Festplatte geschrieben werden, bis diese voll ist und dann erst wird auf die nächste HDD gewechselt.
RAID^n
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 Platten aufzufangen. Eine ausführliche Abhandlung zu den theoretischen Grundlagen finden Sie bei Interesse in einem Papier der University of Tennessee.
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 Platten, 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 Implementation einer solchen Technik lieferte 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 von der Tandberg-Data-Tochter Inostor patentierte, eigene Algorithmen. Die resultierende Technologie bezeichnet Tandberg Data als RAID^n.
RAID^n ist in Form einer in C geschriebenen Software-Library implementiert, die derzeit als (über insmod ladbares) Kernel-Modul für Linux vorliegt. Laut Tandberg/Inostor kann sie aber bei Bedarf problemlos auch auf andere Betriebssysteme portiert werden, wie etwa Sun Solaris oder auch Microsoft Windows.
Implementation
Das von Inostor entwickelte Verfahren verwendet für jede n,m-Kombination einen eigenen Teilalgorithmus, wobei in der momentanen Implementation die Gesamtzahl der Platten n zwischen 4 und 32 liegen darf und die Anzahl der redundanten Disks m 2 oder 3 beträgt. Getestet hat Inostor das Verfahren darüber hinaus jedoch auch für alle Kombinationen (2 kleiner gleich m kleiner gleich n-2) für n kleiner gleich 21. Bei entsprechender Nachfrage von Kunden will man die Implementation entsprechend erweitern. Neben diesen RAID^n-Leveln unterstützt das Inostor-Modul auch die klassischen RAID-Varianten 0, 1, 10, 4 und 5.
Wie die untenstehende Tabelle zeigt, realisiert RAID^n gegenüber den herkömmlichen Verfahren bei gleicher Plattenanzahl stets wahlweise eine höhere Kapazität bei gleicher Ausfallsicherheit oder eine höhere Ausfallsicherheit bei gleicher Kapazität. Darf man Inostors (Tandbergs) Angaben hinsichtlich der Performance Glauben schenken, dann liegt auch diese stets zumindest gleich oder je nach Kombination sogar höher als bei den RAID-1- beziehungsweise RAID-5-Varianten.
RAID 1 | RAID 51 | RAID^n (10,3) | RAID (10,6)^n | RAID 55 | RAID (9,3)^n | RAID (9,5)^n | |
---|---|---|---|---|---|---|---|
Alle Angaben laut Inostor. (*) Geschwindigkeit als Faktor gegenüber einzelner Platte. (**) Lesegeschwindigkeit inklusive Parity. | |||||||
Anzahl Disks | 10 | 10 | 10 | 10 | 9 | 9 | 9 |
Nutzkapazität (Disks) | 5 | 4 | 7 | 4 | 4 | 6 | 4 |
Redundanz (Disks, Worst Case) | 1 | 3 | 3 | 6 | 3 | 3 | 5 |
Redundanz (Disks, Best Case) | 5 | 6 | 3 | 6 | 5 | 3 | 5 |
max. Geschwindigkeit, Lesen (*)(**) | 5 | 5 | 10 | 10 | 9 | 9 | 9 |
max. Geschwindigkeit, Schreiben (*) | 5 | 4 | 7 | 4 | 4 | 6 | 4 |