Forklaring af RAID

RAID, eller Redundant Array of Independent Disks, er en betegnelse for n√•r man kombinerer flere diske sammen til √©t disk volume, for at opn√• h√łjere driftssikkerhed, hastighed eller begge dele. Dette kan g√łres p√• flere forskellige m√•der, hvilket jeg vil fors√łge at afd√¶kke/forklare i denne artikel.

RAID benyttes som regel i servere, men kan ogs√• ops√¶ttes p√• private computere, forudsat man har grej der underst√łtter det. Man kan til dette form√•l benytte enten software eller hardware til at ops√¶tte sine RAID arrays.

 

Hardware- og software-RAID

Man kan aktivere RAID via hardware (RAID-controllerkort eller RAID-chip), eller via software (udelukkende software eller hybrid).

Hardware-RAID
En dedikeret hardwarecontroller giver mulighed for hardwarebaserede RAID-tjenester. Man kan generelt opsætte hardware-RAID på to måder: via et eksternt RAID-controllerkort eller via en intern RAID-chip. Når man opsætter RAID på denne måde, vil ens RAID være helt transparent for operativsystemet, hvilket betyder at dette blot vil se ens RAID array som en normal fysisk disk.

  • RAID-controllerkort
    Et udvidelseskort som forbindes til motherboardet. Kortet indeholder en RAID-processor samt I/O processorer med interfaces til drevene. Kortene kan koste en del, men siden de er separate fra v√¶rtscomputeren, vil alt ressourceforbrug foreg√• lokalt p√• det dedikerede kort istedet for at g√• gennem CPU’en p√• v√¶rtscomputeren.
  • RAID-chip
    En chip på motherboardet integrerer værtens interface, I/O interfaces for harddiske, RAID-processoren og en hukommelsescontroller.

Software-RAID
Leverer RAID-tjenester fra v√¶rtscomputeren. Software-RAID kommer i to varianter: udelukkende softwaredefineret via operativsystemet, og en hybridl√łsning hvor der benyttes en hardwarekomponent  til at aflaste systemprocessoren (CPU).

  • Udelukkende software
    Er den billigste form for RAID, og er ofte inkluderet som en indbygget funktion i styresystemet. Det er en v√¶rtsbaseret softwarel√łsning som styrer RAID-beregningerne for de tilkoblede harddiske. Aktiverer n√•r operativsystemet indl√¶ser RAID-driveren.
  • Hybrid
    Softwarebaseret RAID som benytter en hardwarekomponent til at levere RAID BIOS-funktioner p√• motherboardet. Denne teknologi tilbyder et lag af redundant beskyttelse for en fejlet bootproces. Udelukkende softwarebaseret RAID booter fra operativsystemet. og boot-fejl kan derfor p√•virke hele RAID-systemet. Dette beskytter tilf√łjelsen af RAID BIOS-funktionerne imod.

 

Bem√¶rk: n√•r der benyttes en form for hardware i forbindelse med ops√¶tning af RAID, findes der naturligvis en risiko for at denne hardware st√•r af. I tilf√¶lde af at dette sker, kan man blive tvunget til at finde nyt tilsvarende hardware, for igen at kunne l√¶se sine diske. Dette g√łr sig g√¶ldende, b√•de hvis der er benyttes RAID-controllerkort, RAID-chip eller RAID BIOS-funktioner.

 

Begreber der bruges i forbindelse med RAID

I forbindelse med RAID, bruger man generelt begreberne striping, mirroring og paritet.

Striping
Betyder generelt at flere diske kombineres til én disk.

Mirroring
Betyder generelt at diske klones, så samme data findes på flere diske.

Paritet
Kontroldata der kan bruges til at validere at data er som det skal være.
Forklaret anderledes, så er det noget som giver fejltolerance, ved at lave en kalkulation på data lagret to steder, hvorefter resultaterne heraf gemmes et tredje sted. Disse resultater kan herefter benyttes til at genoprette data, efter et fejlet drev er blevet skiftet.

Man gemmer generelt paritetsdata på to forskellige måder:

  • Dedikeret paritet, hvor man gemmer paritetsdata p√• en dedikeret disk.
  • Distribueret paritet, hvor paritetsdata ligger p√• diskene som indeholder den almindelige data.

 

Standard RAID-typer

Der er mange forskellige m√•der at k√łre RAID p√•, men Standard RAID typer er:

RAID 0 (striping, ingen paritet)
RAID 1 (mirroring, ingen paritet)
RAID 2 (bit level striping, dedikeret paritet)
RAID 3 (byte level striping, dedikeret paritet)
RAID 4 (block level striping, dedikeret paritet)
RAID 5 (block level striping, distribueret paritet)
RAID 6 (block level striping, dobbelt distribueret paritet)

 

Nested RAID-typer

Ud over dette, findes der også såkaldte Nested RAID typer, som er kombinationer af standardtyperne:

RAID 01 (RAID 0+1)
RAID 03 (RAID 0+3)
RAID 10 (RAID 1+0)
RAID 50 (RAID 5+0)
RAID 60 (RAID 6+0)
RAID 100 (RAID 10+0)

 

