Ohjelmistopohjainen RAID
Linuxin kernelissä on ohjelmistopohjainen RAID -toteutus, md (multidisk). Linuxissa RAID-pakkoja ovat /dev/mdX -laitteet, jotka käyttäytyvät kuten normaalitkin levyasemat. Tällä hetkellä Linux-jakelut eivät vielä tue root-osion asentamista ohjelmistopohjaisella RAIDilla tehdylle pakalle kovin hyvin, mutta asiaan näyttäisi olevan tulossa parannus.
RAIDin asentaminen on verrattain helppoa. Aluksi koneeseen asennetaan kiintolevyt joita RAIDiin on tarkoitus käyttää. Kiintolevyt osioidaan omien mieltymysten ja valitun RAID-konfiguraation rajoitusten mukaan. Osioiden tyypiksi asetetaan Linux raid autodetect (heksakoodi fd). Lisäksi tarvittaessa käännetään ytimeen tuki halutuille RAID-tasoille (ks. Kernelin kääntäminen).
Seuraavaksi 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 raidtools:sta mm. siten, että mdadm on yksi ohjelma jossa on yleinen syntaksi lähes kaikkien toimintojen suorittamiseen. mdadm ei myöskään tarvitse konfiguraatiotiedostoa.
mdadm:n käyttö on sangen yksinkertaista, sillä komennon parametrit kuvaavat hyvin kutakin suoritettavaa toimintoa ja ohjelman oma ohjeistus on erittäin hyvää. Komento mdadm --help auttaa hyvin alkuun.
Esimerkkitapaus: Levyosiot /dev/hda1 ja /dev/hdc1 halutaan asettaa RAID-1-pakaksi /dev/md0. Sopiva komento olisi tällöin
mdadm --create --level=1 --raid-devices=2 /dev/md0 /dev/hda1 /dev/hdc1
raidtools
RAID-työkalut (raidtools) on syytä olla asennettuna. 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.
Linkkejä
The Linux Documentation Project: Software RAID HowTo