Zo zet je 6 TB aan gegevens veilig op een 2 TB harde schijf
RAID, kort voor redundant aray of independent (inexpensive) disks, is een system waarbij je twee of meer harde schijven combineert tot een geheel dat sneller of veiliger is dan zijn afzonderlijke onderdelen. Raid-0 en Raid-1 zijn de gekendste voordelen. Bij Raid-0 wordt één bestand bij het wegschrijven gesplitst over twee schijven, wat de totale schrijfsnelheid verdubbelt maar niet meteen veilig is: verlies je één van de drives, dan verlies je al je data. Raid-1 doet het omgekeerde en dupliceert alle data van één drive op de tweede. Zo krijg je geen snelheidswinst, maar mag één schijf er de brui aan geven. In ruil voor die redundantie verlies je de helft van de capaciteit van je drives.
Pariteitsmagie
Raid 3, Raid 4 en Raid 5 zijn een stuk interessanter. Raid 3 en Raid 4 worden nog maar zelden gebruikt, Raid -5 is daarentegen wel erg populair voor gebruik in kantoorservers. Met Raid-5 combineer je vier schijven tot een geheel dat niet sneller is, maar waarvan wel één schijf mag sneuvelen. In tegenstelling tot Raid-1 dupliceer je de data niet, maar maak je gebruik van zogenaamde pariteit. Het resultaat: vier schijven met een capaciteit van ieders 2 TB leveren in Raid 5 een capaciteit van 6 TB op, met een redundantie van één schijf. Verlies je één drive, dan verlies je geen gegevens. Raid-5 beschermt dus 6 TB aan data met slechts 2 TB aan back-up-mogelijkheid ter beschikking. Hoe dat werkt, leggen we hieronder kort uit.
Je merkt al dat een Raid 5 in tegenstelling tot Raid 1 geen kopie maakt van de data op de drives. Daar is logischerwijs geen plaats voor. Een Raid-controller maakt gebruik van pariteitsblokken. Data op drie schijven wordt gecombineerd in een wiskundige vergelijking waarvan de oplossing op de vierde schijf staat. Gaat één van de drie schijven verloren, dan volstaan de parameters op de drie andere schijven om de data op de vernietigde drive te herstellen.
Om te begrijpen hoe Raid 5 dit kunstje bewerkstelligt, moet je even abstract naar je data kijken. Vergeet de foto’s, video’s en bestanden, op je harde schijf staan enkel ééntjes en nulletjes. Voeg daar een snuifje wiskunde aan toe, en er wordt plots veel mogelijk.
Toveren met XOR
De sleutel tot RAID 5 is de ‘exclusive or’ of XOR-functie. XOR is een booleaanse operator vergelijkbaar met AND of OR. Een XOR-functie geeft als resultaat 1 enkel en alleen als de twee ingevoerde variabelen verschillend zijn. Anders is het resultaat 0.
Ter illustratie: een AND-functie geeft als output een 1 wanneer beide inputs 1 zijn. 1 AND 1 = 1, maar 1 AND 0 = 0. Bij OR hoeft slechts één van de twee ingevoerde bits 1 te zijn. 0 OR 1, 1 OR 0 en 1 OR 1 geven alle drie 1, maar 0 OR 0 blijft 0. XOR geeft een 1 als output wanneer exact één van de twee ingevoerde bits een 1 is. 1 XOR 0 en 0 XOR 1 zijn 1, maar 1 XOR 1 en 0 XOR 0 zijn allebei 0.
Laten we nu even een abstractie maken van een 4-bay NAS met vier schijven in Raid 5. Waarmee de NAS gevuld is maakt niet uit. Stel dat er drie foto’s opstaan. De eerste foto staat op de eerste drive, de tweede op de tweede, en de derde op de derde. De pariteit staat op drive vier.
Laten we er van uit gaan dat de binaire code van foto één begint met een 1, die van foto twee met een 0 en die van foto drie opnieuw met een 1. Een opeenvolging van drie XOR-functies zal die drie bits nu combineren tot een vierde bit die wordt opgeslagen op de vierde schijf.
Eerst worden de bits op drive één en twee gecombineerd:
1 XOR 0 =1
Vervolgens gebeurt hetzelfde voor drive twee en drie:
0 XOR 1 = 1
Tot slot wordt de uitslag van de twee functies een laatste keer gecombineerd:
1 XOR 1 = 0
Op drive vier komt nu pariteitsbit 0 te staan.
Je koos er voor om vijf jaar oude een desktopschrijf te gebruiken in de plaats van een kwalitatieve NAS-schijf, en een uurtje na het kopiëren begeeft drive één het. De foto die we hier gemakkelijkheidshalve voorstellen als één bit met waarde 1 gaat verloren. Op drive vier staat geen back-up, maar de Raid-controller heeft wel voldoende informatie om de foto op een nieuwe schijf te reconstrueren. Wanneer je een nieuwe drive op de plaats van drive één stopt, gaat het algoritme aan de slag.
Herstel
We kennen nog de waarde van foto twee (0) en die van foto drie (1). Op schijf vier hebben we de pariteit (0). De Raid-controller kan nu omgekeerd te werk gaan.
Pariteitsbit = 0 (gekend: en het resultaat van 0 XOR 0 of 1 XOR 1)
0 XOR 1 = 1 (gekend: drive twee XOR drive drie)
? XOR 0 = 1 (gededuceerd: drive één XOR drive twee, moet 1 zijn want anders was de pariteitsbit niet 0)
? = 1 (enige oplossing om 1 als resultaat te krijgen bij bovenstaand XOR-functie.
Wanneer er één variabele ontbreekt, heb je met Raid 5 steevast voldoende informatie om die te herstellen. Met RAID 5 wordt data in blokken over vier drives verdeeld, zodat telkens drie drives een blok met data bevatten en je op de vierde de corresponderende pariteitsbit terugvindt voor die blokken. RAID 4 werkt bijna hetzelfde. In dit geval bevatten drie drives steevast de data, en is de vierde gereserveerd voor pariteit. RAID 5 werkt iets sneller maar het verschil is minimaal en de werkwijze dezelfde.
Gaan er twee schijven verloren, dan valt de RAID 5-constructie uit elkaar. Met twee ontbrekende variabelen is het onmogelijk om na te gaan of de vernietigde schijven op een gegeven plaats waarde 1 dan wel 0 hadden. Ook met een pariteitsblok an sich ben je niets: het bevat geen gegevens zoals foto’s of video’s, maar de oplossing van een vergelijking die de controller in staat stelt je foto’s of video’s terug te vinden.
De wiskunde achter RAID 5 verklaart meteen waarom het zo lang duurt om een gesneuvelde drive te herstellen. Je systeem moet immers niet alleen data kopiëren, maar bit per bit (blok per blok) berekenen welke data er überhaupt moet staan. Tijdens die terugzet-operatie worden de drie overgebleven schijven intens benut en daarin zit meteen het risico van Raid 5: kocht je vier schijven op hetzelfde moment, dan is de kans reëel dat ze van dezelfde batch komen, en vrijwel dezelfde levensduur hebben. Wie pech heeft ziet een tweede schijf sneuvelen tijdens de reconstructie van het eerste dode exemplaar, en verliest zo alsnog zijn data. Meestal is Raid 5 echter een snuggere manier om met een minimaal verlies aan HDD-capaciteit een mooie redundantie in te bouwen in je NAS, bedrijfsserver of pc.
RAID, kort voor redundant aray of independent (inexpensive) disks, is een system waarbij je twee of meer harde schijven combineert tot een geheel dat sneller of veiliger is dan zijn afzonderlijke onderdelen. Raid-0 en Raid-1 zijn de gekendste voordelen. Bij Raid-0 wordt één bestand bij het wegschrijven gesplitst over twee schijven, wat de totale schrijfsnelheid verdubbelt maar niet meteen veilig is: verlies je één van de drives, dan verlies je al je data. Raid-1 doet het omgekeerde en dupliceert alle data van één drive op de tweede. Zo krijg je geen snelheidswinst, maar mag één schijf er de brui aan geven. In ruil voor die redundantie verlies je de helft van de capaciteit van je drives.
Pariteitsmagie
Raid 3, Raid 4 en Raid 5 zijn een stuk interessanter. Raid 3 en Raid 4 worden nog maar zelden gebruikt, Raid -5 is daarentegen wel erg populair voor gebruik in kantoorservers. Met Raid-5 combineer je vier schijven tot een geheel dat niet sneller is, maar waarvan wel één schijf mag sneuvelen. In tegenstelling tot Raid-1 dupliceer je de data niet, maar maak je gebruik van zogenaamde pariteit. Het resultaat: vier schijven met een capaciteit van ieders 2 TB leveren in Raid 5 een capaciteit van 6 TB op, met een redundantie van één schijf. Verlies je één drive, dan verlies je geen gegevens. Raid-5 beschermt dus 6 TB aan data met slechts 2 TB aan back-up-mogelijkheid ter beschikking. Hoe dat werkt, leggen we hieronder kort uit.
Je merkt al dat een Raid 5 in tegenstelling tot Raid 1 geen kopie maakt van de data op de drives. Daar is logischerwijs geen plaats voor. Een Raid-controller maakt gebruik van pariteitsblokken. Data op drie schijven wordt gecombineerd in een wiskundige vergelijking waarvan de oplossing op de vierde schijf staat. Gaat één van de drie schijven verloren, dan volstaan de parameters op de drie andere schijven om de data op de vernietigde drive te herstellen.
Om te begrijpen hoe Raid 5 dit kunstje bewerkstelligt, moet je even abstract naar je data kijken. Vergeet de foto’s, video’s en bestanden, op je harde schijf staan enkel ééntjes en nulletjes. Voeg daar een snuifje wiskunde aan toe, en er wordt plots veel mogelijk.
Toveren met XOR
De sleutel tot RAID 5 is de ‘exclusive or’ of XOR-functie. XOR is een booleaanse operator vergelijkbaar met AND of OR. Een XOR-functie geeft als resultaat 1 enkel en alleen als de twee ingevoerde variabelen verschillend zijn. Anders is het resultaat 0.
Ter illustratie: een AND-functie geeft als output een 1 wanneer beide inputs 1 zijn. 1 AND 1 = 1, maar 1 AND 0 = 0. Bij OR hoeft slechts één van de twee ingevoerde bits 1 te zijn. 0 OR 1, 1 OR 0 en 1 OR 1 geven alle drie 1, maar 0 OR 0 blijft 0. XOR geeft een 1 als output wanneer exact één van de twee ingevoerde bits een 1 is. 1 XOR 0 en 0 XOR 1 zijn 1, maar 1 XOR 1 en 0 XOR 0 zijn allebei 0.
Laten we nu even een abstractie maken van een 4-bay NAS met vier schijven in Raid 5. Waarmee de NAS gevuld is maakt niet uit. Stel dat er drie foto’s opstaan. De eerste foto staat op de eerste drive, de tweede op de tweede, en de derde op de derde. De pariteit staat op drive vier.
Laten we er van uit gaan dat de binaire code van foto één begint met een 1, die van foto twee met een 0 en die van foto drie opnieuw met een 1. Een opeenvolging van drie XOR-functies zal die drie bits nu combineren tot een vierde bit die wordt opgeslagen op de vierde schijf.
Eerst worden de bits op drive één en twee gecombineerd:
1 XOR 0 =1
Vervolgens gebeurt hetzelfde voor drive twee en drie:
0 XOR 1 = 1
Tot slot wordt de uitslag van de twee functies een laatste keer gecombineerd:
1 XOR 1 = 0
Op drive vier komt nu pariteitsbit 0 te staan.
Je koos er voor om vijf jaar oude een desktopschrijf te gebruiken in de plaats van een kwalitatieve NAS-schijf, en een uurtje na het kopiëren begeeft drive één het. De foto die we hier gemakkelijkheidshalve voorstellen als één bit met waarde 1 gaat verloren. Op drive vier staat geen back-up, maar de Raid-controller heeft wel voldoende informatie om de foto op een nieuwe schijf te reconstrueren. Wanneer je een nieuwe drive op de plaats van drive één stopt, gaat het algoritme aan de slag.
Herstel
We kennen nog de waarde van foto twee (0) en die van foto drie (1). Op schijf vier hebben we de pariteit (0). De Raid-controller kan nu omgekeerd te werk gaan.
Pariteitsbit = 0 (gekend: en het resultaat van 0 XOR 0 of 1 XOR 1)
0 XOR 1 = 1 (gekend: drive twee XOR drive drie)
? XOR 0 = 1 (gededuceerd: drive één XOR drive twee, moet 1 zijn want anders was de pariteitsbit niet 0)
? = 1 (enige oplossing om 1 als resultaat te krijgen bij bovenstaand XOR-functie.
Wanneer er één variabele ontbreekt, heb je met Raid 5 steevast voldoende informatie om die te herstellen. Met RAID 5 wordt data in blokken over vier drives verdeeld, zodat telkens drie drives een blok met data bevatten en je op de vierde de corresponderende pariteitsbit terugvindt voor die blokken. RAID 4 werkt bijna hetzelfde. In dit geval bevatten drie drives steevast de data, en is de vierde gereserveerd voor pariteit. RAID 5 werkt iets sneller maar het verschil is minimaal en de werkwijze dezelfde.
Gaan er twee schijven verloren, dan valt de RAID 5-constructie uit elkaar. Met twee ontbrekende variabelen is het onmogelijk om na te gaan of de vernietigde schijven op een gegeven plaats waarde 1 dan wel 0 hadden. Ook met een pariteitsblok an sich ben je niets: het bevat geen gegevens zoals foto’s of video’s, maar de oplossing van een vergelijking die de controller in staat stelt je foto’s of video’s terug te vinden.
De wiskunde achter RAID 5 verklaart meteen waarom het zo lang duurt om een gesneuvelde drive te herstellen. Je systeem moet immers niet alleen data kopiëren, maar bit per bit (blok per blok) berekenen welke data er überhaupt moet staan. Tijdens die terugzet-operatie worden de drie overgebleven schijven intens benut en daarin zit meteen het risico van Raid 5: kocht je vier schijven op hetzelfde moment, dan is de kans reëel dat ze van dezelfde batch komen, en vrijwel dezelfde levensduur hebben. Wie pech heeft ziet een tweede schijf sneuvelen tijdens de reconstructie van het eerste dode exemplaar, en verliest zo alsnog zijn data. Meestal is Raid 5 echter een snuggere manier om met een minimaal verlies aan HDD-capaciteit een mooie redundantie in te bouwen in je NAS, bedrijfsserver of pc.