Hintergrund
RAID im Überblick
RAID-Verfahren mit Fehlerkorrektur
Zwar bietet Mirroring perfekte Redundanz, verursacht jedoch gleichzeitig einen hohen Overhead und entsprechend hohe Kosten. Um diesen Nachteil zu beheben, arbeiten die RAID-Level 2 bis 7 mit Fehlerkorrektur. Sie verteilen zunächst die Nutzdaten per Striping auf wenigstens zwei Datenlaufwerke. Aus deren Dateninhalt wird anschließend ein Korrekturwert errechnet, mit dessen Hilfe sich nach einem Ausfall die Daten des defekten Laufwerks wieder rekonstruieren lassen. Dieser ECC-Code wird auf einem eigenen Parity-Laufwerk abgelegt.
Dabei setzt RAID auf eines der ältesten Verfahren zur Fehlerkorrektur, die Paritätsprüfung. Dazu verknüpft es die Daten der Nutzlaufwerke über eine logische Exklusiv-Oder-Operation (XOR) und speichert das Resultat auf einem eigenen Parity-Laufwerk. Das Ergebnis der Verknüpfung ist dann 1, wenn eine ungerade Anzahl von Bitstellen eine 1 aufweist. Bei einer geraden Anzahl dagegen ist das Ergebnis 0:
Laufwerk |
Inhalt |
---|---|
Laufwerk A |
11101100 |
Laufwerk B |
10110011 |
Laufwerk C |
01001101 |
Parity-Laufwerk |
00010010 |
Fällt nun ein beliebiges Laufwerk aus, lassen sich durch ein erneutes XOR die verloren gegangenen Daten problemlos rekonstruieren:
vor dem Ausfall |
Ausfall eines Datenlaufwerks |
Ausfall des Parity-Laufwerks | |
---|---|---|---|
Laufwerk A |
11101100 |
11101100 |
11101100 |
Laufwerk B |
10110011 |
xxxxxxx |
10110011 |
Laufwerk C |
01001101 |
01001101 |
01001101 |
Parity-Laufwerk |
00010010 |
00010010 |
xxxxxxx |
Datenrekonstruktion |
10110011 |
00010010 |