Achtergrond: hoe werken RAID 0, RAID 1, RAID 10 en RAID 5?

43 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. RAID 0 – Striping
  3. 3. RAID 1 – Mirroring
  4. 4. RAID 0+1 en RAID 1+0
  5. 5. RAID 3
  6. 6. RAID 5 en 6
  7. 7. Parity
  8. 8. Conclusie + tabel
  9. 9. Mini-workshop: RAID installeren in een notendop
  10. 43 reacties

Parity

Hoe kan het nu dat in een RAID 3 of 5 array van drie schijven, één schijf met zogenaamde parity informatie ervoor kan zorgen dat alle data op alle andere schijven opnieuw kan worden opgebouwd, indien er één schijf crasht? Zoals je weet wordt alle data op harddisks opgeslagen in binair formaat met 1’en 0’en. Van een gegeven reeks bits geeft de parity aan of er een even of oneven aantal 1’en is. In het eerste geval is de parity 0, in het tweede geval is de parity 1.

Laten nu als voorbeeld eens kijken naar een RAID 3 array met vier harddisks. Op de eerste drie schijven staat data, de vierde is de parity-schijf. Als voorbeeld nemen we een bepaalde datapositie op de harddisks: stel dat op de genoemde positie op schijf 1 en 2 een 0 staat en op schijf drie een 1. Er is dus een oneven aantal 1’en en dus wordt de parity 1, wat wordt opgeslagen op dezelfde positie op de parity schijf. Wat gebeurt er nu als harddisk 2 crasht? De RAID controller weet dat op schijf 1 een 0 staat en op schijf 2 een 1. Daarnaast is dankzij schijf 4 ook de parity bekend en die geeft aan dat er een oneven aantal 1’en moet zijn. Daaruit kan de controller afleiden dat op schijf 2 een 0 moeten hebben gestaan. Op die manier kan bij een crash alle data worden gereconstrueerd. De enige vereiste voor een volledige reconstructie is dat slechts één harddisk tegelijk mag crashen.

In onderstaande hebben we als voorbeeld de parity waardes van alle mogelijke combinaties van drie bits onder elkaar gezet. Probeer het zelf maar eens uit: het maakt niet uit welke kolom bits dankzij een crash wegvalt, dankzij de parity is het altijd terug te rekenen.

Bit 1 Bit 2 Bit 3 Parity
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
0
*