De mest brugte RAID-typer

Eftersom mange af RAID-typerne ikke rigtigt bruges i praksis, vil jeg i denne artikel fokusere prim√¶rt p√• f√łlgende mest brugte RAID typer:

RAID 0 (striping)
RAID 1 (mirroring)
RAID 5 (striping, distribueret paritet)
RAID 6 (striping, dobbelt distribueret paritet)
RAID 10 (striping + mirroring)

I tillæg til dette, vil jeg komme ind på nogle enkelte, mere specielle RAID-typer efter dette, blandt andet Synologys Hybrid RAID, SHR. (MANGLER)
√ėnsker du yderligere information, findes der kildeangivelser til alt dette i bunden af artiklen.

 

RAID 0 (striping)

Diske kombineres til √©n stor disk, og data fordeles skiftevis mellem diskene. Kr√¶ver minimum 2 diske. N√•r en enkelt disk fejler, fejler hele systemet. Dette skyldes selvf√łlgelig at filsystemet str√¶kker over alle diskene, som √©n stor disk. Jo flere diske man har, desto st√łrre risiko er der dermed for at systemet fejler. Fordelen er at der kan l√¶ses fra flere diske p√• samme tid, hvilket giver h√łjere hastigheder.  S√łgetiden vil v√¶re den samme som de underliggende diske. Overf√łrselshastigheden √łges med en faktor svarende til de underliggende diske b√•de ved l√¶sning og skrivning.

 

RAID 1 (mirroring)

Data spejles/duplikeres p√• tv√¶rs af flere diske, som kombineres til √©n stor disk. Man mister derfor lagringsplads, da alt skal ligge flere gange. Kr√¶ver minimum 2 diske. N√•r en enkelt disk fejler, vil systemet k√łre videre p√• de √łvrige. Med andre ord, s√• √łges redundansen med en faktor svarende til antallet af diske. To diske vil f.eks. betyde dobbelt s√• h√łj redundans. S√łgetiden vil, ved parallel tilgang, √łges med en faktor tilsvarende antal brugte diske. Overf√łrselshastigheden √łges ogs√• med en faktor svarende til antal diske, men kun ved l√¶sninger. Ved skrivninger er der ingen hastighedsfor√łgelse, da alt data skal skrives til alle diske.

 

RAID 5 (striping, distribueret paritet)

Som RAID 0, men med en distribueret paritetsblok. Dette betyder at hvis √©n disk st√•r af, vil systemet kunne gendannes. Kr√¶ver som minimum 3 diske for at fungere. Redundansen forbedres svarende til 1, divideret med antal diske. S√łgetiden vil v√¶re den samme som den langsommeste af diskene. Overf√łrselshastigheden ved l√¶sning er den samme som summen af de underliggende diske. Ved skrivninger vil hastigheden v√¶re en del lavere, da der ogs√• skal skrives paritetsdata. S√łgetiden i forbindelse med dette (skrivninger), vil nogle gange for√•rsage et relativt stort fald i performance.

 

RAID 6 (striping, dobbelt distribueret paritet)

Som RAID 5, men med dobbelt så mange paritetsblokke. Dette betyder at der kan håndteres hvis 2 diske står af. Kræver som minimum 4 diske for at fungere. Ydelsen vil være den samme som RAID 5, minus en disk.

 

RAID 10 (striping + mirroring)

En kombination af RAID 1 og RAID 0, hvilket betyder at det er striping og mirroring p√• samme tid. Mere specifikt, s√• er det et stripe af et mirror. Kr√¶ver som minimum 4 diske for at fungere. I et array med 4 diske, vil systemet stripe data fra to af diskene, som hver best√•r af to diske der k√łrer mirroring: Ydelsesm√¶ssigt vil der v√¶re samme skrivehastighed som med RAID 1 (mirroring), men med dobbelt l√¶sehastighed, p√• grund af brugen af striping.

 

RAID vs. backup

Afslutningsvist er det vigtigt at n√¶vne, at RAID ikke er nogen erstatning for backup. Alt RAID, med undtagelse af RAID 0, beskytter en mod at en enkelt disk fejler. Nogle kan endda beskytte dig mod at 2 diske fejler. Det er dog stadig vigtigt at have backup for at sikre sig helt, af f√łlgende √•rsager:

  • Backup er nyttigt hvis alle drev fejler som resultat af oversp√¶nding eller lignende str√łmproblemer.
  • Backup beskytter i tilf√¶lde af tyveri.
  • Backup beskytter mod brugerfejl.
    Hvis nogen ved en fejl sletter noget vigtigt data, og dette ikke bemærkes i længere tid, er det en fordel at have gode backups, så disse data kan gendannes derfra.

 

Læringsvideo om RAID

Er du typen der gerne vil se en video for at lære ting som dette istedet, har jeg indlagt en video der kan benyttes herunder.

1

En kommentar til “Forklaring af RAID”

Skriv en kommentar