RAID

Wikiopistosta
RAID 0+1 -järjestelmän toimintaperiaate

RAID (Redundant Array of Independent Disks) on teknologia jonka avulla voidaan yhdistää monta fyysistä kiintolevyä yhdeksi loogiseksi levyksi. RAID tekniikka on eniten käytettynä siellä missä levyjen virheettömyys ja nopeus ovat tärkeitä, esimerkiksi tietokantapalvelimissa.

Historia[muokkaa]

Ennen RAIDin kehitystä IBM oli käyttänyt samankaltaiseen käyttötarkoitukseen yhtä suurta kiintolevyä niin kutsutulla peilausmenetelmällä 1970-luvulta asti. Prosessorien nopeuden kasvaessa äkillisesti, David A. Pattersonin johtama kehitystiimi Kalifornian yliopistossa alkoi kehittää tehokkaampaa ratkaisua yhden paksun ja nopeasti pyörivän kiintolevyn korvaajaksi. Vuonna 1988 tiimi julkaisi artikkelin "A Case for Redundant Arrays of Inexpensive Disks", jossa esiteteltiin lukuisten pienempien ja halvempien kiintolevyjen, jotka on kytketty yhdeksi järjestelmäksi, suoriutuvan samasta tehtävästä tehokkaammin ja edullisemmin. Kiintolevyjen määrän nostamaa virheiden riskiä pystytään korvaamaan levyjen päällekkäisyyttä konfiguroimalla tavalla, jossa kokonaisluotettavuus ja virheriski on yhtä suurta kiintolevyä pienempi. Alkuperäisen kehitystiimin päätavoite oli kuitenkin luotettavuuden sijaan suorituskyvyn parantamisessa, vaikka myöhemmin RAIDin todellinen arvo paljastui nimenomaan virheettömyyden tärkeyttä korostavissa järjestelmissä. RAID-järjestelmien hinta myös nousi odotettua korkeammaksi, jolloin lyhenteen I-kirjaimen merkitys vaihdettiin sanasta Inexpensive (halpa) sanaan Independent (itsenäinen).[1]

Vaikka Pattersonin kehitystiimi standardisoi RAIDin ja nosti sen julkisuutta eritysesti kuluttajille, samaa periaatetta käyttäviä järjestelmiä oli käytössä jo ennen artikkelin julkaisua. IBM:n peilausmenetelmän lisäksi yhtiö oli esimerkiksi vuonna 1977 patentoinut menetelmän, joka myöhemmin nimettiin RAID 4:ksi. Samoin Digital Equipment Corporationin peilaavat kiintolevyjärjestelmät vuodelta 1983 saivat artikkelin julkaisun jälkeen luokituksen RAID 1.

RAID luokat[muokkaa]

Yleisimmät RAID-luokat:

  • RAID 0 luokka lomittää tiedot kahdelle tai useammalle kiintolevylle. Tämä mahdollistaa RAID luokista parhaan suorituskyvyn mutta ei tarjoa vikasietoa.
  • RAID 1 koostuu vähintään kahdesta kiintolevystä, jotka kopioi toisensa datan ja ovat käytännössä identtisiä. Lukunopeus ei ole niin nopea kuin RAID 0:ssa mutta RAID 1 tarjoaa vikasietoa.
  • RAID 3 käyttää lomitus menetelmää ja omistaa yhden tai useamman kiintolevyn pariteettidatan tallennukselle järjestelmän koon mukaan.
  • RAID 5 lomittaa yhden levyn kapasiteetin toisille levyille pariteettidatan tallentamiseen, joka mahdollistaa sen että järjestelmä toimii vaikka yksi kiintolevy lakkaisi toimimasta ja yhtään dataa ei menetetä. RAID 5 on nopeampi kuin yksittäinen kiintolevy mutta ei niin nopea kuin RAID 0. RAID 5 vaatii vähintään kolme levyä mutta on suositeltavaa käytettävän ainakin viittä levyä.
  • RAID 6 on samankaltainen kuin RAID 5, mutta se sisältää toisen pariteettidatan tallennus rakenteen joka on jaettu jokaiseen levyyn. Tämä mahdollistaa että järjestelmästä voi hajota kaksi levyä ennen kuin dataa menetetään. Hyvä vikasietoisuus kuitenkin maksaa sen että kirjoitus nopeus on hitaampi kuin RAID 5.

[2]

Sisäkkäinen RAID[muokkaa]

Joitakin RAID-tasoja kutsutaan sisäkkäisiksi, koska ne perustuvat RAID-tasojen yhdistelmään.

  • RAID 1+0 yhdistää RAID 1 ja RAID 0. Yleensä tätä kutsutaan RAID 10, joka tarjoaa korkeamman suorituskyvyn kuin RAID 1, mutta kalliimmalla kustannuksella. RAID 1+0 data on peilattua ja peilit on raidoitettuja.
  • RAID 0+1 (RAID 01) on samankaltainen kuin RAID 1+0, paitsi datan organisointi menetelmä on vähän erilainen. Mieluummin kuin loisi uuden peilin ja sitten raidoittaa peilin, RAID 0+1 luo raita-setin ja sitten peilaa raita-setin.
  • RAID 0+3 (RAID 03, myös tunnetaan RAID 53 tai RAID 5+3). Tämä taso käyttää raidoitusta RAID 0 tyylillä, RAID 3 virtuaalisille levy lohkoille. Tämä tarjoaa korkeamman suorituskyvyn kuin RAID 3, mutta kalliimalla kustannuksella.
  • RAID 5+0 (RAID 50) Tämä kokoonpano yhdistää RAID 5 yleisen pariteetin ja RAID 0 raidoitus parantamaan RAID 5 suorituskykyä ilman data suojaamisen vähentämistä.[3]


Heikkoudet[muokkaa]

RAID-järjestelmät rakennetaan useimmiten samanikäisistä levyistä ja valtaosa kiintolevyissä tapahtuvissa virheistä johtuu fyysisestä kulumisesta. Tästä syystä yksittäisten levyjen virheiden riski kasvaa tasaisesti ajan myötä levyjen kuluessa. Tämän vuoksi yhdessä levyssä tapahtuvaa virhettä ei välttämättä pystytä korjaamaan ennen toisessa levyssä tapahtuvaa, korjausprosessin keskeyttävää ja datan menetykseen johtavaa virhettä. Noin 100,000 levyn tutkimuksessa huomattiin, että tunnin sisällä tapahtuvat kahden levyn virheet olivat neljä kertaa yleisempiä, kuin exponenttijakauma ennustaisi. Näin levyjen välisestä redundanssista huolimatta kaikkia virheitä ei välttämättä pystytä korjaamaan.

Tallennustilan määrä on kasvanut huomattavasi siirtonopeutta nopeammin, joten virheiden korjaamiseen myös kuluu huomattavan kauan, joskus jopa päiviä. Tämä osaltaan nostattaa riskiä korjaukseen välttämättömän toisen levyn virheeseen. Nykyisellä tilan kasvun tahdilla vuoteen 2019 mennessä jopa RAID 6:n virheherkkyys kasvaa samalle tasolle millä RAID 5 oli vuonna 2010.[4]

Jos järjestelmä kaatuu, tai muu merkittävä levyjen ulkopuolinen virhe katkaisee tallennuksen kesken, levyjen väliset datat eivät välttämättä vastaa toisiaan. Varsinkin vanhemmissa järjestelmissä tämä voi johtaa datan korruptoitumiseen. [5] Uudemmissa järjestelmissä ongelma on ratkaistu, mutta suorituskyvyn säilyttämiseksi suositellaan esimerkiksi SSD-levyjen käyttöä.

Lähdeluettelo[muokkaa]

  1. https://www.computerworld.com/article/2573180/data-center/the-story-so-far.html
  2. https://searchstorage.techtarget.com/definition/RAID
  3. https://searchstorage.techtarget.com/definition/RAID
  4. http://www.enterprisestorageforum.com/technology/features/article.php/3839636/RAIDs-Days-May-Be-Numbered.htm
  5. http://www.raid-recovery-guide.com/raid5-write-hole.aspx