Was auf den ersten Blick unwahrscheinlich scheint – der Ausfall von drei Festplatten in kurzem Zeitraum – kommt statistisch bei steigenden Datenvolumen, höheren Festplattenkapazitäten und längeren Rebuild-Zeiten durchaus vor. Glaubt man den Festplattenherstellern, sollte eine einzelne Festplatte rund alle hundert Jahre oder seltener ausfallen. Doch wo hunderte oder tausende Festplatten im Einsatz sind, wird der Hardware-Defekt zum Alltag und die Mean Time to Data Loss (MTTDL) kürzer. Allein wegen der Rebuild-Zeit ist er bei 4TB-Platten von vornherein mindestens acht Mal so hoch wie bei 500GB-Platten.
Die Rebuild-Zeit wird bestimmt von der Schreibgeschwindigkeit auf der erneuerten Festplatte, aber vor allem die Lesegeschwindigkeit auf den Festplatten. Die Krux ist hier, dass der Produktivbetrieb ja weiter läuft und die Festplatten in der Praxis zu 90 Prozent ausgelastet sind. Damit steht nur rund 10 Prozent der Leseleistung für den Rebuild zur Verfügung. Man steht hier vor der Wahl: Entweder man beschleunigt die Rebuildzeiten auf Kosten der Performanz des Produktivbetriebs oder man akzeptiert sehr lange Rebuildzeiten.
Es ist also klar, dass steigende Festplattengrößen die Wahrscheinlichkeit von Datenverlust vergrößern. Doch es gibt auch ein Gegenmittel: Triple Parity. Ein RAID-Verbund mit drei Paritätsbits hält selbst den Ausfall von drei Festplatten gleichzeitig aus. Dies schraubt die MTTDL wieder in die gewünschte Höhe.
Parität in RAID ist etwas grundlegend anderes als das mehrfache Abspeichern der gleichen Daten (wie das Mirroring in RAID 1). Man muss sich Parität so vorstellen, dass Paritätsbits mit den produktiven Daten-Bits so verbunden sind, dass die RAID-Systeme verlorene Daten aus den übrig gebliebenen Daten immer neu berechnen (interpolieren) und damit wiederherstellen können. Eine einfache Parität, wie in RAID 5, wird mittels XOR berechnet, basiert also darauf, dass digitale Daten nur aus Nullen und Einsen bestehen. Die zweite Parität, wie in RAID 6, entspricht orthogonaler Kalkulation. Triple Parity, wie in RAID Z3 ist weitaus komplexer. Es bedeutet beim gleichzeitigen Ausfall von drei Festplatten, dass jede Information anhand einer Gleichung mit drei Unbekannten wiederhergestellt wird. Dass dies überhaupt geht, hängt damit zusammen, dass drei der kleinste Faktor von 255 ist (dem größten Wert eines Bytes ohne Vorzeichen).
RAID Z3 ist heute das einzige System, das Triple Parity ermöglicht – es sei denn man würde gleich darauf setzen, Daten vierfach abzulegen („4-way Mirror“). Es bietet gegenüber RAID 6 jedoch noch weitere Vorteile als die Datensicherheit gegen einen dritten Festplattenausfall. Das Z steht für das ZFS-Dateisystem und dieses bringt weitere große Vorteile hinsichtlich der Datensicherheit.
Dazu gehört, dass die Unrecoverable Bit Error Rate (UBER) gegen null geht. Dies beschreibt die Häufigkeit, dass Datenblöcke aufgrund ihres Alters nicht mehr lesbar sind, beziehungsweise, dass ionisierende Strahlung oder Magnetfelder sie verändert haben. RAID Z3 löst das Problem dieser schleichenden Datenkorruption. Es vertraut nicht auf die Verlässlichkeit von Festplatten, sondern garantiert mittels eines Prüfsummenbaums, ähnlich wie eine Datenbank, die Konsistenz aller Daten zu jeder Zeit. UBER wird bei den MTTDL-Berechnung selten berücksichtigt. Ein Unrecoverable Bit Error ist aber häufiger als ein kompletter Festplattencrash und kann ebenfalls zu den Rebuilds führen, die bei großen Festplatten besonders zeitraubendend und riskant sind. RAID Z3 stellt in diesen Fällen einfach die fehlerhaften Blöcke wieder her, ohne einen kompletten Rebuild zu veranlassen.
Dank des Copy-on-Write-Verfahrens ist RAID Z3 zudem von Haus aus gegen Schreiblöcher geschützt. Diese entstehen in herkömmlichen RAID-Systemen, wenn das System zwischen der Änderung von Daten und der Neuberechnung der Paritätsdaten ausfällt. Die Folge sind falsche Paritätsdaten. Wenn jemals die Originaldaten mit diesen falschen Paritätsdaten wiederhergestellt werden sollen, sind komplett unbrauchbare Daten das Ergebnis. RAID Z3 vermeidet dieses Problem von vornherein, weil es nie die ursprünglichen Daten mit den neuen Daten überschreibt. Stattdessen werden die geänderten Daten neu allokiert und der gesamte Prüfsummenbaum neu berechnet. Auf diese Weise sind Daten in ZFS stets konsistent.
Ein Vorteil des Software-gesteuerten RAID Z3 im Vergleich zu Controller-gesteuertem RAID ist, dass RAID Z3 zwischen belegten und freien Datenblöcken unterscheidet und bei der Wiederherstellung nur belegte Datenblöcke wiederherstellt. In der Praxis sind die Festplatten in Storage-Systemen zwischen 50 und 85 Prozent gefüllt. Allein dadurch reduziert sich dank mittels RAID Z3 die Rebuild-Zeit um 15 bis 50 Prozent und erhöht die MTTDL entsprechend.
Es macht also durchaus für Storage-Administratoren Sinn, die Kapazität und Kosteneffizienz der eigenen Storage-Systeme mittels 4TB-Festplatten zu optimieren. Selbst wer schon 3TB-Platten mit RAID 6 im Einsatz hat, kann mit 4TB-Platten und RAID Z3 seinen produktiven Speicher ausbauen. Gehen wir von einem Array mit 12 Slots für Festplatten aus: Typisch wäre heute ein Set-up in RAID 6 von 9+2+1. D.h. das Äquivalent von 9 Festplatten dient der produktiven Speicherung, das Äquivalent von 2 Festplatten dient den Paritätsinformationen (in der Realität sind all diese Daten über die 11 Festplatten verteilt). Eine Festplatte dient als „Hot Spare“, damit der Rebuild im Falle eines Defekts automatisch und sofort beginnt. Daraus ergeben sich bei 3TB-Platten also 27 TB (9 mal 3 TB) produktiver Speicher. Bei RAID Z3 lautet die Gleichung 8+3+1, mit 4TB-Platten erreicht man also 32 TB (8 mal 4 TB) produktiven Speicher.
Die Sorgen hinsichtlich der Datensicherheit von 4TB-Festplatten sind berechtigt, weil die Rebuild-Zeiten extrem lang werden. Die Probleme sind lösbar, allerdings kommt RAID 6 dabei an seine Grenzen. Die Lösung heißt Triple Parity, am besten mit dem Software-gesteuerten RAID Z3 im ZFS Dateisystem. Damit steigt die Kosteneffizienz des Storage an, und man erreicht sogar eine höhere Datensicherheit als zuvor.
###
Heiko Wüst ist Experte für UNIX, Linux und Open Source mit langjähriger Erfahrung im Netzwerk-, Storage- und Virtualisierungsumfeld. Zu seinen früheren beruflichen Stationen gehören ADIVA und Motorola. Heute arbeitet der Diplom Ingenieur der Elektrotechnik als Sales Engineer bei Nexenta Systems