Privacy Policy Cookie Policy Terms and Conditions Redundant Array of Independent Disks - Wikipedia

Redundant Array of Independent Disks

RAID is een afkorting van Redundant Arrays of Independent Disks, ook bekend als Redundant Array of Inexpensive Disks en is de benaming voor een set methodieken voor fysieke data-opslag op harde schijven waarbij de gegevens over meer schijven verdeeld worden, op meer dan 1 schijf worden opgeslagen, of beide, ten behoeve van snelheidswinst en/of beveiliging tegen gegevensverlies.

RAID is ontstaan door de behoefte aan meer opslag voor minder geld, en aangezien meerdere kleine harddisks goedkoper waren (anno 1987) dan 1 grote werd er gezocht naar een manier om van meerdere fysieke schijven 1 virtuele schijf te maken. Omdat dit nu niet meer aan de orde is wordt RAID vooral gebruikt voor veiligheid en snelheidswinst, daarom is de oorspronkelijke betekenis van de I (inexpensive) gewijzigd in independent. RAID vindt zijn oorsprong aan de Universiteit van Californië op Berkeley.

Inhoud

[bewerk] Zonder RAID

Bij normaal gebruik wordt iedere harde schijf door een computer (eigenlijk het besturingssysteem) benaderd als een afzonderlijke eenheid. In Windows is dit herkenbaar aan de eigen schijfaanduiding C, D, E enz.); in Unix en Unix-achtige besturingssystemen als Linux en BSD, waar het bestandssysteem als een logisch geheel aan de gebruiker wordt getoond, zijn de gebruikte schijfeenheden herkenbaar in de zogeheten 'mount points'.

Bij gebruik zonder RAID wordt door de schijfcontroller de data naar de schijf gestuurd die de gebruiker aangeeft, waarbij de data achter elkaar naar deze schijf geschreven wordt. Alle data komt terecht op een en dezelfde fysieke schijf.

[bewerk] RAID

In een RAID-systeem worden meerdere harde schijven gecombineerd tot een groep van schijven (Engels: disk arrays, Nederlands: matrix). De in het systeem ingebouwde software zorgt ervoor dat de computer logisch gezien maar één schijf ziet. In de achtergrond verdeelt de controller de data over de betrokken schijven. Een matrix kan uit een willekeurig aantal schijven bestaan. Door deze combinatie van schijven kan een systeem sneller en/of data-veiliger werken dan een enkele schijf.

[bewerk] RAID-controllers

RAID is mogelijk met uitsluitend software, waarbij de aansturing van de schijven door het besturingssysteem van de computer verzorgd wordt. Software RAID is mogelijk onder Linux, en ook zijn de eenvoudiger RAID-configuraties al mogelijk met desktopuitvoeringen van Windows NT, 2000 en XP. De serveruitvoeringen hiervan kunnen ook de complexere varianten aan. Deze oplossing kost voor de rekenintensieve RAID-varianten wel veel CPU-tijd.

Een efficiëntere oplossing is de hardware assisted software RAID, waarbij een speciale processor de pariteitsberekeningen (zie hieronder bij RAID-5) op zich neemt, maar het uitvoeren van RAID zelf nog door software gedaan wordt.

Er zijn ook intelligente RAID-controllers die alle functies met een eigen ingebouwde processor verzorgen, en waarbij de systeem-CPU geen extra werk hoeft te verrichten.

Er bestaan verschillende RAID-niveaus met ieder een eigen toepassingsgebied.

[bewerk] RAID-niveaus

RAID-niveau Aantal schijven Pluspunten Minpunten
JBOD minimum 2 Eenvoudige opzet, eenvoudig in te voeren Geen foutcorrectie, disk defect = data op defecte schijf verloren
0 minimum 2 Snelste doorvoer van data voor alle data, eenvoudige opzet, eenvoudig in te voeren Geen foutcorrectie, disk defect = data op alle schijven verloren
1 minimum 2 100% foutcorrectie, eenvoudige opzet relatief duur
2 minimum 3 Foutcorrectie, ook voor disks zonder ingebouwd correctie systeem Geen praktische toepassing
3 minimum 3 Snelle data doorvoer voor sequentiële data, efficiënte foutcorrectie Kan niet gelijktijdig schrijven en lezen
4 minimum 3 Snel lezen voor alle data, efficiënte foutcorrectie Langzaam schrijven
5 minimum 3 Snel lezen voor alle data, efficiënte foutcorrectie, beste voor netwerk toepassingen Schrijfsnelheid vanwege pariteitsberekeningen afhankelijk van de gebruikte processor of controller
6 minimum 4 Robuuste foutcorrectie, tolereert twee falende schijven Nog rekenintensiever dan RAID-5 dus relatief dure controller

Combinaties van RAID komen ook voor, zo wordt RAID-1 en RAID-0 gecombineerd tot RAID-10 (waarvoor minimaal 4 schijven nodig zijn) of RAID-0+1, RAID-3 en RAID-0 tot RAID-53, RAID-5 en RAID-0 tot RAID-50 en RAID-5 en RAID-1 tot RAID-15 of RAID-51.

