Hopp til innhald
Fagartikkel

RAID

RAID (Redundant Array of Inexpensive Disks) er teknologi som lar oss setje enkeltståande lagringseiningar som harddiskar til å arbeide saman som ei stor logisk lagringseining. Slike oppsett gir som oftast auka redundans, og det resulterer i betre feiltoleranse og større logiske lagringseiningar.

Redundans innan lagringsløysingar

Alle komponentane i ei datamaskin vil med tida slitast ut og bli øydelagde. Kor lang levetid delane har, varierer mellom typen utstyr, merkar og modellar. Avvik under produksjon, driftstemperatur, luftfukt, støv og vibrasjonar kan òg bidra til å korte ned levetida for mange enkeltkomponentar.

For dei fleste delane av datamaskina er ikkje dette kritisk. Eit defekt skjermkort eller defekt straumforsyning gir nedetid, men det kan enkelt rettast ved å byte ut den defekte komponenten.

Lagringseiningar som harddiskar og SSD-ar kan òg lett bytast med nye, men dataa som låg på dei, er ei anna sak. Dersom det ikkje finst kopiar av dataa eller redundans i datasystemet, kan ei defekt lagringseining bety at dataa er tapt for alltid.

Redundans må ikkje forvekslast med sikkerheitskopi (backup)

Redundans sikrar mot nedetid og tap av data på grunn av enkle maskinvarefeil, men ved større feil, som brann, vasskadar, tjuveri, sletting ved feil og løysepengevirus, hjelper RAID lite. Her kjem sikkerheitskopiar inn som løysing.

Sikkerheitskopiar er kopiar av viktige data som blir gjorde jamleg, og som blir lagra eksternt frå serveren, helst i ein heilt annan bygning. Kopiane kan vi bruke dersom hovudsystemet vårt skulle miste dataa sine på grunn av alvorlege hendingar. Les meir om det i artikkelen "Sikkerheitskopiering".

RAID (Redundant Array of Inexpensive Disks)

RAID finst i fleire typar (RAID level) med ulik eigenskapar. Felles for dei alle er at vi set fleire fysiske lagringseiningar som harddiskar eller SSD-ar til å arbeide saman til ei felles logisk lagringseining. Avhengig av typen oppsett kan vi få auka hastigheit, betre feiltoleranse eller større logiske lagringseiningar.

Fysisk versus logisk lagringseining

Fysisk lagringseining eller fysisk disk (physical drive) er omgrep vi bruker vi for å gjere tydeleg at vi snakkar om enkeltståande fysiske lagringseiningar som ein harddisk eller SSD.

I tilfelle som med RAID, der fleire fysiske lagringseiningar blir sette til å arbeide saman, vil desse presentere seg til operativsystemet som ei enkelt lagringseining. Vi bruker då omgrepet logiske lagringseiningar (volume eller logical drive) for å få fram at dette ikkje er ei fysisk eining, men ei gruppe av fysiske einingar som for systemet ser ut som ei eining.

Lagringseiningane vi bruker i RAID-oppsett

Lagringseiningane som blir brukte i eit RAID-oppsett, bør vere av same storleik og ha like spesifikasjonar. Dersom det er store forskjellar, vil den tregaste og minste lagringseininga legge restriksjonar på hastigheit og storleiken på heile oppsettet.

Det vanlegaste er å bruke harddiskar med spinnande magnetplater for større lagringssystem, men prisen på SSD er fallande og vil med tida ta over meir i lagringsløysingane.

Feiltoleranse med RAID

Alle RAID-variantane, med unntak av RAID 0, har innebygd redundans og kan derfor byggast opp att ved å byte ut ein defekt harddisk med ein ny og tom harddisk.

I dei andre RAID-typane (RAID level) har vi redundans som gjer det mogleg å halde fram med å bruke RAID-oppsettet. Vi vil framleis ha tilgang til dataa og kan bruke RAID-oppsettet sjølv om ei enkelt lagringseining har blitt defekt. Når ei defekt lagringseining blir bytt ut, vil gjenoppbygging starte. Det er ressurskrevjande og kan gi tregleik for brukarane, men det vil alltid vere tilgang til dataa.

Moderne lagringssystem handterer fint at lagringseiningar blir kopla frå og til mens maskinvara er skrudd på (hot swap). Dette gjer at vi kan unngå fullstendig nedetid av lagringssystemet.

RAID 0 – striping

RAID 0 deler dataa opp i små datablokker (blocks) og stripar desse utover fleire lagringseiningar. Løysinga tilbyr ingen redundans. Dersom ei av lagringseiningane blir øydelagde, forsvinn halvparten av datablokkene i kvar enkelt datafil. Dette vil seie at alle filer blir korrupte og øydelagde.

