Wie funktioniert Parität auf einem RAID-5-Array?

Ich möchte ein nettes kleines RAID-Array für dedizierte Backups erstellen. Ich möchte ungefähr 2-4TB Speicherplatz zur Verfügung haben, da ich diese unangenehme kleine Angewohnheit habe, alles zu digitalisieren. Daher benötige ich viel Speicher und viel Redundanz bei Laufwerksausfall. Ich werde auch im Wesentlichen 2-3 Computer' /home Ordner mit einem der "Time Machine" Klone für Linux sichern. Auf dieses Array kann über mein lokales Netzwerk über SSH zugegriffen werden.

Ich habe Schwierigkeiten verstehen, wie RAID-5 Parität erreicht und wie viele Laufwerke tatsächlich benötigt werden. Man würde annehmen, dass es 5 Laufwerke benötigt, aber ich könnte mich irren. Die meisten Diagramme, die ich gesehen habe, haben mich nur noch verwirrt. Es scheint, dass RAID-5 so funktioniert, bitte korrigiere mich, da ich sicher bin, dass ich es nicht richtig verstehe:

/---STORAGE---\    /---PARITY----\
|   DRIVE_1   |    |   DRIVE_4   |
|   DRIVE_2   |----|     ...     |
|   DRIVE_3   |    |             |
\-------------/    \-------------/

Es scheint, dass Laufwerke 1-3 als ein einzelnes, massives Laufwerk (capacity * number_of_drives) erscheinen und funktionieren und die Paritätslaufwerke diese Laufwerke sichern. Was mir seltsam erscheint, ist, dass ich normalerweise 3 + sehe speicherlaufwerke in einem Diagramm auf nur 1 oder 2 Paritätslaufwerke. Angenommen, wir betreiben 4 1-TB-Laufwerke in einem RAID-5-Array, 3 laufende Speicher und 1 laufende Parität, wir haben 3 TB tatsächlichen Speicher, aber nur 1 TB Parität!?

Ich weiß, ich bin hier etwas fehlt, kann mir jemand helfen? Auch für meinen Anwendungsfall, was wäre besser, RAID-5 oder RAID-6? Fehlertoleranz ist die höchste Priorität für mich an dieser Stelle, da es nur für den Heimgebrauch über ein Netzwerk laufen wird, Geschwindigkeit ist nicht enorm kritisch.

 31
Author: Sathyajith Bhat, 2011-05-23

5 answers

Es xoriert nur jedes entsprechende Bit von jedem Laufwerk - Wenn Sie ein Laufwerk verlieren, können Sie die fehlenden Daten neu erstellen.

Für Hintergrund:

A B (A XOR B)
0 0    0
1 1    0
0 1    1
1 0    1

Angenommen, D ist das XOR der anderen Spalten, dann können Sie herausfinden, was Sie verloren haben, solange Sie nur ein Laufwerk verlieren.

A B C D
1 0 0 1
0 1 0 1
1 1 0 0

Manchmal wird das Stripe-Bit auf die Laufwerke verteilt, aber das Konzept ist dasselbe.

Also für RAID-5, egal wie viele Laufwerke, benötigen Sie nur 1 Laufwerk für Parität gleich oder größer als das kleinste Laufwerk im Array, das Sie überfallen möchten.

RAID-5 für den persönlichen Gebrauch ist wahrscheinlich am besten, da die Rechenkomplexität viel geringer ist als RAID-6.

RAID-6 ist komplizierter mit Galois Felder Parität zu berechnen. Und das kann Paritätsberechnungen besteuern. Sie können jedoch mehr Laufwerke verlieren, aber wenn Sie Ihr Array neu erstellen, sobald Sie einen einzelnen Fehler erhalten, sollten Sie in Ordnung mit RAID-5 bleiben.

 30
Author: Matt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-23 22:12:11

Hier ist, was ich denke, ist ein besseres Diagramm, um zu zeigen, wie Parität in RAID4 und RAID5 funktioniert

RAID4

Disk1  Disk2  Disk3  Disk4
----------------------------
data1  data1  data1  parity1
data2  data2  data2  parity2
data3  data3  data3  parity3
data4  data4  data4  parity4

RAID5 -

Disk1   Disk2   Disk3   Disk4
----------------------------
parity1 data1   data1   data1   
data2   parity2 data2   data2  
data3   data3   parity3 data3
data4   data4   data4   parity4
 8
Author: camster342,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-25 06:01:12

Ich würde empfehlen, diesen Wikipedia-Artikel über Raid 5 und Raid 6 zu lesen

Http://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5_parity_handling

RAID 5 schreibt einen Paritätsblock in jeden Streifen, so dass für Streifen A eines 4-Platten-Arrays die Paritätsprüfung auf der 4. Platte mit Daten auf den Platten 1, 2 und 3 geschrieben wird

Für Streifen B befindet sich der Paritätsblock auf Datenträger 3 mit Daten auf den Datenträgern 1,2 und 4.. etc..

Wenn z. B. Disk 4 fehlschlägt, können die Daten für Strip B als wiederhergestellt werden sie kennen die Daten auf Disk 1 und 2 und haben die Paritätsprüfung auf Disk 3.

Wenn Strip B eine Parität von "2" hat und Disk 1 Daten von " 1 "und Disk 2 Daten von" 0 " hat, dann muss Disk 4 Daten gleich "1" haben, damit die Diskette mit data = " 1 " geschrieben wird

Die gesamte Festplatte kann auf diese Weise neu erstellt werden, RAID 6 erweitert dies um 2 Party-Blöcke pro Streifen.

In Bezug auf Speicherplatz für Raid 5 verlieren Sie immer nur einen Datenträger im Wert von Speicherplatz zur Parität, da er nur auf Paritätsblock pro Streifen schreibt, während mit Raid 6 verlieren Sie 2 Festplatten, können aber auch zwei Festplatten verlieren, anstatt die, die Sie in Raid 5 verlieren können;)

Der Wikipedia-Artikel erklärt dies besser!

 4
Author: markfknight,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-23 22:20:43

RAID 5 verwendet ein Laufwerk für die Parität, unabhängig davon, wie viele Datenlaufwerke sich im Array befinden. Dies bedeutet, dass es effizienter wird, in Bezug auf nutzbaren Speicherplatz, je mehr Laufwerke hinzugefügt werden.

Parität wird durch Ausführen einer XOR-Operation über denselben Block in jedem Laufwerk erreicht; Der Inhalt des Paritätslaufwerks wird so eingestellt, dass alle Laufwerke XOR auf Null. Dies bedeutet, dass RAID 5 durch die kleinste Kapazität aller Laufwerke in der Array.

RAID 6 ist ähnlich, außer dass zwei gleichzeitige Laufwerksfehler toleriert werden können. Dies ist nützlich, da der Prozess der "Wiederherstellung " eines Arrays nach einem einzelnen Laufwerksausfall stressig genug sein kann, um ein zweites Laufwerk zu versagen.

 3
Author: sblair,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-23 22:16:05

Wenn Fehlertoleranz Ihr Ziel ist, bietet RAID-6 genügend Redundanz, um zwei Laufwerke zu verlieren. Normalerweise toleriert RAID-5 nur einen einzelnen Laufwerkausfall.

 0
Author: Nate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-23 22:07:31