Wie funktioniert das Unraid Parity System? – Unraid Parity Erklärung

Das Unraid Parity System ist das Herzstück des Datenschutzes in Unraid: Es schützt dein Array vor Datenverlust, wenn eine Festplatte ausfällt. Statt Daten wie bei klassischem RAID über alle Platten zu verteilen (Striping), speichert Unraid deine Dateien komplett auf einzelnen Laufwerken und legt zusätzlich eine dedizierte Paritätsplatte an. Fällt eine Datenplatte aus, lassen sich ihre Inhalte aus den übrigen Platten plus der Parität rechnerisch wiederherstellen. In dieser Erklärung erfährst du, wie die Unraid Parität technisch funktioniert, was eine Paritätsprüfung macht und worauf du bei Größe, Performance und Dual Parity achten solltest.

Warum überhaupt Parität? Weil es grob gesagt nur zwei Arten von Festplatten gibt: solche, die bereits ausgefallen sind, und solche, die es irgendwann sein werden. Eine Frage ist also nicht ob, sondern wann ein Laufwerk stirbt und was dann mit deinen Daten passiert.

Wie funktioniert die Unraid Parität?

Ein Paritätsverfahren ist so ausgelegt, dass es eine einzelne Bit-Änderung in einer festgelegten Menge von Bits erkennt. Dazu wird der Wert eines zusätzlichen Bits – des Paritätsbits – so gesetzt, dass die Summe über diese Bit-Menge immer einen bekannten Wert ergibt.

Bei Unraid liegen diese Paritätsbits auf einer eigenen, von den Datenlaufwerken unabhängigen Paritätsplatte. Jedes Paritätsbit bezieht sich dabei auf dieselbe relative Bit-Position auf allen Laufwerken: Das 57. Bit der Paritätsplatte sichert das 57. Bit aller Datenplatten ab. Eine Prüfung addiert alle Bits an dieser Position – inklusive dem der Paritätsplatte – und kontrolliert, ob die Summe gerade ist. Ist sie es nicht, wird das Paritätsbit umgeschaltet, bis die Summe wieder gerade ausfällt.

Unraid nutzt also eine gerade Parität. Die Summierung erfolgt über die logische Operation „exklusives ODER“ (XOR) und muss stets einen geraden Wert liefern. Ein einfaches Beispiel mit vier Laufwerken:

  • Bitwerte 1, 1, 1, 1 → Parität 0 (1+1+1+1+0 = gerade)
  • Bitwerte 1, 0, 0, 0 → Parität 1 (1+0+0+0+1 = gerade)

Wird eine neue Platte zu einem paritätsgeschützten Array hinzugefügt, füllt Unraid sie zunächst komplett mit Nullen. Da eine Null die Summe nicht verändert, bleibt die Parität gültig und die Platte lässt sich ohne kompletten Neuaufbau einbinden. So können sogar mehrere Laufwerke gleichzeitig ergänzt werden.

Siehe auch  PlayStation 6: Warum AMD erneut die Chips liefert

Rekonstruktion von Daten

Die Paritätsdaten kommen genau in zwei Situationen zum Einsatz: wenn ein Datenträger neu aufgebaut wird und wenn ein fehlerhafter Sektor entdeckt wird. In beiden Fällen liest Unraid alle Platten inklusive der Parität aus, um die fehlenden Daten der Zielplatte zu berechnen. Weil die Summe der Bits immer gerade ist, lässt sich jedes einzelne fehlende Element rekonstruieren, solange alle anderen korrekt sind.

Angenommen, an der zweiten Position fehlt jeweils der Wert x:

  • 1 + x + 1 + 1 + 0 = gerade → x muss 1 sein
  • 1 + x + 0 + 0 + 1 = gerade → x muss 0 sein

