Ero sivun ”Ohjelmistopohjainen RAID” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
 
(11 välissä olevaa versiota 4 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'' -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.
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-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]]).
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.


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.
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 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. '''HUOM:''' Konfiguraatiotiedoston tarve on voinut muuttua. Esimerkiksi Debianissa tarvitaan mdadm.conf versiosta 2.5.3 alkaen - [http://svn.debian.org/wsvn/pkg-mdadm/mdadm/trunk/debian/README.upgrading-2.5.3?op=file katso ohje]
[[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 hyvää. Komento ''mdadm --help'' auttaa hyvin alkuun.
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/hda1 ja /dev/hdc1 halutaan asettaa RAID-1-pakaksi /dev/md0. Sopiva komento olisi tällöin
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/hda1 /dev/hdc1
mdadm --create --level=1 --raid-devices=2 /dev/md0 /dev/sda1 /dev/sdc1


= raidtools =
Jos <tt>/dev/md0</tt>-laitetta ei löydy, sen voi luoda komennolla
[[mknod]] /dev/md0 b 9 0


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.
Tarkastetaan sitten mitä uudelle RAID-pakalle kuuluu:
mdadm --detail /dev/md0


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.
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 33: 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>


= Linkkejä =
== Katso myös ==
[http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html The Linux Documentation Project: Software RAID HowTo]
*[[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]


[[Luokka:Järjestelmä]]
[[Luokka:Osiot]]

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]