Der Raid-6 mit drei Datenträgern ist trivial: Speichern Sie einfach dieselben Informationen auf Datenträger 1, Datenträger 2 und Datenträger 3. Zwei Datenträger können ausfallen, und Sie können die Daten trotzdem wiederherstellen. Ein Raid-6 mit drei Festplatten ist also im Grunde nur ein Raid-1 mit drei Festplatten.
Im Fall von vier Datenträgern gibt es zwei Daten- "Datenträger" (nennen wir sie und ) und zwei Paritäts- "Datenträger" (nennen wir sie und ). Darüber hinaus haben wir in einer Zeit auf zwei Bits , die von jeder Platte zu arbeiten, so dass das Mindestdatenelement (deren Paritätserzeugung wird hier gezeigt) vier Bits sind: Zwei Bits auf der Platte und zwei Bits auf der Platte . Dadurch werden zwei Bits der Parität erzeugen und zwei weitere Bits der Parität . Wenn wir mehr Bits haben, wiederholen wir dieses Schema einfach nach Bedarf.ABPQABPQ
Die erste Parität wird normal unter Verwendung eines Standard-XOR ( ) berechnet :P⊕
P=A⊕B
Für die zweite Parität müssen wir eines der Datenelemente entstellen, bevor wir das XOR ausführen, damit es sich von :QP
Q=A⊕B∗
Das verstümmelte wird aus wie folgt berechnet : Das erste Bit von ist das XOR beider Bits von , und das zweite Bit von ist eine Kopie des ersten Bits von :B∗BB∗BB∗B
B∗=(B∗1,B∗2)=(B1⊕B2,B1)
Die obige Formel führt zu der folgenden Tabelle für die Berechnung von aus :B∗B
00→00
01→10
10→11
11→01
Beachten Sie, dass der Wert beim Zerlegen unverändert bleibt, während die anderen Werte einen Zyklus von drei durchlaufen: .0001→10→11→01
Das Entwirren ist ziemlich einfach: Aufgrund der zyklischen Eigenschaft wiederholen Sie das Entwirren einfach zweimal, um ein Entwirren durchzuführen. Oder invertieren Sie die obige Formel für , was zu Folgendem führt:B∗
B=(B∗2,B∗1⊕B∗2)
Das Entwirren ist also etwas symmetrisch zum Zerfleischen.
Jetzt kommt die Magie, die uns später die Wiederherstellung in dem Szenario ermöglicht, dass die beiden Datenfestplatten ausfallen und nur die Paritätsfestplatten überleben: Was passiert, wenn und XORed werden? Schauen wir uns jetzt an:BB∗
B⊕B∗=(B1,B2)⊕(B1⊕B2,B1)=(B1⊕B1⊕B2,B1⊕B2)=(B2,B1⊕B2)
Das schöne Ergebnis: XORing und identisch ist ein unmangle Schritt auf zum Durchführen . Somit kann aus werden, indem eine Mangel darauf aufgetragen wird: . Und da das Ergebnis der XOR-Verknüpfung der beiden Paritätswerte und , wird eine Wiederherstellung allein von den Paritätsplatten möglich.BB∗BBB⊕B∗B=(B⊕B∗)∗(B⊕B∗)PQ
Jetzt haben wir alles zusammen: Um und auf einem RAID-6 zu speichern , berechnen wir zuerst das verstümmelte Datum und dann die Standardparität aus und und die verstümmelte Parität aus und :ABB∗PABQAB∗
B∗=(B1⊕B2,B1)
P=A⊕B
Q=A⊕B∗
Die Wiederherstellung nach dem Ausfall von zwei Festplatten erfolgt wie folgt:
- Wenn und überleben, neu berechnet nur und .
ABPQ
- Wenn und überleben, stellen Sie und berechnen Sie .
APB=P⊕AQ
- Wenn und überleben, stellen Sie und berechnen Sie .
BPA=P⊕BQ
- Wenn und überleben, erholen , dann erholen von über eine unmangle Operation (oder eine Doppel mangle), dann Recompute .
AQB∗=Q⊕ABB∗P
- Wenn und überleben, berechnen Sie das verstümmelte aus , stellen Sie dann und berechnen Sie .
BQB∗BA=Q⊕B∗P
- Wenn und überleben, verwenden Sie die oben erläuterte Formel und stellen Sie dann .
PQB=(P⊕Q)∗A=P⊕B
In dem fünf Platten Fall gibt es drei Datenscheiben , und und wieder zwei Paritätsplatten und . Der bemerkenswerteste Unterschied besteht darin, dass die Mangel bei der Berechnung von zweimal an wird :ABCPQCQ
P=A⊕B⊕C
Q=A⊕B∗⊕C∗∗
Die Wiederherstellung im Fall mit fünf Festplatten erfolgt nach denselben Prinzipien wie im Fall mit vier Festplatten. In diesen Fällen, in denen zwei Datenplatten und entweder oder überleben, muss man zwei Werte aus der Parität herausnehmen und nicht nur einen, und im Fall von die richtige Entwirrungsfunktion verwenden . Zum Beispiel wird wie folgt aus , und : .PQQCABQC=(Q⊕A⊕B∗)∗
Der schwierigste Fall ist, wenn die Festplatten , und überleben. Dann wird zuerst aus und XOR-verknüpft , und dann wird vor dem XOR-Verknüpfung mit entstellt . Das kartiert und lässt Ebene :APQAPQ(P⊕A)(Q⊕A)BC
(P⊕A)∗⊕(Q⊕A)=(A⊕B⊕C⊕A)∗⊕(A⊕B∗⊕C∗∗⊕A)=
=(B⊕C)∗⊕(B∗⊕C∗∗)=(B∗⊕C∗)⊕(B∗⊕C∗∗)=
=B∗⊕C∗⊕B∗⊕C∗∗=B∗⊕B∗⊕C∗⊕C∗∗=(C⊕C∗)∗=
=(C∗∗)∗=C∗∗∗=C
Bei sechs oder mehr Festplatten bleibt das Prinzip dasselbe, aber der Mangle-Vorgang muss durch eine mit einem längeren Zyklus ersetzt werden. Dies erfordert auch die Verwendung von mehr Bits. Mit vier Bits ist eine mögliche Mangle-Operation:
M∗=(M1⊕M4,M1,M2,M3)
0000 wird erneut auf abgebildet , während alle anderen Werte einen 15-stufigen Zyklus durchlaufen:00000001→1000→1100→1110→1111→0111→1011→0101→1010→1101→0110→0011→1001→0100→0010→0001
Mit seinem 15-stufigen Zyklus kann dieses Mangle-Op für bis zu 15 Datenfestplatten und zwei Paritätsfestplatten verwendet werden. Für die Parität werden alle Werte unverändert zusammen XOR-verknüpft, und für wird das Datum der ersten Festplatte nicht entstellt, das Datum der zweiten Festplatte wird einmal entstellt, das Datum der dritten Festplatte wird zweimal entstellt und so weiter.PQ