[bewerk] JBOD

JBOD (van 'Just a Bunch Of Disks') is het simpelweg achter elkaar plakken van een aantal schijven waarbij de totale grootte de som is van de ruimte op alle schijven. Dit is op zich geen RAID maar wordt wel ondersteund door veel RAID-controllers.

[bewerk] RAID-0

RAID-0 (ook bekend als striping); een aantal schijven wordt in een array geplaatst en benaderd als één grote schijf. De gegevens worden in kleine (enige tientallen kilobyte) blokken (ook wel 'stripes' genoemd) verdeeld en om en om op de verschillende schijven weggeschreven. Hiermee wordt een snelheidsverhoging bereikt omdat meerdere schijven tegelijkertijd gegevens kunnen ophalen of wegschrijven. Theoretisch zou de snelheidsverhoging recht evenredig kunnen zijn met het aantal schijven, In de praktijk wordt dit echter meestal niet bereikt.

RAID-0 biedt geen foutcorrectie. De term 'redundant' is hier dan eigenlijk ook niet van toepassing. Als één schijf uitvalt dan zijn alle gegevens van de hele array verloren!

De (qua capaciteit) kleinste schijf in de array bepaalt de omvang van alle RAID-systemen. Als bijvoorbeeld een 50 GB-, 100 GB- en een 250 GB-schijf in een RAID-0 array worden gezet, dan zal de controller aan de pc een schijf aanbieden van 150 GB (50 GB × 3). Hierbij gaat bij veel controllers dus effectief 250 GB verloren. Sommige controllers kunnen echter de overblijvende ruimte nog gebruiken voor een andere RAID-set.

Software RAID-0 wordt ook wel aangeduid als Volume Sets. Hierbij is echter niet altijd sprake van striping op blokniveau, maar worden directory's en de daarin aanwezige bestanden door het filesysteem op die schijf binnen de Volume Set geplaatst die op dat moment de meeste vrije ruimte heeft.

[bewerk] RAID-1

RAID-1 (ook bekend als mirroring) slaat de data twee (of meer) keren op op verschillende schijven.

Als een schijf uitvalt zal het computersysteem hier geen hinder van hebben en gewoon blijven werken. De controller zal dan alle I/O laten lopen over de andere schijf (of schijven). De controller zal de gebruiker natuurlijk wel een hint geven dat er iets fout is - maar het systeem werkt gewoon door. Als de defecte schijf wordt vervangen zal de inhoud van de goede schijf teruggeschreven worden op de nieuwe.

Hoewel RAID-1 de minst efficiënte manier van databeveiliging is en voor conventionele SCSI RAID-systemen een tamelijk dure oplossing is, biedt dit voor IDE-oplossingen een simpele maar erg betrouwbare oplossing als het om veiligheid van de data gaat. Als er 1-op-1 mirroring toegepast wordt met twee 160 GB-schijven, dan zal het systeem maar 1 schijf ter grootte van 160 GB zien.

Ook hier is de kleinste schijf bepalend voor de uiteindelijke opslagcapaciteit van het gehele RAID-systeem. Voor de pc is de logische schijf zo groot als de kleinste schijf uit de set.

NB: Bij gebruik van RAID-1 met twee schijven als Master en Slave op één enkele IDE poort kan het gebeuren dat de defecte schijf de hele IDE bus ophangt, en dat de andere schijf daardoor ook niet meer bruikbaar is. Hoewel het systeem wel weer zal werken zodra de defecte schijf verwijderd is biedt dit niet de betrouwbaarheid die van RAID-1 verwacht mag worden.

[bewerk] RAID-2

RAID-2 gebruikt parallel datatransport (zie ook striping bij RAID-0) aangevuld met een zogenaamde Hamming Error Correction Code (ECC), bedoeld voor schijven die geen eigen foutcorrectie hebben.

Alle moderne harde schijven hebben tegenwoordig wel een ingebouwde foutcorrectie. Omdat bij gebruik van een Hammingcode extra bits worden toegevoegd, heeft men meer dan 1 schijf nodig voor de opslag van deze code. Deze RAID-variant heeft geen voordelen ten opzichte van RAID-3.


[bewerk] RAID-3

RAID-3 werkt bijna hetzelfde als RAID-2 met het verschil dat men een schijf gebruikt voor het opslaan van een berekende pariteit voor de Hamming Error Correct Code. Ook hier wordt parallel gewerkt zoals we dat bij striping in RAID-0 zagen. De pariteit wordt per setje bytes (A0, A1 en A2) berekend en opgeslagen.

Als een disk uitvalt, kan men terug berekenen wat de verloren byte had moeten zijn. Door deze pariteitsdata kan een RAID-3-systeem echter vaak niet gelijktijdig schrijven en lezen.

[bewerk] RAID-4

