Mdadm: Difference between revisions
(46 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Sissejuhatus == | == Sissejuhatus == | ||
Antud | 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 | *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 | ||
[http://www.linuxcommand.org/man_pages/mdadm8.html[1]] | |||
== MDADM tarkvara paigaldamine == | == MDADM tarkvara paigaldamine == | ||
Line 25: | Line 27: | ||
*/usr/share/initramfs-tools | */usr/share/initramfs-tools | ||
*/lib/modules/2.6.26-2-amd64/kernel/drivers/md | */lib/modules/2.6.26-2-amd64/kernel/drivers/md | ||
[http://kuutorvaja.eenet.ee/wiki/Tarkvaralise_RAID_massiivi_kasutamine_Linuxiga[3]] | |||
== 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 40: | 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 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õ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 | |||
[[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
[6] http://raid6.com.au/posts/mdadm_advantages/
[7] http://fibrevillage.com/storage/54-mdadm-a-tool-for-software-array-in-linux