Neue RAID-Level im Überblick Doppelt gesichert Mit der Datenflut wachsen die Speichersysteme, die sie auffangen sollen. Mit deren Größe steigen aber auch die möglichen Folgen eines Ausfalls. Andererseits sind Lese- oder Schreibfehler und auch das komplette Versagen einer Disk nur eine Frage der Zeit. Einen Ausweg bieten Plattengruppen mit eingebauter Redundanz, wie sie die bekannten Parity-RAID-Verfahren erzeugen. Sie können den Ausfall einer einzelnen Disk kompensieren. Allerdings wird dabei selten bedacht, dass die klassischen RAID-Konfigurationen für Storage-Systeme heutiger Dimensionen keinen hinreichenden Schutz mehr gewähren. Stattdessen bieten sich neue Lösungen an. Marcus Schuster 1 www.linuxtechnicalreview.de Grundlagen MTTDL = MTTF (disk1) ⋅ MTTF (disk 2 ) N ⋅ ( N − 1) ⋅ MTTR(disk1) Für einen einzigen RAID-Verbund aus N Festplatten, der zwei beliebige Festplattenausfälle tolerieren kann, nimmt man an: MTTDL = MTTF (disk1) ⋅ MTTF (disk 2 ) ⋅ MTTF (disk 3) N ⋅ ( N − 1) ⋅ ( N − 2 ) ⋅ MTTR 2 (disk ) Einfache theoretische Modelle sehen alle Plattenausfälle als unabhängig voneinander an, und für die MTTF jeder Platte wird ein identischer Wert zugrunde gelegt. Dies führt üblicherweise zu sehr hohen MTTDL-Werten. Für eine praxisgerechtere Beurteilung sollte man allerdings davon ausgehen, dass Plattenausfälle korreliert auftreten. Insbesondere fallen Fest- Durchschnittliche Zeit bis zum Datenverlust (MTTDL) für einzelnen RAID5- und RAID6-Verbund in Abhängigkeit von Plattenanzahl ohne Berücksichtigung von Bitfehlern auf Datenbereich 10000 MTTDL in Jahren Die Behauptung, die hergebrachten und gut bekannten RAID-Level reichten heutzutage nicht mehr aus, klingt zunächst nach einer Übertreibung – doch ein Blick auf die Details macht klar, dass sie sich auf Tatsachen gründet. Betrachtet man etwa ein herkömmliches RAIDSet, das n Festplatten durch RAID-Level 5 zusammenfasst, dann offenbaren sich die prinzipiellen Schwächen klassischer Parity-RAID-Level, sobald eine Festplatte ausgefallen ist (DegradedZustand) oder eine ausgefallene Festplatte durch eine neue ersetzt wird (Rebuild-Zustand). In diesen beiden Betriebszuständen sind die Daten dieses RAID-Sets in erhöhtem Maße gefährdet: Weder darf eine zweite Festplatte ausfallen, noch darf bei der Rekonstruktion der ausgefallenen Platte oder bei anderen I/O-Prozessen ein einziger Sektor auf den verbliebenen Festplatten schadhaft oder unlesbar sein. Die Wahrscheinlichkeit für einen zweiten Plattenausfall hängt von der Gesamtzahl der Festplatten, ihrer durchschnittlichen Betriebsdauer bis zum Fehlerfall (MTTF, Mean Time to Failure) und der Zeitspanne ab, die die Wiederherstellung der ausgefallenen Platte benötigt. Die Wiederherstellungszeit (MTTR, Mean Time to Repair) beinhaltet den Austausch der Festplatte und die Rebuild-Dauer, die stark von der Einzelplattenkapazität und auch von der Auslastung des RAID-Systems abhängt. Eine Berechnungsgrundlage für die MTTDL (Mean Time to Data Loss) liefert [1]. Bei N Festplatten, die einen einzigen RAID-5-Verbund bilden, wird allgemein angenommen: 8000 6000 4000 2000 0 0 5 10 15 20 25 Plattenanzahl RAID5 (MTTDL: double disk failure) RAID6 (MTTDL: triple disk failure) Abbildung 1: Als Berechnungsgrundlage für dieses Beispiel diente: MTTF(disk1)=500000h, MTTF(disk2)=50000h, MTTF(disk3)=5000h, MTTR=48h. platten zu Beginn ihrer Betriebszeit oder nach langer Einsatzzeit mit einer höheren Wahrscheinlichkeit aus. Bei identischen Festplatten aus der gleichen Charge ist deshalb mit einer Häufung der Plattenausfälle nach langer Einsatzzeit zu rechnen. Zudem sind die Festplatten eines RAID-Systems ähnlichen Umgebungsbedingungen ausgesetzt. So wirken sich Einflüsse, wie Erschütterungen, Spannungsschwankungen, hohe Umgebungstemperaturen und allgemeine Alterungsprozesse, auf alle Platten des Verbundes in ähnlicher Weise aus. Diese Einflüsse lassen sich nur annäherungsweise abschätzen, indem man korrelierte Plattenausfälle durch von Ausfall zu Ausfall sinkende MTTF-Werte berücksichtigt. Für den Ausfall der ersten Platte lässt sich der MTTFWert des Datenblattwertes verwenden. Für jedes weitere Versagen sollte man dann beispielsweise einen um das Zehnfache geringeren MTTFWert berücksichtigen. Ein Berechnungsbeispiel zeigt Abbildung 1. Ist es auch nahezu unmöglich, ein reales System mit diesen Schätzwerten exakt zu beschreiben, so erhält man doch zumindest einen Eindruck, welchen Nutzen ein RAID-Level bietet, der auch den Ausfall zweier Festplatten toleriert. Eine weitere Gefährdung des Datenbestandes geht von Einzelbitfehlern oder defekten Plattensektoren aus. Während der Wiederherstellungszeit muss gewährleistet sein, dass auf den verbliebenen Festplatten alle Sektoren fehlerfrei zu bearbeiten sind. Das Risiko eines partiellen www.linuxtechnicalreview.de 2 Grundlagen Datenverlusts durch defekte Plattensektoren während eines Rebuild lässt sich ebenfalls abschätzen. Die Wahrscheinlichkeit ist abhängig von der Gesamtkapazität des RAID-Sets und der Bitfehlerwahrscheinlichkeit der verwendeten Festplatten. Bitfehlerwahrscheinlichkeiten geben die Festplattenhersteller in einem Größenordnungsbereich von 1:1014 bis 1:1015 an. Nimmt man eine unabhängige Wahrscheinlichkeit p für Bitfehler an, so errechnet sich eine Wahrscheinlichkeit b dafür, dass s Bit fehlerfrei zu lesen sind aus: b = (1 − p ) ergeben, nicht täuschen lassen, denn es besteht dabei immer noch ein Restrisiko von fünf Prozent innerhalb einer Betriebsdauer von fünf Jahren einen Datenverlust zu erleiden (Abbildung 3). Das Restrisiko ergibt sich aus der MTTDL und der Betriebsdauer t zu 1-R(t), wobei R(t) ein Maß für die Zuverlässigkeit (Reliability) ist und sich wie folgt aus der MTTDL berechnet: −t R( t ) = exp MTTDL Als Ausweg bleibt zunächst der Einsatz alternativer klassischer RAID-Level, wie beispielsweise RAID 10, RAID 30, RAID 40, RAID 50 – auf Kosten der Speicherplatzeffizienz. Mehrfache Plattenausfälle sind hier aber nur in bestimmten Plattenkombinationen tolerierbar. Allein wegen der wachsenden Festplattenanzahl und der steigenden Kapazität einzelner Platten gestaltet sich die Suche nach einem Kompromiss zwischen Verfügbarkeit, Fehlertoleranz und Speicherplatzeffizienz immer schwieriger. s Einen Eindruck vermittelt Abbildung 2. Es zeigt sich, dass eine Variation der Bitfehlerrate einer einzelnen Platte von nur einer Zehnerpotenz gravierende Auswirkungen bei großer Gesamtkapazität des RAID-Sets hat. Heute lassen sich unter Verwendung klassischer Parity-RAID-Level problemlos RAID-Sets von 5 TByte und mehr konfigurieren. Bei einer Bitfehlerwahrscheinlichkeit von 1:1014 bleibt ein Risiko von etwa 30 Prozent, durch defekte Sektoren inkonsistente Dateisysteme oder fehlerhafte Daten zu erhalten. Da sind Zweifel angebracht, ob die angestrebte Verfügbarkeit auf diese Weise tatsächlich zu erreichen ist. In Kombination mit dem Risiko doppelter Plattenausfälle oder datenzerstörender Ausfälle weiterer Komponenten des RAID-Systems wird die Zuverlässigkeit noch weiter minimiert. Man sollte sich durch MTTDL-Angaben von beispielsweise 100 Jahren, die sich bei entsprechenden Abschätzungen Eine nahe liegende Idee Die prinzipiellen Schwächen der klassischen RAID-Level erkannte die Forschung schon früh. Bereits der RAID-Level 2, der durch HammingCodes zumindest Bitfehler korrigieren kann, stellt einen ersten Ansatz dar, um diese Schwierigkeiten zu umgehen. Weitere Konzepte folgten bereits in den 90er Jahren [2]. Wegen der damals geringeren technischen Möglichkeiten oder wegen des geringeren Problemdrucks erwuchs daraus allerdings noch keine Implementierung. Bitfehlerwahrscheinlichkeit Ausfallwahrscheinlichkeit für eine Betriebsdauer von 5 Jahren 100% 45% 90% 40% 1:1013 80% Ausfallwahrscheinlichkeit Wahrscheinlichkeit Einzelbitfehler in Abhängigkeit von Gesamtkapazität eines RAID-Sets und angenommner Bitfehlerhäufigkeit einer einzelnen Festplatte 70% 60% 14 1:10 50% 40% 30% 20% 1:1015 10% 0% 0 5 10 15 20 25 30 Gesamkapazität (netto) in TB Abbildung 2: Bitfehlerwahrscheinlichkeiten für unterschiedliche Bitfehlerraten: Bereits relativ geringfügig höhere Werte wirken sich bei großen RAID-Sets dramatisch aus. 3 35% 30% 25% 20% 15% 10% 5% 0% 0 50 100 150 200 MTTDL in Jahren Abbildung 3: Der Zusammenhang zwischen MTTDL und Ausfallwahrscheinlichkeit: Ein fünfprozentiges Restrisiko für einen Datenverlust in den ersten fünf Jahren bleibt bestehen. www.linuxtechnicalreview.de Grundlagen Festplattenanzahl RAID-01, RAID-10 RAID-3, RAID-4, RAID-5 3 - 66,70% - 4 50% 75% 50% eine RAID-Level-Klasse, die über die Einzelheiten der verwendeten Algorithmen zunächst nichts aussagt. Konkrete Vertreter der RAIDn+2-Klasse sind beispielsweise RAID 6, RAID DP oder RAID 5DP. RAID-6, RAID-DP etc. 5 - 80% 60% 8 50% 87,50% 75% 10 50% 90% 80% Unterschiedlich umgesetzt Abbildung 4: Speichereffizienz (Verhältnis Nettozu Bruttokapazität). Inzwischen setzen sich neue RAID-Implementierungen zunehmend auf dem Markt durch. Ihre gemeinsame Grundidee ist nahe liegend: Eine zweite, unabhängige Prüfsumme bewirkt, dass der Ausfall eines beliebigen Plattenpaares zu verkraften ist. Damit verbunden ist auch ein besserer Schutz vor defekten Plattensektoren, weil zusätzliche Korrekturmöglichkeiten verfügbar sind. Man investiert als Kompromiss an die Speichereffizienz die Kapazität einer zusätzlichen Festplatte und gewinnt dadurch bessere Fehlertoleranz und Verfügbarkeit, denn nun darf ein beliebiges Paar Festplatten im gleichen Zeitfenster ausfallen. Als weitergehende Verallgemeinerung dieses Konzepts bildet man ein Array von n+m Festplatten. Die Datenpakete liegen im Speicherbereich, der n Festplatten. Dann werden m unabhängige Prüfsummen gebildet, die sich auf die verbleibende Speicherkapazität der m Einzelfestplatten verteilen. Man spricht hier allgemein von RAID-n+m, was deutlich machen soll, dass m Festplatten gleichzeitig ausfallen können. RAID-n+m ist lediglich eine Bezeichnung für Verfügbare Implementierungen, wie RAID 6, RAID DP, RAID 5DP, RAIDn und andere, unterscheiden sich zunächst im Verfahren, eine zweite oder weitere unabhängige Prüfsummen zu berechnen. Diese Prüfsummen lassen sich einerseits durch zweifache XOR-Bildung gewinnen oder andererseits durch alternative fehlerkorrigierende Kodierungsverfahren. Ein weiteres Unterscheidungsmerkmal betrifft die Daten- und Prüfsummenpakete auf die Festplatten verteilen. Das kann analog zu RAID 4 mit dedizierten Prüfsummenplatten oder ähnlich RAID 5 mit gleichmäßig über alle Platten verteilten Prüfsummen erfolgen. (Abbildung 5 a und b) Zweifaches XOR Beispiele für dieses Verfahren sind EVENODD [2], RDP (Row Diagonal Parity) [3], RAID DP und RAID 5DP. RAID DP von Network Appliance ist eine spezielle Form allgemeiner RDPVerfahren und steht im NetApp-Betriebssystem zur Verfügung. RAID 5DP (RAID 5 Double Parity) ist die Bezeichnung von HP für einen RAID-Level der VA7000-Serie. Allgemein entspricht die erste Prüfsumme der üblichen XOR-Prüfsumme, die auch bei RAID 3, RAID 4 und RAID 5 verwendet wird. Sie wird horizontal über die einzelnen Datenpakete gebildet. Die zweite Prüfsumme wird ebenfalls ... DB4 DB3 DB2 DB1 DB0 DA4 DA3 DA2 DA1 DA0 ... DB4 DB3 DB2 DB1 DB0 DA4 DA3 DA2 DA1 DA0 Virtuelle Disk (RAID-Set) Virtuelle Disk (RAID-Set) RAID-5 RAID-4 DA0 DB0 DC0 DD0 DE0 DF0 DG0 DH0 DA1 DB1 DC1 DD1 DE1 DF1 DG1 DH1 DA2 DB2 DC2 DD2 DE2 DF2 DG2 DH2 DA3 DB3 DC3 DD3 DE3 DF3 DG3 DH3 DA4 DB4 DC4 DD4 DE4 DF4 DG4 DH4 P(A) P(B) P(C) P(D) P(E) P(F) P(G) P(H) DA0 DB0 DC0 DD0 DE0 P(F) DG0 DH0 DA1 DB1 DC1 DD1 P(E) DF0 DG1 DH1 DA2 DB2 DC2 P(D) DE1 DF1 DG2 DH2 DA3 DB3 P(C) DD2 DE2 DF2 DG3 DH3 DA4 P(B) DC3 DD3 DE3 DF3 DG4 P(H) P(A) DB4 DC4 DD4 DE4 DF4 P(G) DH4 Disk1 Disk2 Disk3 Disk4 Disk5 Disk6 Disk1 Disk2 Disk3 Disk4 Disk5 Disk6 XOR horizontal Abbildung 5a und b: RAID 4 und RAID 5 unterscheiden sich in der Speicherung der Prüfsummen. www.linuxtechnicalreview.de 4 Grundlagen durch einen XOR-Algorithmus errechnet. Die Verwendung diagonal liegender Datenpakete für die zweite XOR-Prüfsumme gewährleistet ihre Unabhängigkeit von der ersten. Die Verteilung der Daten- und der Prüfsummenpakete kann wie bei RAID 4 mit dedizierten Daten- und Prüfsummenplatten erfolgen, was den Vorteil einer unkomplizierten Absicherung bestehender RAID-4-Sets durch Erweiterung um eine weitere Prüfsummenplatte bietet. Die bekannten Einschränkungen von RAID 4, die durch dedizierte Prüfsummenplatten entstehen, bleiben dabei jedoch erhalten. Umgekehrt ist eine Rückkehr zu RAID 4 ebenfalls ohne weiteres durch Abkoppeln der zusätzlichen Prüfsummenplatte möglich. Die von RAID 5 bekannte gleichmäßige Verteilung von Daten- und Prüfsummenblöcken auf alle Platten lässt sich ebenfalls einsetzen, wobei darauf zu achten ist, dass die Umverteilung die Unabhängigkeit der Prüfsummen nicht zerstört. Als Beispiele für zweifaches XOR im RAID-4Stil dienen EVENODD und RAID DP. Beiden Verfahren gemeinsam ist die Tatsache, dass die Unabhängigkeit beider Prüfsummen nur bei Verwendung einer bestimmten Anzahl von Festplatten gegeben ist. Bei EVENODD muss die Anzahl der Datenplatten eine Primzahl sein. Bei RAID DP (Abbildung 6 a und b) muss die Anzahl der Datenplatten zuzüglich der horizontalen Prüfsummenplatte einer Primzahl entsprechen. Für den Fall einer beliebigen Festplattenanzahl wird der Algorithmus um virtuelle Festplatten, die keine Daten – also nur Nullen – enthalten, erweitert, bis das jeweilige Primzahlkriterium erreicht ist. Diese virtuellen Festplatten dienen nur als Platzhalter im Rechenverfahren, um die Unabhängigkeit beider Prüfsummen zu gewährleisten. Als weitere Gemeinsamkeit fällt auf, dass man nicht alle diagonalen Prüfsummen benötigt. Jeweils eine Diagonale – in den Abbildungen weiße Platten – bleibt unbenutzt. Zudem lassen sich diese Verfahren auf herkömmlicher RAIDHardware mit XOR-Engine ohne weiteres implementieren. RAID DP bezieht im Unterschied zu EVENODD die Daten der horizontalen Prüfsummenplatte in die diagonale Prüfsummenbildung mit ein, was zu einer Verringerung der XOROperationen gegenüber EVENODD, insbesondere bei kleiner Festplattenanzahl, führt. Alternative Prüfsummenbildung Das langfristige Ziel, allgemeine RAID-n+mLevel verfügbar zu machen, ist mit mehrfachen XOR-Algorithmen nicht zu erreichen. Sie sind auf den simultanen Ausfall zweier Platten beschränkt. Nur allgemeinere, fehlerkorrigierende Kodierungsverfahren führen hier zum Ziel. Kandidaten sind beispielsweise Reed-SolomonCodes, Vandermonde-based Reed-SolomonCodes, Bose-Chaudhuri-Hocquenghem-Codes, die von RAID 2 bekannten Hamming-Codes, Gallager- und Tornado-Codes. In Zukunft werden zunächst RAID-n+2-Implementierungen verfügbar sein, deren Kodierungsverfahren aber häufig auf den allgemeinen RAID-n+m-Fall erweiterbar sind. Die zugrunde liegende Mathematik ist durchaus nicht trivial. Die Berechnungen sind nicht so leicht nachvollziehbar wie die XOR-Prüfsummenbildung. Zudem sind die ... DC4 DC3 DB2 DB1 DB0 DB4 DA3 DA2 DA1 DA0 ... DB0 DB4 DB3 DB2 DB1 DA4 DA3 DA2 DA1 DA0 Virtuelle Disk (RAID-Set) Virtuelle Disk (RAID-Set) EVENODD RAID-DP DA0 DB1 DC2 DD3 DA1 DB2 DC3 DD4 DA2 DB3 DC4 DD0 DA3 DB4 DC0 DD1 DA4 DB0 DC1 DD2 P(A) P(B) P(C) P(D) P(0) P(1) P(2) P(3) DA0 DB4 DC3 DD2 DA1 DB0 DC4 DD3 DA2 DB1 DC0 DD4 DA3 DB2 DC1 DD0 P(A)4 P(B)3 P(C)2 P(D)1 P(0) P(1) P(2) P(3) DE5 DF6 DG7 DH8 DE6 DF7 DG8 DH9 DE7 DF8 DG9 DH5 DE8 DF9 DG5 DH6 DE9 DF5 DG6 DH7 P(E) P(F) P(G) P(H) P(5) P(6) P(7) P(8) DE5 DF9 DG8 DH7 DE6 DF5 DG9 DH8 DE7 DF6 DG5 DH9 DE8 DF7 DG6 DH5 P(E)9 P(F)8 P(G)7 P(H)6 P(5) P(6) P(7) P(8) Disk1 Disk2 Disk3 Disk4 Disk5 Disk6 Disk7 XOR horizontal XOR diagonal Disk1 Disk2 Disk3 Disk4 Disk5 Disk6 XOR horizontal XOR diagonal Abbildungen 6 a und b: EVENODD und RAID DP. 5 www.linuxtechnicalreview.de Grundlagen hardwarebeschleunigte Implementierungen an. ... DC1 DC0 DB3 DB2 DB1 DB0 DA3 DA2 DA1 DA0 Virtuelle Disk (RAID-Set) RAID-6- RAIDn RAID-6 DA0 DB0 DC0 DD0 P(E) Q(F) DG0 DH0 DA1 DB1 DC1 P(D) Q(E) DF0 DG1 DH1 DA2 DB2 P(C) Q(D) DE0 DF1 DG2 DH2 DA3 P(B) Q(C) DD1 DE1 DF2 DG3 P(H) P(A) Q(B) DC2 DD2 DE2 DF3 P(G) Q(H) Q(A) DB3 DC3 DD3 DE3 P(F) Q(G) DH3 Disk1 Disk2 Disk3 Disk4 Disk5 Disk6 Abbildung 7: Das Prinzip von RAID 6: Die unabhängigen Prüfsummen P und Q werden nach einem ähnlichen Prinzip wie bei RAID 5 gespeichert. Verfahren rechenintensiv. Im Unterschied zu den zweifachen XOR-Verfahren arbeiten diese Kodierungsverfahren im Allgemeinen innerhalb eines Stripe, wodurch während Schreiboperationen weniger Daten zu bearbeiten sind. Fraglich bleibt, ob daraus – wegen des höheren Rechenaufwands – ein Performancevorteil erwächst. RAID 6 Aus den Datenpaketen berechnet man mittels Reed-Solomon-Code zwei Prüfsummen P und Q, Syndrome genannt. Reed-Solomon-Codes sind fehlerkorrigierende Kodierungsverfahren aus den 60er Jahren. In einer allgemeineren Sichtweise als bei CRC-Verfahren, betrachtet man statt Bits Zeichen aus mehreren Bits und konstruiert einen endlichen algebraischen Zahlkörper (Galois-Körper), auf dem eine Addition und Multiplikation definiert sind. Diese Operationen benutzt man zur Berechnung der Prüfsummen. Reed-Solomon-Verfahren sind Blockkodierungsverfahren, die jede vorgegebene Anzahl von Fehlern in einem Block korrigieren können. Sie finden unter anderem auch bei der Datenspeicherung auf CDs, DVDs und bei DVB-Technologien Verwendung. Für den Spezialfall zweier Syndrome P und Q operiert man auf dem Zahlkörper GF(28), was die Zahl der Platten auf 256 beschränkt. Die Berechnung von P reduziert sich hierbei auf einfaches XOR. Lediglich die Berechnung von Q ist aufwändiger [4]. Als Software-Lösung ist RAID 6 (Abbildung 7)seit Kernel 2.6.2 Bestandteil des md-Treibers von Linux. Viele Hersteller bieten RAIDn bezeichnet eine Familie alternativer RAID-Level der Tandberg-Tochter Inostor. Der patentierte Algorithmus verwendet laut Firmenangaben keine Reed-Solomon-Codes und ist hauptsächlich in Hardware von Tandberg und Inostor integriert. Es gibt auch eine Softwarelösung in Form von LinuxKernel-Modulen . RAID X RAID-X ist ein scheinbar noch in Arbeit befindlicher Level von ECC Technologies, der RAID 3 erweitert. Fazit Wachsende Speichervolumen machen alternative RAID-Lösungen jenseits der klassischen RAID-Level nötig. Externe Hardwarelösungen, PCI-RAID-Controller oder Software mit zeitgemäßen RAID-Implementierungen sind marktreif und verfügbar. Bereits die Vielzahl der Ansätze und der uneinheitliche Sprachgebrauch zeigen jedoch, dass eine Standardisierung noch nicht in Sicht ist. Deshalb dürfte die weitere Entwicklung in diesem Bereich in den nächsten Jahren spannend zu verfolgen sein. (jcb) nnn Infos [1]P.M. Chen, E.K. Lee, G.A. Gibson, R.H. Katz und D.A. Patterson: „RAID: High-Performance, Reliable Secondary Storage“, in ACM Computing Surveys, Vol 26, No. 2, June 1994, S. 145-185. [2]M. Blaum, J. Brady, J. Bruck und J. Menon: „EVENODD: An efficient scheme for tolerating double disk failures in RAID architectures“, in Proceedings of the Annual International Symposium on Computer Architecture, S. 245-254, 1994. [3]Peter Corbett, Bob English, Atul Goel, Tomislav Grcanac, Steven Kleiman, James Leong und Sunitha Sankar: „Row-Diagonal Parity for Double Disk Failure Correction“, in Proceedings of the Third USENIX Conference on File and Storage Technologies März/April 2004. [4]H. Peter Anvin: „The mathematics of RAID-6“: [http://­www.­kernel.­org/­pub/­linux/­kernel/ ­people/­hpa/] www.linuxtechnicalreview.de Der Autor Marcus Schuster arbeitet als System-Engineer bei der transtec AG, Tübingen. Dort gehört es zu seinen Aufgaben, die für eine Vermarktung vorgesehenen, externen Hardware-RAID-Systeme zu prüfen, sie auf Fehler zu untersuchen und diese zu bereinigen. 6