Ero sivun ”Ohjelmistopohjainen RAID” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (raid-levelistä juttua)
 
(27 välissä olevaa versiota 12 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Linuxin kernelissä on ohjelmistopohjainen [[RAID]] -toteutus, md (multidisk). Sen asentaminen on verrattain helppoa: aluksi tietysti laitetaan kiinni raidin muodostavat levyt. RAID-työkalut ja [[mdadm]] on syytä olla asennettuna (Debian-paketit raidtools ja mdadm). Seuraavaksi kirjoitetaan /etc/raidtab -tiedosto, joka kuvaa mitkä levyt kuuluvat RAIDiin, ja millaisen md-laitteen ne muodostavat.
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.


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.
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]] 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 <tt>mdadm --help</tt> auttaa hyvin alkuun.
 
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/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:
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
 
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.


         raiddev /dev/md0
         raiddev /dev/md0
Rivi 16: 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. [[Mdadm]]-ohjelmalla voi tarkkailla levyn tilaa.
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==
*[http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html The Linux Documentation Project: Software RAID HowTo]


= Linkkejä =
[[Luokka:Osiot]]
[http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html The Linux Documentation Project: Software RAID HowTo]

Nykyinen versio 30. syyskuuta 2010 kello 11.13

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[muokkaa]

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[muokkaa]

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[muokkaa]

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[muokkaa]

Aiheesta muualla[muokkaa]