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 levy- 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).[1][2][3] 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)”.[4] 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.[5]
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.
Katso myös
Lähteet
- 1988: U.C. Berkeley paper catalyses interest in RAID Computer History Musem. Viitattu 26.10.2019. (englanniksi)
- System for recovering data stored in failed memory unit patents.google.com. Viitattu 26.10.2019. (englanniksi)
- Parity spreading to enhance storage access worldwide.espacenet.com. Viitattu 26.10.2019. (englanniksi)
- A Case for Redundant Arrays of Inexpensive Disks (RAID) (PDF) .eecs.berkeley.edu. Viitattu 26.10.2019. (englanniksi)
- H. Peter Anvin: The mathematics of RAID-6 (PDF) ftp.dei.uc.pt. Viitattu 25.10.2019. (englanniksi)