RAID-4 is identiek aan RAID-3 maar nu wordt de pariteit niet per byte maar per datablok (stripe) berekend. Een dergelijk datablok is bijvoorbeeld 32 of 64 kilobyte groot. Hierdoor kan gelijktijdig geschreven en gelezen worden mits er geen overlapping plaats vindt. Wel is het zo dat de schijf die voor de pariteit gebruikt wordt voor iedere schrijfactie aangesproken moet worden, en dus een snelheidsbeperkende factor is.

[bewerk] RAID-5

RAID 5 werkt identiek aan RAID-4, met het verschil dat de pariteitblokken niet op een enkele schijf opgeslagen worden maar verdeeld over de schijven in de array. Hierdoor geldt het nadeel van de pariteitsschijf die de snelheid beperkt dus niet meer. In de praktijk wordt RAID-5 dan ook vaak toegepast in tegenstelling tot de andere RAID-varianten met pariteit.

Voorbeeldje van RAID-5-opslag over 4 schijven:

schijf1 schijf2 schijf3 schijf4
stripe 1: Data01 Data02 Data03 Par010203 
stripe 2: Data04 Data05 Par040506  Data06
stripe 3: Data07 Par070809  Data08 Data09
stripe 4: Par101112  Data10 Data11 Data12
stripe 5: Data13 Data14 Data15 Par131415 
stripe n: ... ... ... ...

[bewerk] Voorbeeld pariteitsberekening RAID 5

De pariteitsberekening werkt vrij eenvoudig, alle te controleren bits van een set worden via een XOR-functie met elkaar gecombineerd. De XOR-functie kijkt in wezen alleen maar hoeveel bits er op 1 staan, en maakt zo van het totaal aantal bits dat op 1 staat een even getal. Voor het bovenstaande voorbeeld zou de berekening bijvoorbeeld als volgt kunnen gebeuren voor het allereerste byte (in iedere kolom staan dus 0, 2, of 4 enen):

blok       byte
---------  --------
Data01     00101001
Data02     10010101
Data03     00101011
           --------
Par010203  10010111

Bij wegvallen van een willekeurige schijf kan door nogmaals de XOR-functie toe te passen de verloren informatie gereconstrueerd worden. Zolang de schijf kapot is zal dit per opgevraagd blok gebeuren, dit zal de snelheid negatief beïnvloeden. Als de schijf vervangen is zal de nieuwe schijf eenmalig blok voor blok geheel gereconstrueerd worden, dit wordt rebuilden genoemd. Als dit eenmaal klaar is, is het array weer compleet functioneel.

[bewerk] RAID-6

RAID 6 is te vergelijken met RAID 5 maar gebruikt twee pariteitsblokken die verdeeld worden over alle schijven. De effectief bruikbare ruimte neemt dan ook met twee schijven af. De pariteitsberekening is veel complexer dan voor RAID 5, en is alleen op een beperkt aantal RAID-controllers beschikbaar. Hiermee kunnen dan wel twee willekeurige schijven falen.

[bewerk] Combinaties

RAID-configuraties kunnen ook in combinaties voorkomen, waarmee sommige van de nadelen van specifieke oplossingen verminderd worden. Zo kan RAID 0 en 1 gecombineerd worden tot RAID 10 (zie afbeelding), waarmee met minimaal 4 schijven de snelheid van RAID 0 en de betrouwbaarheid van RAID 1 gecombineerd worden. Ook RAID 5 wordt gecombineerd met RAID 0 in RAID 50 voor extra snelheid, of met RAID 1 in RAID 51 voor extra betrouwbaarheid.

[bewerk] Speciale functies

[bewerk] Hot-spare

Veel RAID-controllers kunnen met een speciaal hiervoor geïnstalleerde "hot-spare" schijf meteen beginnen met het reconstrueren van gegevens zodra een schijf uitvalt. Hiermee wordt de periode dat het systeem kwetsbaar is voor uitval van een tweede schijf zo kort mogelijk gehouden.

[bewerk] Online migratie en uitbreiding

Sommige RAID-controllers kunnen ook zonder verlies van gegevens en soms zelfs zonder te hoeven stoppen migreren van het ene naar het andere RAID-niveau. Stel er is een RAID-controller met twee schijven in RAID-1, door het bijplaatsen van een extra schijf kan dan de effectieve capaciteit verdubbeld worden door er een RAID-5 set van te maken. Een bestaande RAID-5 set kan door bijplaatsen van extra schijven ook nog eens uitgebreid worden.

[bewerk] Externe link

Digitale opslagmedia
De opslagpyramide Blu-ray Disc | Cache | Cavendish-cel | Cd-rom | Digital Video | DAS | Diskette | DVD | EEPROM | EPROM | EVD | Flashgeheugen | Harde schijf | HD DVD | HVD | Magneetband | Minidisc | MRAM | NAS | PCRAM | Ponskaart | PROM | RAID | RAM | Registergeheugen | ROM | SAN | USB-sleutel | Zipdisk
 
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu