RAID (tietotekniikka)

**Redundant Array of Independent Disks (RAID)** on tekniikka, jolla tietokoneiden vikasietoisuutta ja/tai nopeutta kasvatetaan käyttämällä useita erillisiä kiintolevyjä, jotka yhdistetään yhdeksi loogiseksi levyksi. RAID-tekniikkaa käytetään etenkin siellä, missä levyjen vasteajat tai virheettömyys ovat tärkeitä, kuten tiedosto- ja tietokantapalvelimissa.

## Historia

Nykyisen RAID5:n kaltaisen tekniikan patentoi IBM:n Norman Ken Ouchi vuonna 1977 (U.S. patent 4,092,732) ja Brian Clark (1988, US4761785). Termin RAID esittivät Berkeleyn yliopiston David A. Patterson, Garth A. Gibson ja Randy Katz julkaisussaan ”A Case for Redundant Arrays of Inexpensive Disks (RAID)”. Julkaisu esitettiin kesäkuussa 1988 SIGMOD:issa, jossa he esittelivät RAID1–5-tekniikat. Tekniikan idea on tuoda halvoilla (inexpensive) levyillä kalliita kaupallisia levyjärjestelmiä vastaava vikasietoisuus ja nopeus.

## Sovellukset

Tekniikkaa voidaan soveltaa useilla eri tavoilla, joista seuraavat ovat tavallisimmat. Käytössä on N kappaletta C-kokoisia levyjä.
* **RAID0** eli lomitus (*striping*) yhdistää levyt yhdeksi loogiseksi tallennustilaksi, jonka kapasiteetti on N×C, ja yhteen levyyn verrattuna luku- ja kirjoitusnopeus N-kertainen. Data kirjoitetaan lomitettuna, eli se jakautuu tasaisesti kaikille levyille. Mikäli levyt ovat erikokoisia, kokonaiskapasiteetti on N × pienimmän levyn koko. Jos RAID0-pakasta yksikin levy hajoaa, menetetään koko pakan kaikki data.
* **RAID1** eli peilaus (*mirroring*) tallentaa saman datan kahdelle (tai useammalle) erilliselle levylle, jolloin data säilyy vaikka toinen levyistä hajoaa. Periaatteessa tekniikka myös kaksinkertaistaa lukunopeuden.
* **RAID0+1 (RAID10)** yhdistää lomituksen ja peilauksen, jolloin sekä nopeus että vikasietoisuus paranevat. Data on palautettavissa, jos jokaisessa peilissä on ehjä levy.
* **RAID5** tarjoaa C × (N − 1) -kokoisen kapasiteetin. Yhden levyn kapasiteetti käytetään kaikille levyille hajautetun pariteettidatan tallentamiseen. Pakkaa voidaan käyttää myös ilman pariteettidatalevyä, mutta tällöin menetetään vikasietoisuus: normaalissa RAID5-pakassa dataa ei menetetä, vaikka mikä tahansa yksittäinen levy hajoaa. Jos pakasta hajoaa enemmän kuin yksi levy, menetetään pakan kaikki data. RAID5 kasvattaa luku- ja kirjoitusnopeutta verrattuna yksittäiseen levyyn, mutta vaatii pariteettilaskennan vuoksi myös paljon laskentatehoa.
* **RAID6** toimii kuten RAID5, mutta sisältää enemmän pariteettidataa. RAID6-pakasta voi hajota kaksi levyä ilman että dataa menetetään.

## Toteutus

RAID-tekniikan vaatiman suoritintehon vuoksi se tehdään yleensä tarkoitukseen varatulla ohjainkortilla, jolloin kyseessä on laitetasolla tehty RAID. Toisaalta minkä tahansa RAID-tekniikan voi tehdä myös ohjelmistolla käyttöjärjestelmän ominaisuuksilla. Halvemmat RAID-ratkaisut käyttävät laskentaan tietokoneen omaa suoritinta, jolloin kyseessä on ohjelmistopohjainen ratkaisu.

RAID-tekniikoita on näiden lisäksi muitakin, ja olemassa olevia voidaan yhdistellä. Kehittyneemmissä palvelimissa rikkoutuneen levyn voi vaihtaa konetta sammuttamatta (hot swap) ja rekonstruktoida RAID-järjestelmän. Yleensä osa levyistä voidaan varata lennossa käyttöön otettavaksi (hot-spare) jolloin levyn rikkoontuessa varalevy aktivoituu automaattisesti.

## Luotettavuus ja heikkoudet
Kiintolevyt vikaantuvat tyypillisesti joko hyvin varhain tai hyvin myöhään käyttöiän mukaan. Lisäksi vikaantumiseen vaikuttavat järjestelmälliset valmistusvirheet (valmistuserät) tai käyttöympäristön riskit (maanjäristykset, virtapiikit, virtakatkot). Näiden seurauksena vikaantumisriski samanlaisille levyille samassa levyjärjestelmässä voi olla samanlainen, ja toinen levy voi vikaantua ennen kuin ensimmäinen vikaantunut levy ehditään vaihtamaan.

## Katso myös

* Kiintolevy
* SCSI
* Parallel ATA
* Serial ATA
* SAS
* Redundanssi
* Looginen taltiohallinta

## Lähteet