Ohjelmistopohjainen RAID

Linux.fista
Siirry navigaatioon Siirry hakuun
Tulostettavaa versiota ei enää tueta ja siinä voi olla renderöintivirheitä. Päivitä selaimesi kirjanmerkit ja käytä selaimen tavallista tulostustoimintoa sen sijaan.

Linuxin kernelissä on ohjelmistopohjainen RAID-toteutus, md (multidisk). Linuxissa RAID-pakkoja ovat /dev/mdX -laitteet, jotka käyttäytyvät kuten normaalitkin levyasemat. Jos järjestelmän juurihakemisto on raidilla, saattaa käynnistäminen aiheuttaa päänvaivaa. On suositeltavaa sijoittaa /boot-hakemisto erilliselle osiolle.

RAIDin asentaminen on verrattain helppoa. Aluksi koneeseen asennetaan kiintolevyt joita RAIDiin on tarkoitus käyttää. Kiintolevyt osioidaan omien mieltymysten ja valitun RAID-järjestelmän rajoitusten mukaan (esim. peilattaessa luodaan kahdelle eri levylle yhtä suuret osiot). Osioiden tyypiksi asetetaan Linux raid autodetect (heksakoodi fd). Lisäksi ytimessä on oltava tuki RAID-järjestelmälle. Nykyisten jakeluiden valmiit ytimet tukevat käytännössä aina RAIDia suoraan.

Aluksi muodostetaan RAID-pakka sopivalla työkalulla. RAID-työkaluja on tällä hetkellä yleisesti käytössä kaksi - vanha raidtools ja uudempi mdadm. Näistä mm. Software-RAID-HOWTO suosittelee jälkimmäistä. Lopuksi RAID-pakalle tehdään tiedostojärjestelmä normaaliin tapaan, minkä jälkeen pakka on käytettävissä. RAID-pakan tilaa voi yleensä tutkia katselemalla tiedoston /proc/mdstat sisältöä. Tilan tarkastelu onnistuu myös mdadm-ohjelmalla.

mdadm

mdadm eroaa raidtoolsista mm. siten, että mdadm on yksi ohjelma jossa on yleinen syntaksi lähes kaikkien toimintojen suorittamiseen.

mdadm:n käyttö on sangen yksinkertaista, sillä komennon parametrit kuvaavat hyvin kutakin suoritettavaa toimintoa ja ohjelman oma ohjeistus on erittäin selkeä. Komento mdadm --help auttaa hyvin alkuun.

Esimerkkitapaus: Levyosiot /dev/sda1 ja /dev/sdc1 halutaan asettaa RAID-1-pakaksi (peilaus) /dev/md0. Sopiva komento olisi tällöin

mdadm --create --level=1 --raid-devices=2 /dev/md0 /dev/sda1 /dev/sdc1

Jos /dev/md0-laitetta ei löydy, sen voi luoda komennolla

mknod /dev/md0 b 9 0

Tarkastetaan sitten mitä uudelle RAID-pakalle kuuluu:

mdadm --detail /dev/md0

Tämän jälkeen levyosiolle (/dev/md0) voitaisiin luoda tiedostojärjestelmä normaaliin tapaan, esimerkiksi ext3-järjestelmä komennolla

mkfs.ext3 /dev/md0

Esimerkki mdadm:n käytöstä löytyy artikkelista Ohjelmistopohjainen RAID ja LVM.

RAID-laitteen tekeminen raidtools-työkaluilla

raidtools-paketista löytyvät vanhat työkalut md:n säätämiseen, jotka mdadm on pitkälti korvannut.

Seuraavaksi kirjoitetaan /etc/raidtab -tiedosto, joka kuvaa mitkä levyt kuuluvat RAIDiin, ja millaisen md-laitteen ne muodostavat.

Esimerkkitapaus, jossa laitteet /dev/hde1 ja /dev/hdh1 muodostavat peilatun laitteen (RAID-1), joka on siis yhtä iso kuin kumpikin yksittäinen levy, ja joka selviää toisen levyn rikkoutumisesta tietojen häviämättä. Raid-level kohdan arvoa muuttamalla voi tehdä erilaisia RAID-tasoja edustavia laitteita: esimerkiksi RAID-0:lla saa kahdesta levystä tehtyä yhden ison, ja RAID-5:llä kolmesta tai useammasta saadaan yhtä levyä sekä vikasietoisempi, suurempi että nopeampi laite.

       raiddev /dev/md0
               raid-level      1
               nr-raid-disks   2
               nr-spare-disks  0
               persistent-superblock 1
               device          /dev/hde1
               raid-disk       0
               device          /dev/hdh1
               raid-disk       1

Lopuksi tehdään laite komentamalla:

           mkraid /dev/md0

Tämän jälkeen /dev/md0 on käsiteltävissä siinä missä mikä tahansa levyosio: sille voi luoda minkä tahansa tiedostojärjestelmän.

/proc/mdstat

Tiedosto /proc/mdstat sisältää ajantasaiset tiedot käytössä olevien md-laitteiden tilasta. Esimerkissä käytössä on kaksi md-laitetta, jotka molemmat ovat aktiivisia.

pentti@kone:~$ cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hdc1[0] hdh1[1]
      156288256 blocks [2/2] [UU]

md0 : active raid1 hda1[0] hdd1[1]
      244195904 blocks [2/2] [UU]

unused devices: <none>

Katso myös

Aiheesta muualla