RAID 0 gir auka overføringshastigheit sidan kvar av lagringseiningane får mindre datatrafikk og hastigheita frå begge lagringseiningane kan brukast fullt ut. To fysiske 8 TB-harddiskar i RAID 0 vil visast som ei logisk 16 TB-lagringseining for operativsystemet.

I animasjonen under kan du sjå eit forenkla døme på RAID 0. I animasjonen blir kvar datablokk vist som ein enkel bit, sjølv om fordelinga skjer i større blokker med mange bit av gongen.

Video: Netron AS / CC BY-SA 4.0

RAID 1 – spegling

RAID 1 er den første RAID-varianten som har redundans og gir oss auka feiltoleranse. Dette blir gjort ved å spegle dataa ut til to eller fleire lagringseiningar. Kvar av lagringseiningane har eit komplett sett av alle dataa, og så lenge ei av einingane fungerer, er dataa tilgjengelege, og datasystemet går ikkje ned.

I animasjonen under kan du sjå døme på RAID 1, og korleis gjenoppbygginga skjer når ein ny tom harddisk tek over for ein defekt.

Video: Netron AS / CC BY-SA 4.0

RAID 5 – ein distribuert paritetsdisk

I Raid 5 blir datablokkene fordelte utover fleire harddiskar, ikkje ulikt striping. I tillegg blir det sett av plass tilsvarande ein av harddiskane til paritetsblokker. Paritetsblokkene blir jamt fordelte på alle harddiskar, dette gir oss uttrykket distribuert paritetsdisk. I RAID 5 kan vi miste ei enkelt av lagringseiningane utan å miste noko av innhaldet.

Paritetsblokk (parity block)

Ei paritetsblokk summerer saman innhaldet i datablokkene på den same fysiske plassen på dei andre harddiskane. Dette gjer at dersom ein harddisk blir øydelagd, kan vi attskape det tapte innhaldet ved å reversere utrekninga.

I animasjonen under ser du eit forenkla døme på korleis datablokker og paritetsblokker blir fordelte på harddiskane, og korleis redundansen fungerer når eit RAID-oppsett må byggast opp igjen.

Video: Netron AS / CC BY-SA 4.0

Fordelar og ulemper med RAID 5

I RAID 5-oppsett bruker vi lagringsplass som svarer til ein harddisk til paritetsblokker. Dette er likt anten RAID-oppsettet er på tre harddiskar eller tjuefire. Jo fleire harddiskar, jo mindre prosentdel av totallagringsplassen går bort til paritet. Ulempa er at fleire harddiskar aukar sjansen for harddiskfeil, og dersom meir enn ein harddisk sluttar å fungere samtidig, vil ikkje RAID-oppsettet klare oppbygging, og dataa er tapt.

RAID-varianten bruker òg mykje prosessorkraft eller ein dedikert RAID-kontroller for å rekne ut paritet. Dette gjer at overføringshastigheita spesielt ved skriving til RAID-oppsettet kan bli avgrensa.

RAID 6 – to distribuerte paritetsdiskar

RAID 6 er ei vidareutvikling av RAID 5. Forskjellen er at meir plass blir sett av til paritetsblokker. Plassen svarer til to harddiskar. Dette gjer at RAID 6 toler at to vilkårlege harddiskar blir defekt samtidig. RAID 6 er derfor meir aktuelt for RAID-oppsett med mange harddiskar.

Animasjonen under viser forenkla korleis RAID 6 fungerer, og korleis det handterer tap av to harddiskar.

Video: Netron AS / CC BY-SA 4.0

RAID-kombinasjonar

I nokre tilfelle ønsker vi eigenskapane frå ulike RAID-typar (RAID level). Då kan vi kombinere dei (Nested RAID levels) til dømes til RAID 10 og RAID 50.


RAID-variantar og alternativ

Det finst fleire variantar (implementations) av RAID, til dømes bruker TrueNAS programvara ZFS. Denne har ein avart av RAID som blir kalla RAID-Z. Dette kan du lese meir om i artikkelen "Filsystem, pools og VDevs i TrueNAS".

Blokk-datalagring (block data storage) er eit alternativ til RAID som har aukande bruk, spesielt for store datasystem.

Spegling av heile maskiner eller datasenter bruker nokre av dei store tenesteleverandørane. Slike oppsett bruker mange fleire harddiskar for å lagre den same mengda data, men er mindre prosessorkrevjande og raskare.