RAID5 - Verständnisfrage

ascer

Captain
Registriert
Juni 2008
Beiträge
3.887
Huhu Leute,





mir will grad nicht in den Kopf, wie bei RAID5 die Sicherheit der Daten bei Ausfall maximal einer Festplatte tatsächlich gewährleistet wird.

Wenn die nutzbare Kapazität ( n - 1 ) * ( Speicherplatz kleinster Platte ) ist, so hat man dann ja z.B. bei drei 1TB Platten etwa 2TB für die Daten und etwa 1TB für die Paritätsinformationen.

Nehmen wir der Einfachheit halber mal an, wir haben dadrauf eine dicke Datei gelagert, die knapp 2TB groß ist. Wie schafft man es denn bitte, dass 2TB Daten durch 1TB BackUp gesichert sind?

Da die Daten parallel auf alle Platten geschrieben werden, ist natürlich klar, dass jede Platte nur 1/3 der Daten der Datei enthält, also etwa 0,66TB. Wenn nun z.B. Platte #1 also abschmiert, ist klar, dass "nur" 0,66TB fehlen und diese 0,66TB natürlich genau in das BackUp der Platte #2 & #3 passen.

Aber damit wäre ja schon der komplette BackUp-Platz von Platte #2 und #3 belegt.

Schmiert jetzt also meinetwegen Platte #2 ab, anstatt von #1, dann würden ja wiederrum 0,66TB der "Monsterdatei" fehlen, man hätte aber nur noch die BackUp-Sektion von Platte #1 frei, also 0,33TB..was dann ja nicht ausreichen würde.


Ich komm da grad echt nicht drauf...wie ist denn da gewährleistet, dass wirklich bei max. 1 defekten Platte es egal ist, welche ausfällt und die Daten trotzdem rekonstruiert werden können?





grüße & Danke im Vorraus,

ascer
 
Kurz:

675px-RAID_5.svg.png
 
das ist relativ simpel. nimm die formel x + y = z

dabei sind x und y die nutzdaten und z die paritätsdaten, jeweils auf einer der 3 platten untergebracht.

fällt nun eine hdd aus, kannst du durch die anderen beiden werte den fehlenden wert rekonstruieren. das funzt natürlich auch für längere formeln, allerdings darf immer nur ein wert fehlen, also 1 platte kaputt gehen.
 
Beschäftige Dich mal mit dem Thema Parität, das hat mir Informationstherie zu tun. Dann siehst Du, dass die 2TB große Datein auf jeder Platte 1TB belegt, denn nur so kann man die Informationen wiederherstellen.

Ganz vereinfacht gesagt geht es so: Du hast zwei Bit, also 00, 01, 10 oder 11 und in einem dritten legst Du nun ab, ob beide Bits gleich sind, also
00 1
01 0
10 0
11 1
Verlierst Du nun das erste Bit, so hast Du
x0 1 und da die 1 sagt, dass beide Werte gleich sind, kannst Du rekonstrieren, dass auch das verlorene erste Bit eine 0 gewesen sein muss. Entsprechend kann Du auch alle weiteren Fälle und entsprechend auch den Ausfall des zweiten Bits statt des ersten korrigieren, aber eben nicht den beider Bits oder eines der beiden undd es Paritätsbits.
 
Das ganze geht übrigens mit einer weiteren, orthogonalen Partität nochmals. RAID6 (hier dürfen 2 Platten ausfallen).
Eventuell kennst du es auch von WINRAR. Mit den Wiederherstellungsfiles. Wenn du 5 Wiederherstellungsfiles hast, dürfen bis zu 5 Container der eigentlichen Datei fehlen/beschädigt sein.
 
Zuletzt bearbeitet:
Bevor wir uns hier zu RAID 6 und der Arithmetik von Galois-Feldern zuwenden, wollen wir noch schnell einen Fehler in den obigen Erklärungen, wie die RAID5-Parity wirklich funktioniert, ausbessern:
Holt schrieb:
Du hast zwei Bit, also 00, 01, 10 oder 11 und in einem dritten legst Du nun ab, ob beide Bits gleich sind, also
00 1
01 0
10 0
11 1
Es wird mit einer beliebigen Anzahl von Datenplatten A,B,... die Parity P für jedes Bit per XOR-Verknüpfung berechnet, welche einfach gesagt nur eine Ergänzung auf eine gerade Anzahl 1en je Zeile ist. Daher sieht es so aus:
A B P
0 0 0
0 1 1
1 0 1
1 1 0

Da P = A xor B ist, kann auch A = B xor P und B = A xor P zur Rekonstruktion zurückgerechnet werden.
fällt jetzt eine Platte aus
0 - 0
0 - 1
1 - 1
1 - 0
so wird zur Rekonstruktion der Daten wieder auf eine gerade Anzahl 1en in jeder Zeile ergänzt
0 0 0
0 1 1
1 0 1
1 1 0
 
Vielen Dank!!

Das hört sich ja schon mal recht einleuchtend an (:

Das werd' ich mir dann nochmal genauer zu Gemüte führen :)
 
Alternate 4
Zurück
Oben