Mdadm: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Tkerna (talk | contribs)
Tkerna (talk | contribs)
 
(36 intermediate revisions by the same user not shown)
Line 3: Line 3:
== Sissejuhatus ==
== Sissejuhatus ==


Antud referaat annab väikse ülevaate Linuxis spetsiifilist ülesannet täitvast programmist mdadm, mis aitab hallata ja monitoorida tarkvara RAID seadmeid. Tegemist on täpsemalt siis tarkvaralise RAID haldusvahendiga. [https://en.wikipedia.org/wiki/Mdadm[2]] Lisaks annab ülevaate tarkvaralistest RAIDidest, millega on tegemist ja millised on olemasolevad erinevad tasemed.
Antud referaat annab väikse ülevaate Linuxis spetsiifilist ülesannet täitvast programmist MDADM, mis aitab hallata ja monitoorida tarkvara RAID seadmeid. Tegemist on täpsemalt siis tarkvaralise RAID haldusvahendiga. [https://en.wikipedia.org/wiki/Mdadm[2]] Lisaks annab ülevaate tarkvaralistest RAIDidest, millega on tegemist ja millised on olemasolevad erinevad tasemed.


== Mida kujutab endast MDADM ==
== Mida kujutab endast MDADM ==
Line 10: Line 10:
*MDADM on üksik program, mitte programmide kogum
*MDADM on üksik program, mitte programmide kogum
*Võimaldab teostada (peaaegu) kõiki oma funktsionaalsusi, sealjuures omamata konfiguratsiooni faili ja ei kasuta seda ka mitte vaikimisi. Ühtlasi pakub MDADM abi konfiguratsioonifailide haldamisel
*Võimaldab teostada (peaaegu) kõiki oma funktsionaalsusi, sealjuures omamata konfiguratsiooni faili ja ei kasuta seda ka mitte vaikimisi. Ühtlasi pakub MDADM abi konfiguratsioonifailide haldamisel
*MDADM võimaldab ette anda infot massiivide kohtam mida RAID tööriist ei võimalda
*MDADM võimaldab ette anda infot massiivide kohta, mida RAID tööriist ei võimalda
*MDADM ei kasuta /etc/raitab, RAID tööriista konfiguratsiooni faili üldse. MDADMil on teistsugune konfiguratsiooni fail, teise formaadiga ja teisel eesmärgi
*MDADM ei kasuta /etc/raitab, RAID tööriista konfiguratsiooni faili üldse. MDADMil on teistsugune konfiguratsiooni fail, teise formaadiga ja teisel eesmärgi


Line 31: Line 31:
== RAID tasemed ==
== RAID tasemed ==


* '''RAID 0''' - andmed jaotatakse plokkidena (hargsalvestus). Suurendab andmeedastuskiirust, kuid RAID 0 massiivis ei ole veakindlust. Selles massiivis jaotatakse andmed kõikidele ketastele välja arvatud ühele ketastest, mida kasutatakse veaparanduskoodi kirjutamiseks. Kui üks ketas massiivis puruneb, kaob kogu massiiv ja seda ei ole võimalik parandada.
* '''RAID 0''' - andmed jaotatakse plokkidena (hargsalvestus). Suurendab andmeedastuskiirust, kuid RAID 0 massiivis ei ole veakindlust. Selles massiivis jaotatakse andmed kõikidele ketastele välja arvatud ühele ketastest, mida kasutatakse veaparanduskoodi kirjutamiseks. Kui üks ketas massiivis puruneb, kaob kogu massiiv ja seda ei ole võimalik parandada. [https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed[4]]


===== RAID0 skeemi moodustamine =====
===== RAID0 skeemi moodustamine =====


  mdadm --create /dev/md/temp -l raid0 -n 4 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2
  mdadm --create /dev/md/temp -l raid0 -n 4 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2
 
[http://www.auul.pri.ee/wiki/Tarkvaralise_mdadm_RAID_kasutamine_operatsioonis%C3%BCsteemiga_Debian_Squeeze#Sissejuhatus[5]]
* '''RAID 1''' – peegeldamine teisele kettale, (peegelsalvestus). Andmed on kirjutatud identselt mitmele kettale. RAID 1 massiiv võimaldab pärast ketta hävimist tööd jätkata, kuni on olemas vähemalt üks töötav ketas.
* '''RAID 1''' – peegeldamine teisele kettale, (peegelsalvestus). Andmed on kirjutatud identselt mitmele kettale. RAID 1 massiiv võimaldab pärast ketta hävimist tööd jätkata, kuni on olemas vähemalt üks töötav ketas. [https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed[4]]


===== RAID1 skeemi moodustamine =====
===== RAID1 skeemi moodustamine =====
Line 43: Line 43:
  mdadm --create /dev/md/home -l raid1 -n 2 /dev/sdb2 /dev/sdc2
  mdadm --create /dev/md/home -l raid1 -n 2 /dev/sdb2 /dev/sdc2
  mdadm: array /dev/md/home started.
  mdadm: array /dev/md/home started.
[http://www.auul.pri.ee/wiki/Tarkvaralise_mdadm_RAID_kasutamine_operatsioonis%C3%BCsteemiga_Debian_Squeeze#Sissejuhatus[5]]
* '''RAID 2''' – andmed jaotatakse bittidena, kasutatakse veaparanduskoodi. Kõik kettad on sünkroonitud ja andmed jaotatakse ketaste vahel bittidena. [https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed[4]]


* '''RAID 2''' – andmed jaotatakse bittidena, kasutatakse veaparanduskoodi. Kõik kettad on sünkroonitud ja andmed jaotatakse ketaste vahel bittidena.
* '''RAID 3''' – andmed jaotatakse baitidena plokkide kaupa, kasutatakse kindlat ketast, kuhu salvestatakse paarsusinformatsioon. Kõik kettad on sünkroonitud ja andmed jaotatakse baidi kaupa ketaste vahel. [https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed[4]]
 
* '''RAID 3''' – andmed jaotatakse baitidena plokkide kaupa, kasutatakse kindlat ketast, kuhu salvestatakse paarsusinformatsioon. Kõik kettad on sünkroonitud ja andmed jaotatakse baidi kaupa ketaste vahel.  


* '''RAID 4''' – andmed jaotatakse plokkidena, kasutatakse kindlat ketast, kuhu salvestatakse paarsusinfo.  Paarsusinfo kirjutatakse ainult ühele kindlale kettale.
* '''RAID 4''' – andmed jaotatakse plokkidena, kasutatakse kindlat ketast, kuhu salvestatakse paarsusinfo.  Paarsusinfo kirjutatakse ainult ühele kindlale kettale. [https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed[4]]


* '''RAID 5''' – andmed jaotatakse plokkidena, kontrollkood kirjutatakse kõikidele ketastele. Ühe ketta purunemisel massiiv ei hävine ega mõjuta edasise töö tegemist (töö ei peatu, kuid on aeglasem, sest kettal olnud andmed arvutatakse). Teise ketta purunemisel hävinevad massiivis olevad andmed.
* '''RAID 5''' – andmed jaotatakse plokkidena, kontrollkood kirjutatakse kõikidele ketastele. Ühe ketta purunemisel massiiv ei hävine ega mõjuta edasise töö tegemist (töö ei peatu, kuid on aeglasem, sest kettal olnud andmed arvutatakse). Teise ketta purunemisel hävinevad massiivis olevad andmed. [https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed[4]]


* '''RAID 6''' - Andmed jaotatakse plokkidena, kontrollkood kirjutatakse kahte erinevasse kohta. Saab jätkata tööd ka pärast kahe ketta purunemist.
* '''RAID 6''' - Andmed jaotatakse plokkidena, kontrollkood kirjutatakse kahte erinevasse kohta. Saab jätkata tööd ka pärast kahe ketta purunemist. [https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed[4]]


===== RAID6 skeemi moodustamine =====
===== RAID6 skeemi moodustamine =====


  mdadm --create /dev/md/home -l raid6 -n 2 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde3
  mdadm --create /dev/md/home -l raid6 -n 2 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde3
[http://www.auul.pri.ee/wiki/Tarkvaralise_mdadm_RAID_kasutamine_operatsioonis%C3%BCsteemiga_Debian_Squeeze#Sissejuhatus[5]]
== MDADM eelised ja puudused ==
===== Eelised =====
* vaba tarkvara, mis on hästi dokumenteeritud ja suure kasutuskogemusega
* testitud korralikult paljudel ja saadaolevatel GNU/Linux jaotustel
* sõltumatu riistvarast
* töötab peaaegu kõikidel HDD kontrolleritel (RAID või mitte RAID), mis toetab Linuxit
* suudab ära teha palju rohkem, kui mistahes tasuta RAID riistvara
* lihtne seadistada
* palju featuure kasutamiseks
* paindlik oma töös
* hea jõudlus
* monitooring
* hea investeering aega
===== Puudused =====
* operatsioonisüsteemi pole võimalik ülesse seadistada RAID5 ja RAID6ga
[http://raid6.com.au/posts/mdadm_advantages/[6]]
== Näiteid operatsioonidest ==
===== Massiivi detailse info vaatamine =====
<pre>
mdadm --detail /dev/md1
/dev/md1:
        Version : 0.90
  Creation Time : Mon Jun 20 16:08:13 2011
    Raid Level : raid10
    Array Size : 244195904 (232.88 GiB 250.06 GB)
  Used Dev Size : 244195904 (232.88 GiB 250.06 GB)
  Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent
    Update Time : Fri Jul  4 16:03:17 2014
          State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
  Spare Devices : 0
        Layout : near=2
    Chunk Size : 64K
          UUID : a0d44a20:b41dda0a:e9c548a1:a3e98bee
        Events : 0.866
    Number  Major  Minor  RaidDevice State
      0      8      33        0      active sync  /dev/sdc1
      1      8      49        1      active sync  /dev/sdd1 </pre>
===== Stop =====
Kasutades -S võimalust, saab peatada jooksvat massiivi
<pre>
mdadm -S /dev/md1
</pre>
===== Massiivi ümbernimetamine =====
<pre>
mdadm --detail /dev/md1 ## get detail physical drive info
mdadm -S /dev/md1
mdadm --assemble /dev/md2 --super-minor=0 --update=super-minor /dev/sdc1 /dev/sdd1
</pre>
===== Massiivide juhtimine =====
Manage käsku kasutades on võimalik lisada või kustutada kettaid toimivast massiivist. Seda käsku on hea kasutada näiteks katkise ketta eemaldamiseks, varuketta või asendusketta lisamiseks.
Allpool on toodud näide, kus üks kõvaketas on hävinud ja toimub vahetus.
<pre>
1. Staatuse kontrollimiseks kasutada
mdadm -E või
cat /proc/mdstat
2. Kõvaketta katkiseks märkimine. Korrata allolevaid tegevusi, kui katkiseid kettaid on rohkem kui üks.
  mdadm /dev/md1 --fail /dev/sdc1
  või kasutada katkiseks märkimine ja kustutamine ühes käsus
  mdadm /dev/md1 --fail /dev/sdc1 --remove /dev/sdc1
3. Asendada füüsiline ketas ja määrata partitsioon
sfdisk -d /dev/sdd | sfdisk /dev/sdc
4. Määrata uue ketta partitsioonid massiivi
  mdadm /dev/md1 --add /dev/sdc1
5. Monitoorida massiivi
</pre>
[http://fibrevillage.com/storage/54-mdadm-a-tool-for-software-array-in-linux[6]]


== Kokkuvõte ==
== Kokkuvõte ==
Kokkuvõtlikult võib öelda, et tegemist on lihtsa ja usaldusväärse tööriistaga, kui on vaja kiiresti ja hõlpsasti teostada operatsioone ketastega. Mis kõige tähtsam MDADM on lihtne seadistada, võimaldab teostada väga paljusid operatsioone ja kasutamiseks täiesti tasuta.


== Kasutatud kirjandus ==
== Kasutatud kirjandus ==
[1] http://www.linuxcommand.org/man_pages/mdadm8.html
[1] http://www.linuxcommand.org/man_pages/mdadm8.html
[2] https://en.wikipedia.org/wiki/Mdadm
[2] https://en.wikipedia.org/wiki/Mdadm
[3] http://kuutorvaja.eenet.ee/wiki/Tarkvaralise_RAID_massiivi_kasutamine_Linuxiga
[3] http://kuutorvaja.eenet.ee/wiki/Tarkvaralise_RAID_massiivi_kasutamine_Linuxiga
[4] https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed
[5] http://www.auul.pri.ee/wiki/Tarkvaralise_mdadm_RAID_kasutamine_operatsioonis%C3%BCsteemiga_Debian_Squeeze#Sissejuhatus
[6] http://raid6.com.au/posts/mdadm_advantages/
[7] http://fibrevillage.com/storage/54-mdadm-a-tool-for-software-array-in-linux
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]

Latest revision as of 22:08, 13 January 2016

Triinu Kerna AK31

Sissejuhatus

Antud referaat annab väikse ülevaate Linuxis spetsiifilist ülesannet täitvast programmist MDADM, mis aitab hallata ja monitoorida tarkvara RAID seadmeid. Tegemist on täpsemalt siis tarkvaralise RAID haldusvahendiga. [2] Lisaks annab ülevaate tarkvaralistest RAIDidest, millega on tegemist ja millised on olemasolevad erinevad tasemed.

Mida kujutab endast MDADM

MDADM on programm, mida saab kasutada MD seadmete loomiseks, haldamiseks ja monitoorimiseks. Näiteks pakub ta funktsionaalsust RAID tööriista pakettidele. Erinevused RAID tööriistal ja MDADMil on:

  • MDADM on üksik program, mitte programmide kogum
  • Võimaldab teostada (peaaegu) kõiki oma funktsionaalsusi, sealjuures omamata konfiguratsiooni faili ja ei kasuta seda ka mitte vaikimisi. Ühtlasi pakub MDADM abi konfiguratsioonifailide haldamisel
  • MDADM võimaldab ette anda infot massiivide kohta, mida RAID tööriist ei võimalda
  • MDADM ei kasuta /etc/raitab, RAID tööriista konfiguratsiooni faili üldse. MDADMil on teistsugune konfiguratsiooni fail, teise formaadiga ja teisel eesmärgi

[1]

MDADM tarkvara paigaldamine

apt-get install mdadm

Paigaldamise tulemusena lisatakse süsteemi:

  • /sbin/mdadm
  • /etc/default/mdadm
  • /etc/mdamd/mdadm.conf
  • /etc/init.d/mdadm
  • /usr/share/initramfs-tools
  • /lib/modules/2.6.26-2-amd64/kernel/drivers/md

[3]

RAID tasemed

  • RAID 0 - andmed jaotatakse plokkidena (hargsalvestus). Suurendab andmeedastuskiirust, kuid RAID 0 massiivis ei ole veakindlust. Selles massiivis jaotatakse andmed kõikidele ketastele välja arvatud ühele ketastest, mida kasutatakse veaparanduskoodi kirjutamiseks. Kui üks ketas massiivis puruneb, kaob kogu massiiv ja seda ei ole võimalik parandada. [4]
RAID0 skeemi moodustamine
mdadm --create /dev/md/temp -l raid0 -n 4 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2

[5]

  • RAID 1 – peegeldamine teisele kettale, (peegelsalvestus). Andmed on kirjutatud identselt mitmele kettale. RAID 1 massiiv võimaldab pärast ketta hävimist tööd jätkata, kuni on olemas vähemalt üks töötav ketas. [4]
RAID1 skeemi moodustamine
mdadm --create /dev/md/home -l raid1 -n 2 /dev/sdb2 /dev/sdc2
mdadm: array /dev/md/home started.

[5]

  • RAID 2 – andmed jaotatakse bittidena, kasutatakse veaparanduskoodi. Kõik kettad on sünkroonitud ja andmed jaotatakse ketaste vahel bittidena. [4]
  • RAID 3 – andmed jaotatakse baitidena plokkide kaupa, kasutatakse kindlat ketast, kuhu salvestatakse paarsusinformatsioon. Kõik kettad on sünkroonitud ja andmed jaotatakse baidi kaupa ketaste vahel. [4]
  • RAID 4 – andmed jaotatakse plokkidena, kasutatakse kindlat ketast, kuhu salvestatakse paarsusinfo. Paarsusinfo kirjutatakse ainult ühele kindlale kettale. [4]
  • RAID 5 – andmed jaotatakse plokkidena, kontrollkood kirjutatakse kõikidele ketastele. Ühe ketta purunemisel massiiv ei hävine ega mõjuta edasise töö tegemist (töö ei peatu, kuid on aeglasem, sest kettal olnud andmed arvutatakse). Teise ketta purunemisel hävinevad massiivis olevad andmed. [4]
  • RAID 6 - Andmed jaotatakse plokkidena, kontrollkood kirjutatakse kahte erinevasse kohta. Saab jätkata tööd ka pärast kahe ketta purunemist. [4]
RAID6 skeemi moodustamine
mdadm --create /dev/md/home -l raid6 -n 2 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde3

[5]

MDADM eelised ja puudused

Eelised
  • vaba tarkvara, mis on hästi dokumenteeritud ja suure kasutuskogemusega
  • testitud korralikult paljudel ja saadaolevatel GNU/Linux jaotustel
  • sõltumatu riistvarast
  • töötab peaaegu kõikidel HDD kontrolleritel (RAID või mitte RAID), mis toetab Linuxit
  • suudab ära teha palju rohkem, kui mistahes tasuta RAID riistvara
  • lihtne seadistada
  • palju featuure kasutamiseks
  • paindlik oma töös
  • hea jõudlus
  • monitooring
  • hea investeering aega
Puudused
  • operatsioonisüsteemi pole võimalik ülesse seadistada RAID5 ja RAID6ga

[6]

Näiteid operatsioonidest

Massiivi detailse info vaatamine
mdadm --detail /dev/md1
/dev/md1:
        Version : 0.90
  Creation Time : Mon Jun 20 16:08:13 2011
     Raid Level : raid10
     Array Size : 244195904 (232.88 GiB 250.06 GB)
  Used Dev Size : 244195904 (232.88 GiB 250.06 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Fri Jul  4 16:03:17 2014
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 64K

           UUID : a0d44a20:b41dda0a:e9c548a1:a3e98bee
         Events : 0.866

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1 
Stop

Kasutades -S võimalust, saab peatada jooksvat massiivi

mdadm -S /dev/md1
 
Massiivi ümbernimetamine
mdadm --detail /dev/md1 ## get detail physical drive info
mdadm -S /dev/md1
mdadm --assemble /dev/md2 --super-minor=0 --update=super-minor /dev/sdc1 /dev/sdd1
 
Massiivide juhtimine

Manage käsku kasutades on võimalik lisada või kustutada kettaid toimivast massiivist. Seda käsku on hea kasutada näiteks katkise ketta eemaldamiseks, varuketta või asendusketta lisamiseks. Allpool on toodud näide, kus üks kõvaketas on hävinud ja toimub vahetus.

1. Staatuse kontrollimiseks kasutada 
 mdadm -E või 
 cat /proc/mdstat

2. Kõvaketta katkiseks märkimine. Korrata allolevaid tegevusi, kui katkiseid kettaid on rohkem kui üks.
  mdadm /dev/md1 --fail /dev/sdc1
   või kasutada katkiseks märkimine ja kustutamine ühes käsus
  mdadm /dev/md1 --fail /dev/sdc1 --remove /dev/sdc1

3. Asendada füüsiline ketas ja määrata partitsioon
 sfdisk -d /dev/sdd | sfdisk /dev/sdc

4. Määrata uue ketta partitsioonid massiivi
  mdadm /dev/md1 --add /dev/sdc1

5. Monitoorida massiivi
 

[6]

Kokkuvõte

Kokkuvõtlikult võib öelda, et tegemist on lihtsa ja usaldusväärse tööriistaga, kui on vaja kiiresti ja hõlpsasti teostada operatsioone ketastega. Mis kõige tähtsam MDADM on lihtne seadistada, võimaldab teostada väga paljusid operatsioone ja kasutamiseks täiesti tasuta.

Kasutatud kirjandus

[1] http://www.linuxcommand.org/man_pages/mdadm8.html

[2] https://en.wikipedia.org/wiki/Mdadm

[3] http://kuutorvaja.eenet.ee/wiki/Tarkvaralise_RAID_massiivi_kasutamine_Linuxiga

[4] https://et.wikipedia.org/wiki/S%C3%B5ltumatute_ketaste_liiasmassiiv#Tavalised_RAID-i_tasemed

[5] http://www.auul.pri.ee/wiki/Tarkvaralise_mdadm_RAID_kasutamine_operatsioonis%C3%BCsteemiga_Debian_Squeeze#Sissejuhatus

[6] http://raid6.com.au/posts/mdadm_advantages/

[7] http://fibrevillage.com/storage/54-mdadm-a-tool-for-software-array-in-linux