Naar inhoud springen

Redundant array of independent disks

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Kozmoz (overleg | bijdragen) op 5 jun 2004 om 00:11. (Eerste opzet van artikel over RAID)
Deze versie kan sterk verschillen van de huidige versie van deze pagina.
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)

RAID is een afkorting van Redundant Array of Independent Disks.

Deze schijf technologie wordt veel toegepast in servers waar grote hoeveelheden data opgeslagen worden en waar de data beveiligd moet zijn tegen gegevens verlies. Professionele RAID systemen gebruiken vaak SCSI harde schijven als basis, maar tegenwoordig is op de meeste consumenten moederborder ook RAID beschikbaar waarop IDE of SATA harde schijven aangesloten kunnen worden.

Zonder RAID

Bij normaal gebruik wordt iedere harde schijf gezien als een afzonderlijke schijf (In Windows herkenbaar aan de eigen schrijfaanduiding as C,D,E enz). Data wordt dan door de (IDE/SATA)controller naar de disk gestuurd die de gebruiker aangeeft, waarbij de data achter elkaar naar deze disk geschreven wordt. Alle data komt terecht op 1 fysieke schrijf.

RAID

In een RAID systeem worden meerdere harde schrijven gecombineerd tot een zogenaamde "array of disks" (groep van schijven). Elke array wordt door het computer systeem als een enkele harde schrijf gezien, ook al bestaat deze array uit 2, 3, 4 of zelfs meer harde schrijven. Door deze combinatie van schijven kan een dergelijke array sneller, maar ook veiliger werken dan een enkele schijf.

Er bestaan verschillende RAID nivo's met ieder een eigen toepassingsgebied.

RAID nivo's

RAID niveauAantal schijvenPluspuntenMinpunten
0 minimum 2 Snelste doorvoer van data voor alle data, Eenvoudige opzet, Eenvoudig in te voeren Geen fout correcties, 1 disk defect = alle data verloren
1 minimum 2 100% foutcorrectie, Eenvoudige opzet Duur en data langzaam lezen
2 minimum 3 Fout correctie, ook voor disks zonder ingebouwd correctie systeem Geen praktische toepassing
3 minimum 3 Snelle data doorvoer voor sequentiele data, Efficiënte fout correctie Kan niet gelijktijdig schrijven en lezen
4 minimum 3 Snel lezen voor alle data, Efficiënte fout correctie Langzaam schrijven
5 minimum 3 Snel lezen voor alle data, Efficiënte fout correctie, Beste voor netwerk toepassingen Langzamer dan RAID-0 en RAID-1, Duur


RAID-0

RAID-0 (ook bekend als "striping") zet enkele schijven in een array en benaderd deze als een grote disk.

De kleinste schijf capaciteit in de array bepaalt de omvang van dit RAID systeem. Als je bijvoorbeeld een 50GB, 100GB en een 250GB drisk in een RAID-0 array zet, dan zal de PC een disk zien van 150GB (50GB x 3) t.o.v. de 250GB die maximaal beschikbaar zou kunnen zijn. RAID-0 is ongeveer 2 maal zo snel als een enkele schijf. De snelheid wordt in basis gehaald doordat met; byte1 naar schijf1, byte 2 naar schijf2, byte3 naar schijf1 , etc. stuurt. Hierdoor is de helft van de snelheid nodig voor schijf 1 en de andere helft voor schijf 2.

Aangezien de PC een hogere snelheid aan kan, zien we dat de snelheid van de array de som van de maximale snelheden de individuele disks in de array kan zijn. RAID-0 biedt geen fout correcties. Als 1 disk uitvalt, dan is alle data verloren!

RAID-1

RAID-1 (ook bekend als "mirroring") kopieert in feite alle gegevens van schijf 1 identiek naar schijf 2.

Als een schijf uitvalt, zal het computer systeem dit niet merken en gewoon blijven werken (de RAID controller zal de gebruiker natuurlijk wel een hint geven dat er iets fout is - maar het systeem werkt gewoon door). Ook hier wordt de array als een enkele disk gezien. Hoewel RAID-1 de minst efficiënte manier van data beveiliging is en voor conventionele SCSI RAID systemen ook een erg 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 160GB schijven, dan zal het systeem maar 1 schijf ter grootte van 160GB zien.

Ook hier is de kleinste schijf bepalend voor de uiteindelijke opslagcapaciteit van het gehele RAID systeem.

RAID-2

RAID-2 gebruikt parallel data transport (zie ook striping bij RAID-0) aangevuld met een zogenaamde Hamming Error Correct Code (ECC), bedoeld voor schijven die geen eigen fout correctie hebben. Alle moderne hardeschijven hebben tegenwoordig wel fout correctie. Omdat Hamming code gecompliceerd is, heeft men meer dan 1 schijf nodig voor de opslag van deze code. Deze RAID variant heeft geen voordelen t.o.v. RAID-3.

Todo: Beschijven princiepe van Hamming Error Correct Code

RAID-3

RAID-3 werkt bijna hetzelfde als RAID-2 met het verschil dat men 1 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. Echter door deze parity data, kan een RAID-3 system vaak niet gelijktijdig schrijven en lezen.

RAID-4

RAID-4 is identiek aan RAID-3 maar nu wordt de pariteit niet per byte maar per data blok berekend. Een deregelijk data blok is bijvoorbeeld 32 of 64 Kbyte groot. Hierdoor kan gelijktijdig geschreven en gelezen worden mits er geen overlapping plaats vindt. Er is tov RAID 5 geen belangrijk voordeel.

RAID-5

RAID 5 werkt identiek aan RAID-4, met het verschil dat de pariteit-blok niet op 1 enkele schijf opgeslagen wordt maar verdeeld wordt over de schijven in de array. Dit zou men dus kunnen zien als RAID-0, aangevuld met pariteit-data om het eea veiliger te maken. RAID-5 kan het beste in een netwerk omgeveing gebruikt worden.