Praktischer Nebeneffekt: Entfernst du eine einzelne Platte physisch aus dem Array, kannst du weiterhin lesen und schreiben. Unraid simuliert die fehlende Platte, indem es alle anderen Datenplatten plus Parität ausliest, und aktualisiert bei Schreibzugriffen entsprechend die Parität. Baust du später eine Ersatzplatte ein, wird ihr Inhalt vollständig aus Parität und den übrigen Laufwerken neu berechnet. Damit das zuverlässig klappt, solltest du die Parität durch regelmäßige Paritätsprüfungen aktuell halten.

Paritätsprüfung und Paritätssynchronisation

Bei einer Paritätssynchronisation liest das System alle Datenplatten und schreibt die berechnete Parität frisch auf die Paritätsplatte. Bei einer Paritätsprüfung liest Unraid dagegen Datenplatten und Paritätsplatte, berechnet die Parität neu und vergleicht sie mit der gespeicherten. Für diese Prüfung gibt es zwei Modi:

CORRECT   - if a parity mismatch occurs, write parity disk with computed parity and report in syslog
NOCORRECT - just report in syslog

Gemeldet werden nur die ersten 100 Fehler – andernfalls würde das Systemprotokoll bei einem Array ohne gültige Parität sofort ausufern. Solche Abweichungen heißen „Sync-Fehler“ und geben an, an wie vielen Blockadressen die berechnete nicht mit der gespeicherten Parität übereinstimmt. Ein Block umfasst dabei 4096 Byte, was der Linux-PAGE-Größe als grundlegender E/A-Einheit entspricht.

Wichtig zu verstehen: Eine Paritätsplatte gilt als „gültig“, sobald einmal eine fehlerfreie Synchronisation abgeschlossen wurde – sie erhält dann einen grünen Punkt. Selbst wenn eine spätere Prüfung einzelne Fehler findet, wird die Platte nicht automatisch für ungültig erklärt. Der Grund: Würde Unraid sie wegen einer Handvoll Fehler abstufen und dann eine Datenplatte ausfallen, gäbe es zwei ungültige Platten und keine Rekonstruktion mehr wäre möglich.

Siehe auch  Synology DSM 7.2.2: Video Station mit einem Script zurückholen

Nach dem ersten Aufbau sollten Paritätsfehler eigentlich nur aus zwei Ursachen entstehen:

  • Unsauberes Herunterfahren – etwa ein plötzlicher Stromausfall oder Reset, bei dem ausstehende Schreibvorgänge nicht abgeschlossen werden und ein Stripe inkonsistent bleibt.
  • Unerkannte Hardware-Fehler – zum Beispiel eine stille Speicherbeschädigung (Bit Rot) im RAM oder auf der Platte.

Die Paritätsplatte in Unraid: Größe und Performance

Größe der Paritätsplatte

Die zentrale Regel lautet: Die Paritätsplatte muss mindestens so groß sein wie das größte Datenlaufwerk im Array. Planst du künftig größere Datenplatten, solltest du die Parität von Anfang an entsprechend dimensionieren – sonst musst du sie später zuerst tauschen, bevor eine größere Datenplatte überhaupt zulässig ist. Da Unraid ohnehin schon beim Boot eine Sonderrolle spielt, lohnt sich vorab ein Blick auf die passende USB-Stick-Empfehlung für Unraid und die Frage, wie groß der Boot-USB-Stick sein muss.

Performance beim Schreiben

Parität kostet Schreibleistung, denn bei jedem Schreibvorgang auf eine Datenplatte muss auch die Paritätsplatte aktualisiert werden. Konkret fallen pro Schreibzugriff vier Plattenoperationen an: Lesen und Schreiben der Parität sowie Lesen und Schreiben der Daten. Zusätzlich muss sich der Plattenteller nach dem Lesen einmal komplett drehen, um den Schreibkopf wieder über dem Zielsektor zu positionieren.

