Eine Platte im NAS fällt aus, und trotzdem ist jede Datei noch da. Das ist kein Glück, sondern Rechnen – und dieselbe Rechnung bewahrt deine Fehler genauso zuverlässig.
Kurz gesagt
Parität ist eine Zusatzinformation, die aus den Daten mehrerer Platten berechnet wird und aus der sich der Inhalt einer ausgefallenen Platte neu errechnen lässt. Wie funktioniert Parität? Im einfachsten Fall mit XOR: RAID 5 speichert einen solchen Paritätswert, RAID 6 ergänzt einen zweiten, unabhängigen Wert und übersteht den Ausfall zweier beliebiger Platten [2]. ZFS nutzt die Idee in RAID-Z mit einer, zwei oder drei Paritätsplatten je Gruppe [3], und das klassische Unraid-Array arbeitet mit bis zu zwei eigenen Paritätsplatten [4]. Unsere Einschätzung: Parität schützt vor einer sterbenden Platte, nicht vor Löschen, Überschreiben oder Verschlüsseln. Sie ist kein Backup.
So funktioniert’s
- XOR in einer Zeile. XOR ergibt 1, wenn eine ungerade Zahl der Eingänge 1 ist. Bei den Bits A = 1, B = 0 und C = 1 ist die Parität 0. Fällt Platte B aus, ergibt XOR aus A, C und Parität 1 XOR 1 XOR 0 = 0, und B ist wieder da. Anvins Aufsatz zu RAID 6 nennt diesen Wert P die gewöhnliche XOR-Parität [2].
- Von RAID 5 zu RAID 6. Der Berkeley-Bericht von 1987 führte fünf RAID-Stufen ein und verglich ihre Kosten und Leistung [1]. RAID 6 ergänzt einen zweiten Wert Q, einen Reed-Solomon-Code, der im Galois-Körper GF(2^8) berechnet wird; so dürfen zwei beliebige Platten ausfallen [2].
- RAID-Z in ZFS. Die vdev-Typen raidz1, raidz2 und raidz3 speichern einfache, doppelte oder dreifache Parität [3]. Eine Gruppe aus N Platten der Größe X mit P Paritätsplatten fasst etwa (N−P)×X und braucht mindestens eine Platte mehr als Paritätsplatten [3]. RAID-Z beseitigt außerdem das „Write Hole“ von RAID 5, bei dem Daten und Parität nach einem Stromausfall nicht mehr zusammenpassen [3].
- Unraid. Das klassische Unraid-Array nimmt bis zu zwei Paritätsplatten, und jede muss mindestens so groß sein wie die größte Datenplatte [4]. Eine neue Datenplatte darf nicht größer sein als die Paritätsplatten, und sie wird gelöscht, bevor sie einem paritätsgeschützten Array beitritt [5]. Nach dem Zuweisen der Parität läuft im Hintergrund ein Paritätsabgleich; bis er fertig ist, ist das Array ungeschützt [4].
- Der Neuaufbau. Um eine ausgefallene Platte neu zu erzeugen, liest das Array die übrigen Platten und berechnet daraus die fehlenden Daten [2]. Unsere Lesart: In dieser Zeit hat ein Array mit einfacher Parität keine Reserve mehr, und ein zweiter Ausfall kostet Daten. Genau dafür gibt es RAID 6, RAID-Z2 oder doppelte Parität.
- Warum es kein Backup ist. Die Parität folgt jedem Schreibvorgang. Löschst du eine Datei oder verschlüsselt Ransomware sie, schützt die Parität getreu den beschädigten Zustand.
Ein Praxisbeispiel
Nimm vier Platten mit je 8 TB. Als RAID 5 oder RAID-Z1 bekommst du etwa (4 − 1) × 8 = 24 TB und darfst eine Platte verlieren, als RAID 6 oder RAID-Z2 etwa 16 TB, und zwei beliebige dürfen ausfallen [2][3]. In Unraid ergeben dieselben Platten 24 TB mit einer Paritätsplatte und 16 TB mit zweien [4]. Kaufst du später eine 12-TB-Platte und nutzt einfache Parität, muss sie zuerst die Paritätsplatte ersetzen, weil keine Datenplatte größer sein darf als die Parität [5]. Das ist eine Rechnung und kein Aufbau, den wir betreiben.
Prüfliste
- Wähle die Paritätsstufe danach, wie viele Plattenausfälle du während eines Neuaufbaus überstehen musst [2][3].
- Mach jede Unraid-Paritätsplatte mindestens so groß wie deine größte Datenplatte [4].
- Warte, bis der erste Paritätsabgleich fertig ist, bevor du wichtige Daten kopierst [4].
- Plane regelmäßige Paritätsprüfungen oder Scrubs ein, damit Fehler auffallen, bevor eine Platte ausfällt.
- Halte ein getrenntes Backup bereit, denn Parität holt keine gelöschten oder verschlüsselten Dateien zurück.