Most recent comments
Liveblogg nyttårsaften 2017
Tor, 10 months, 3 weeks
Jogging og blogging
Are, 1 year, 10 months
Liveblogg nyttårsaften 2016
Are, 1 year, 10 months
Reading in dark times
Are, 2 years
Moldejazz 2016
Camilla, 2 years, 3 months
Dørskilt
Karoline, 2 years, 4 months
Halifax
Tor, 2 years, 5 months
Sony Smartwatch 3 review
Tor, 2 years, 5 months
Numerikk, takk
Tor, 2 years, 5 months
Topp tur
Camilla, 2 years, 7 months
50 book challenge
Camilla, 10 months, 3 weeks
Controls
Register

RAID

I dag skal vi forklare et konsept som den jevne PC-bruker neppe har hørt om - RAID, hvilket står for Redundant Array of Independent (eller Inexpensive) Disks. Som navnet indikerer, dreier dette seg om å få flere harddisker til å jobbe sammen, og målet er å få bedre ytelse eller pålitelighet - eller begge deler. RAID brukes mest i servere, spesielt hos virksomheter med høye krav til fart og pålitelighet, men kan også fås i maskiner for hjemmemarkedet. IBM er opphavet til denne teknologien - den ble først fremlagt i artikkelen A Case for Redundant Arrays of Inexpensive Disks i 1988.

RAID fins i flere varianter; ikke alle fortjener betegnelsen.

RAID 0 bedrer harddiskytelsen ved å la to separate harddisker operere som en enkelt harddisk. Alle filer deles i to eller flere deler og fordeles likt på de to diskene. Når du fyrer opp den ferskeste DivXen leses den fra diskene i parallell. Hver disk har sin del av filen, slik at det i teorien går dobbelt så fort å hente data. Dette medfører en åpenbar svakhet. Hva skjer hvis en disk stryker med? Vel - jeg har testet dette selv - ufrivillig - og det anbefales ikke. Datamaskinen din får gjort fint lite når den plutselig har tilgang på bare halvparten av alle filene den trenger for å kjøre, og det er ekstremt ugunstig for MP3-samlingen å bli kappet i to - på langs.
Her er det altså fint lite redundans og uavhengighet, og RAID 0 har ikke noe for seg med mindre du har et veldig stort behov en raskere harddisk. Bedre diskytelse er en hederlig målsetning - harddisken er flaskehalsen i systemet ditt. Imidlertid halverer du øyeblikkelig påliteligheten, og det er ikke noen god handel for den jevne PC-bruker.

RAID 1 innebærer å ha to eller flere harddisker hvor innholdet på dem er identisk. Når du gjør endringer på disken gjøres endringene på alle diskene, samtidig. Dersom en harddisk slutter å fungere spiller det fint liten rolle - du har en identisk kopi på en annen disk, og avhengig av RAID-løsningen vil ikke brukeren merke det overhodet om en disk svikter. Profesjonelle løsninger for bedriftsmarkedet, som er det største markedssegmentet for RAID, tilbyr gjerne løsninger som lar teknikeren plukke ut disken som ikke virker og putte inn en ny mens resten av maskinen surrer og går. Når den nye disken er på plass vil RAID-systemet automatisk kopiere over alt innholdet som ligger på de andre diskene, slik at oppsettet igjen er komplett. Her har man åpenbare fordeler: Sannsynligheten for at et harddiskkræsj får fatalt utfall er halvert (med to disker). Det vil, som med RAID 0, være langt raskere å lese filer fra disken enn med bare én harddisk - systemet kan lese fra begge samtidig. Imidlertid sparer man ikke noe tid når man må skrive til harddisken, siden alle disker i arrayet må oppdateres med de nye endringene.
Et minus med RAID 1 er at diskene bør være like store - eventuell ekstra plass på en disk vil gå til spille, siden innholdet på hver disk må være identisk.

Det fins mange RAID-varianter - fra 0 opp til 5 med flere - men 0, 1 og 5 er de mest kjente, og RAID 5 er den som er vanligst å bruke. Tanken er å rette opp litt av bakdelen med RAID 1 - at man "sløser vekk" mye kapasitet når man må lagre identiske kopier av alt X ganger. RAID 5 benytter seg av paritet istedet. Kort fortalt fungerer dette slik at man kikker på en mengde data A, en mengde data B og en megde data C, og regner seg ved hjelp av disse binært frem til en paritetssum Y. Vi antar nå at disken med data B faller ut. Ved hjelp av pariteten Y og de overlevende dataene A og C kan vi regne oss frem til hva B var. Fordelen er at å lagre paritetsinformasjon for data krever mindre plass enn å lagre en fullstendig kopi av dataene. Paritetsinformasjonen er i RAID 5 spredt utover harddiskene (minimum tre) sammen med vanlige data, men selvfølgelig slik at paritetsinformasjonen for en gitt mengde data ligger på en annen disk enn dataene. Bakdelen er at å regne ut paritetsinformasjon for hver minste datamengde man skriver til disk er meget prosessorintensivt,
man må ha dedikert maskinvare for det, og denne maskinvaren er langt mer kompleks enn den som kan brukes for RAID 0 og 1. Hvis en disk faller ut er det ikke så trivielt å erstatte den som i RAID 1, hvor man bare kan putte inn en ny og lage en ny kopi - her må man regne seg frem til hva den manglende informasjonen var samt rekonstruere paritetsinformasjonen som lå på den disken som falt ut. Når dette skjer automatisk i maskinvaren er det til å leve med, og RAID 5 er den vanligste formen for RAID i dag.

Det fins magne andre former for RAID, for eksempel kan man sette opp to forskjellige RAID 0-sett og så sette disse sammen til en RAID 1, for å øke hastigheten samtidig som man beholder datasikkerheten. Enkelte former for RAID kan benytte over 10 disker i et array. Logisk nok er det en øvre grense for hvor mange disker det er lurt å putte inn i en konfigurasjon - jo flere disker man putter inn, jo større er sannsynligheten for at en faller ut, og RAID 1 og 5 takler bare ett kræsj av gangen. Det fins RAID 5 hvor paritetsinformasjonen dupliseres og skrives til flere disker, slik at man kan overleve to diskkræsj samtidig, dette kalles gjerne RAID 6.

Jeg tror jeg stopper der - gratulerer til deg som fremdeles er her; du kan nå nikke interessert når du havner i en diskusjon om diskredundans, og si at du synes RAID 1 i all sin enkelhet har en viss sjarm ved seg.

Hvis du vil vite mer om RAID:
Wikipedias Redundant Array of Independent Disks
AC&NC sin side med RAID-tutorial - krever Flash 7
PC Guide sin RAID-tutorial, veldig lettfattelig

Comments

Anders G.,  14.09.05 09:31

Det er rimelig vanlig å ha en ekstra disk stående i maskina, ubrukt, i systemer som er relativt kritiske (som jo gjerne RAID-baserte er). RAID-kontrolleren (den som alle diskene er koblet til, og som tar seg av administrasjonen, slik at du ikke trenger å tenke noe over at du bruker et RAID-oppsett) vil automatisk begynne gjennopprettingen av den ødelagte disken, over på den ekstra disken. På den måten blir den kritiske fasen, hvor dine data er _veldig_ utsatt ved nye feil, minimert til den tiden gjennopprettingen tar - ikke den tiden det tar for en eller annen å oppdage at det har skjedd noe på serverrommet, og så få tak i en ekstra disk, sette den inn og få gjennoppbygd dataene. Tiden det tar for noen å oppdage dette trenger forøvrig ikke være så lang. De fleste kontrollere har system for varsling av administrator - f.eks. via e-post.

Det er forøvrig veldig gøy å gå bort til en maskin, røske ut en disk mens den kjører, for så konstatere at alt er som før, ikke en gang en melding i loggen var det.. (noe det godt kunne vært, spør du meg) :)
baluba.org har en slik kontroller satt opp i RAID-5. Vi har hatt problemer med en disk der, men ikke mista noen data.

Forøvrig så er det som Wikipedia-linken til Are nevner, en hel masse andre varianter tilgjengelig også. I tillegg nevnes ofte JBOD (Just a bunch of disks) vanlig å nevne i forbindelse med RAID, selv om det knapt (ikke) er det. Som navnet tilsier, har man en haug med disker. Disse blir så "satt sammen" til en disk, slik at man kan få en stor partisjon. Ingen sikkerhet, og ingen ytelsesøkning, bare fare. :)

Forøvrig trenger man ikke nødvendigvis et fysisk RAID-kort i disse dager. Både Windows og Linux tilbyr såkalte softraid. (Programvarebasert RAID) Dette er rett og slett "alternative drivere" som gjør den samme jobben, men på bekostning av prosessorkraft i maskinen.

Torgar,  14.09.05 11:25

Den store fordelen med hardware RAID er jo å kunne ha "hotswap" disker og diskinterface. Det kuleste (og veldig sikkert) er jo å RAIDe RAIDene, dvs. ha 3 RAIDkontrollere som igjen utgjør et RAID 5 :)
Category
Miscellaneous
Tags
Views
3623