RAID
Alle komponentene i en datamaskin vil med tiden slites ut og bli ødelagt. Hvor lang levetid delene har, varierer mellom typen utstyr, merker og modeller. Avvik under produksjon, driftstemperatur, luftfuktighet, støv og vibrasjoner kan også bidra til å korte ned levetida for mange enkeltkomponenter.
For de fleste delene av datamaskinen er ikke dette kritisk. Et defekt skjermkort eller defekt strømforsyning gir nedetid, men det kan enkelt rettes ved å bytte ut den defekte komponenten.
Lagringsenheter som harddisker og SSD-er kan også lett byttes med nye, men dataene som lå på dem, er en annen sak. Hvis det ikke finnes kopier av dataene eller redundans i datasystemet, kan en defekt lagringsenhet bety at dataene er tapt for alltid.
Redundans må ikke forveksles med sikkerhetskopi (backup)
Redundans sikrer mot nedetid og tap av data på grunn av enkle maskinvarefeil, men ved større feil, som brann, vannskader, tyveri, sletting ved feil og løsepengevirus, hjelper RAID lite. Her kommer sikkerhetskopier inn som løsning.
Sikkerhetskopier er kopier av viktige data som gjøres jevnlig, og som lagres ekstern fra serveren, helst i en helt annen bygning. Kopiene kan vi bruke hvis hovedsystemet vårt skulle miste dataene sine på grunn av alvorlige hendelser. Les mer om det i artikkelen "Sikkerhetskopiering".
RAID finnes i flere typer (RAID level) med forskjellig egenskaper. Felles for dem alle er at vi setter flere fysiske lagringsenheter som harddisker eller SSD-er til å arbeide sammen til en felles logisk lagringsenhet. Avhengig av typen oppsett kan vi få økt hastighet, bedre feiltoleranse eller større logiske lagringsenheter.
Lagringsenhetene vi bruker i RAID-oppsett
Lagringsenhetene som brukes i et RAID-oppsett, bør være av samme størrelse og ha like spesifikasjoner. Hvis det er store ulikheter, vil den tregeste og minste lagringsenheten legge restriksjoner på hastighet og størrelsen på hele oppsettet.
Det vanligste er å bruke harddisker med spinnende magnetplater for større lagringssystemer, men prisen på SSD er synkende og vil med tida ta over mer i lagringsløsningene.
Feiltoleranse med RAID
Alle RAID-variantene, med unntak av RAID 0, har innebygd redundans og kan derfor gjenoppbygges ved å bytte ut en defekt harddisk med en ny og tom harddisk.
I de andre RAID-typene (RAID level) har vi redundans som gjør det mulig fortsette å bruke RAID-oppsettet. Vi vil fortsatt ha tilgang til dataene og kan bruke RAID-oppsettet selv om en enkelt lagringsenhet er blitt defekt. Når en defekt lagringsenhet blir byttet ut, vil gjenoppbygging starte. Det er ressurskrevende og kan gi treghet for brukerne, men det vil alltid være tilgang til dataene.
Moderne lagringssystemer håndterer fint at lagringsenheter kobles fra og til mens maskinvaren er skrudd på (hot swap). Dette gjør at vi kan unngå fullstendig nedetid av lagringssystemet.
RAID 0 – striping
RAID 0 deler dataene opp i små datablokker (blocks) og striper disse utover flere lagringsenheter. Løsningen tilbyr ingen redundans. Hvis en av lagringsenhetene blir ødelagt, forsvinner halvparten av datablokkene i hver enkelt datafil. Dette vil si at alle filer blir korrupte og ødelagte.
RAID 0 gir økt overføringshastighet siden hver av lagringsenhetene får mindre datatrafikk og hastigheten fra begge lagringsenhetene kan brukes fullt ut. To fysiske 8 TB-harddisker i RAID 0 vil vises som en logisk 16 TB-lagringsenhet for operativsystemet.
I animasjonen under kan du se et forenklet eksempel på RAID 0. I animasjonen vises hver datablokk som en enkel bit, selv om fordelinga skjer i større blokker med mange bit av gangen.
RAID 1 – speiling
RAID 1 er den første RAID-varianten som har redundans og gir oss økt feiltoleranse. Dette gjøres ved å speile dataene ut til to eller flere lagringsenheter. Hver av lagringsenhetene har et komplett sett av alle data, og så lenge en av enhetene fungerer, er dataene tilgjengelige, og datasystemet går ikke ned.
I animasjonen under kan du se eksempel på RAID 1, og hvordan gjenoppbygginga skjer når en ny tom harddisk tar over for en defekt.
RAID 5 – en distribuert paritetsdisk
I Raid 5 fordeles datablokkene utover flere harddisker, ikke ulikt striping. I tillegg settes det av plass tilsvarende en av harddiskene til paritetsblokker. Paritetsblokkene fordeles jevnt på alle harddisker, dette gir oss uttrykket distribuert paritetsdisk. I RAID 5 kan vi miste en enkelt av lagringsenhetene uten å miste noe av innholdet.
Paritetsblokk (parity block)
En paritetsblokk summerer sammen innholdet i datablokkene på den samme fysiske plassen på de andre harddiskene. Dette gjør at hvis en harddisk blir ødelagt, kan det tapte innholdet gjenskapes ved å reversere utregningen.
I animasjonen under ser du et forenklet eksempel på hvordan datablokker og paritetsblokker fordeles på harddiskene, og hvordan redundansen fungerer når et RAID-oppsett må gjenoppbygges.
Fordeler og ulemper med RAID 5
I RAID 5-oppsett brukes lagringsplass som tilsvarer en harddisk til paritetsblokker. Dette er likt uansett om RAID-oppsettet er på tre harddisker eller tjuefire. Jo flere harddisker, jo mindre prosentandel av totallagringsplassen går bort til paritet. Ulempen er at flere harddisker øker sjansen for harddiskfeil, og hvis mer enn en harddisk slutter å fungere samtidig, vil ikke RAID-oppsettet klare oppbygging, og dataene er tapt.
RAID-varianten bruker også mye prosessorkraft eller en dedikert RAID-kontroller for å utregne paritet. Dette gjør at overføringshastigheten spesielt ved skriving til RAID-oppsettet kan bli begrenset.
RAID 6 – to distribuerte paritetsdisker
RAID 6 er en videreutvikling av RAID 5. Forskjellen er at mer plass settes av til paritetsblokker. Plassen tilsvarer to harddisker. Dette gjør at RAID 6 tåler at to vilkårlige harddisker blir defekt samtidig. RAID 6 er derfor mer aktuelt for RAID-oppsett med mange harddisker.
Animasjonen under viser forenklet hvordan RAID 6 fungerer, og hvordan det håndterer tap av to harddisker.
I noen tilfeller ønsker vi egenskapene fra forskjellige RAID-typer (RAID level). Da kan vi kombinere dem (Nested RAID levels) for eksempel til RAID 10 og RAID 50.
Det finnes flere varianter (implementations) av RAID, for eksempel bruker TrueNAS programvaren ZFS. Denne har en avart av RAID som kalles RAID-Z. Dette kan du lese mer om i artikkelen "Filsystemer, pools og VDevs i TrueNAS".
Blokk-datalagring (block data storage) er et alternativ til RAID som har økende bruk, spesielt for store datasystemer.
Speiling av hele maskiner eller datasentre bruker noen av de store tjenesteleverandørene. Slike oppsett bruker mange flere harddisker for å lagre den samme mengden data, men er mindre prosessorkrevende og raskere.