Die Schreibrate wird außerdem vom langsamsten beteiligten Laufwerk begrenzt. Eine schnelle 7200-U/min-Paritätsplatte allein bringt dir also wenig, wenn die Datenplatten langsamer drehen. Ein Geschwindigkeitsvorteil entsteht erst, wenn mehrere langsamere Datenplatten gleichzeitig beschrieben werden und die schnellere Parität mit allen mithalten muss. Wer Unraid ohnehin mit Containern betreibt, sollte parallel auch die Rechte sauber setzen – dabei hilft die Erklärung zu GUID und PGID bei Unraid-Docker.

Dual Parity: Schutz vor zwei Ausfällen

Bei großen Arrays lohnt sich Dual Parity, also eine zweite Paritätsplatte. Diese ist kein simples Spiegelbild der ersten, sondern erlaubt es, zwei gleichzeitige Laufwerksausfälle ohne Datenverlust zu überstehen – besonders wichtig, weil beim Rebuild einer Platte alle übrigen unter Volllast laufen und dabei ein zweiter Ausfall wahrscheinlicher wird.

Siehe auch  Linux: PUID und PGID herausfinden und anzeigen

Technisch entspricht das einem P+Q-Redundanzsystem wie bei RAID 6: „P“ ist die gewohnte XOR-Parität, „Q“ ein Reed-Solomon-Code. Zusammen ermöglichen sie die Wiederherstellung nach zwei Plattenfehlern bei überschaubarem Leistungsverlust. Für Arrays ab etwa acht bis zehn Datenplatten ist Dual Parity daher eine sinnvolle Absicherung.

Fazit

Das Unraid Parity System bietet einen flexiblen, platteweisen Datenschutz: Über gerade Parität und XOR lässt sich jede einzelne ausgefallene Platte aus den übrigen Laufwerken plus Parität rekonstruieren. Entscheidend sind drei Dinge – eine Paritätsplatte, die mindestens so groß ist wie deine größte Datenplatte, regelmäßige Paritätsprüfungen zur Kontrolle, und bei großen Arrays Dual Parity gegen zwei gleichzeitige Ausfälle. Wer diese Punkte beachtet, hat mit Unraid einen robusten und zugleich erweiterbaren Homeserver-Speicher.

Häufige Fragen (FAQ)

Ersetzt die Unraid Parität ein Backup?

Nein. Parität schützt vor einem Hardware-Ausfall einzelner Platten, nicht vor versehentlichem Löschen, Ransomware oder einem Defekt mehrerer Laufwerke gleichzeitig. Wichtige Daten gehören zusätzlich in ein separates Backup, idealerweise außerhalb des Servers.

Wie groß muss die Paritätsplatte sein?

Sie muss mindestens so groß sein wie deine größte Datenplatte. Willst du später größere Datenplatten einsetzen, muss zuerst die Parität diese Größe erreichen. Es schadet daher nicht, die Paritätsplatte von Anfang an etwas größer zu wählen.

Wie oft sollte ich eine Paritätsprüfung durchführen?

Üblich ist ein monatlicher Turnus, den du in Unraid als geplante Aufgabe einrichten kannst. Zusätzlich empfiehlt sich eine Prüfung nach jedem unsauberen Herunterfahren, etwa nach einem Stromausfall, um mögliche Sync-Fehler früh zu erkennen.

Was ist der Unterschied zwischen CORRECT und NOCORRECT?

Im NOCORRECT-Modus meldet Unraid Abweichungen nur im Syslog, ändert aber nichts. Im CORRECT-Modus schreibt es bei einer Abweichung die neu berechnete Parität auf die Platte und protokolliert das ebenfalls. Für eine reine Kontrolle nutzt du NOCORRECT, zum aktiven Korrigieren CORRECT.

Brauche ich Dual Parity?

Für kleine Arrays mit wenigen Platten reicht einfache Parität meist aus. Ab etwa acht bis zehn Datenplatten steigt das Risiko, dass während eines Rebuilds eine zweite Platte ausfällt – dann ist Dual Parity die sinnvolle Absicherung gegen zwei gleichzeitige Ausfälle.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen