Rekisteröitymätön käyttäjä
Ero sivun ”Ohjelmistopohjainen RAID” versioiden välillä
Siirry navigaatioon
Siirry hakuun
→mdadm
pEi muokkausyhteenvetoa |
(→mdadm) |
||
(6 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
Linuxin kernelissä on ohjelmistopohjainen [[RAID]]-toteutus, md (multidisk). Linuxissa RAID-pakkoja ovat ''/dev/mdX'' -[[laitetiedostot|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. | Linuxin kernelissä on ohjelmistopohjainen [[RAID]]-toteutus, md (multidisk). Linuxissa RAID-pakkoja ovat ''/dev/mdX'' -[[laitetiedostot|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- | 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 [[Ydin|ytimessä]] on [[Kernelin kääntäminen|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 == | ||
[[mdadm]] eroaa raidtoolsista mm. siten, että mdadm on yksi ohjelma jossa on yleinen syntaksi lähes kaikkien toimintojen suorittamiseen. | [[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 | mdadm:n käyttö on sangen yksinkertaista, sillä komennon parametrit kuvaavat hyvin kutakin suoritettavaa toimintoa ja ohjelman oma ohjeistus on erittäin selkeä. Komento <tt>mdadm --help</tt> auttaa hyvin alkuun. | ||
Esimerkkitapaus: Levyosiot /dev/ | Esimerkkitapaus: Levyosiot <tt>/dev/sda1</tt> ja <tt>/dev/sdc1</tt> halutaan asettaa RAID-1-pakaksi (peilaus) <tt>/dev/md0</tt>. Sopiva komento olisi tällöin | ||
mdadm --create --level=1 --raid-devices=2 /dev/md0 /dev/ | mdadm --create --level=1 --raid-devices=2 /dev/md0 /dev/sda1 /dev/sdc1 | ||
Jos <tt>/dev/md0</tt>-laitetta ei löydy, sen voi luoda komennolla | |||
[[mknod]] /dev/md0 b 9 0 | |||
Tarkastetaan sitten mitä uudelle RAID-pakalle kuuluu: | Tarkastetaan sitten mitä uudelle RAID-pakalle kuuluu: | ||
mdadm --detail /dev/md0 | mdadm --detail /dev/md0 | ||
Tämän jälkeen levyosiolle (<tt>/dev/md0</tt>) voitaisiin luoda [[tiedostojärjestelmä]] normaaliin tapaan, esimerkiksi [[ext3]]-järjestelmä komennolla | |||
[[mkfs.ext3]] /dev/md0 | |||
RAID- | 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 <tt>md</tt>:n säätämiseen, jotka <tt>mdadm</tt> | |||
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. | 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. | ||
Rivi 36: | Rivi 46: | ||
mkraid /dev/md0 | 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. | 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 <tt>/[[proc]]/mdstat</tt> sisältää ajantasaiset tiedot käytössä olevien <tt>md</tt>-laitteiden tilasta. Esimerkissä käytössä on kaksi <tt>md</tt>-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 == | |||
*[[LVM]] | |||
*[[Ohjelmistopohjainen RAID ja LVM]] - käyttöesimerkki ohjelmistopohjaisesta RAIDista ja LVM:stä yhteiskäytössä | |||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
*[http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html The Linux Documentation Project: Software RAID HowTo] | *[http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html The Linux Documentation Project: Software RAID HowTo] | ||
[[Luokka:Osiot]] | [[Luokka:Osiot]] |