Tarkvaraline RAID Ubuntus
Sissejuhatus
RAID on selline andmesalvestuse viis, kus ühtesid ja samu andmeid salvestatakse eri kohtadesse (siit ka sõna "redundant" ehk "liiaga") mitmele kõvakettale. Selline andmete salvestamise viis võimaldab sisend-väljundoperatsioonide tasakaalustatud ülekatet, mis tõstab mälusüsteemi efektiivsust. Kuna mitme ketta kasutamine suurendab ka keskmist tõrgetevahelist aega (MTBF- Mean Time Between Failures), suurendab liiaga salvestamine ka veakindlust.
Mis asi see RAID on?
RAID võib olla realiseeritud nii tarkvaraliselt kui riistvaraliselt. Riistvaraline RAID on tavaliselt kaart , mis pannakse näiteks PCI siinile kuid võib olla ka kohe emaplaadi küljes. Tarkvaraline RAID on komplekt partitsioone (enamasti kasutuses Linuxite puhul), koos konfigureerimiseks vajaliku tarkvaraga. Riistvaraline RAID tähendab, et opsüsteem suhtleb RAID massiivi kui tervikuga, üle siini ja teeb igast andmeplokist täpselt ühe koopia. Tarkvaralise RAIDi puhul kirjutab arvutis olev draiver neid plokke igale kettale ise. Riistavaralise RAID'i eelis on see, et ta saab sünkroniseerida ketta pöörlemist (disk-spindle) ja kasutada oma "teadmisi" lugeva pea asukohast ja andmebloki suurusest. Riistvaraline RAID on võrreldes tarkvaralisega töökindlam. Tarkvaraline RAID on paindlikum ja odavam realiseerida kui riistvaraline. Negatiivne on see, et tarkvaraline RAID nõuab rohkem protsessori aega. Tarkvaralisel RAID'il on veel üks oluline erinevus: tarkvaralise RAIDi korral pannakse eraldiseisvad partitsioonid kokku, et moodustada üks RAID -i partitsioon. Riistvaras realiseeritu korral pannakse kokku terved kettad. Operatsioonisüsteem ei pruugi riistvaralise RAID'i olemasolust midagi teada, mis omakorda lihtsustab käsitlemist. Lisaks on tarkvaraline RAID sõltuv operatsioonisüsteemist. Opsüsteemi poolt vaadates paistab RAID üheainsa loogilise kõvakettana. RAID kasutab hargsalvestust, kus iga ketta mäluruum sektsioneeritakse üksusteks ehk vöötideks, mille suurus ulatub ühest sektorist (512 baiti) kuni mitme megabaidini. Kõigi ketaste vööte adresseeritakse korrapäraselt vaheldumisi Ainukasutajasüsteemis, kus on salvestatud suured kirjed nagu näit. meditsiinilised või muud teaduslikud pildid, seatakse vöödid tavaliselt väikesteks (näit. 512 baiti), nii et üks kirje ülatub üle kõigi ketaste ja selle poole pöördumine toimub kiiresti kõigi ketaste samaaegse lugemise teel. Ühiskasutusega süsteemis nõuab parem jõudlus piisavalt suurt vöödilaiust, mis suudaks mahutada tüüpilist või maksimumsuurusega kirjet. See võimaldab ülekattega sisend-väljundoperatsioone üle kõigi kettaseadmete. On kasutusel vähemalt 9 erinevat tüüpi RAID-süsteeme ja lisaks neile veel mitteliiasmassiiv
RAID tüübid
RAID-0 - Toimub ketaste jaotamine vöötideks, kuid andmete liiasust pole. Töstab jõudlust, samas ei paranda veakindlust
RAID-1 - Nimetatakse ka ketta peegeldamiseks (disk mirroring) ning koosneb vähemalt kahest andmesalvestust dubleerivast kõvakettaseadmest.Vöötideks jagamist ei ole. Lugemisjõudlus paraneb, sest samaaegselt võib lugeda mõlemat ketast. Kirjutamisjõudlus on sama mis ühe kettaseadme korral. RAID-1 tagab ühiskasutusega süsteemis parima jõudluse ja parima veakindluse
RAID-2 - Toimub vöötideks jagamine üle ketaste, kusjuures mõned kettad salvestavad veakontrolli ja veaparanduse (ECC) informatsiooni. Ei oma eeliseid RAID-3 ees
RAID-3 - Toimub vöötideks jagamine ning üks kettaseade on eraldatud paarsuskontrolli informatsiooni salvestamiseks. Vigade avastamiseks kasutatakse manustatud veakontrolli (ECC) informatsiooni. Andmete taastamine toimub teistele ketastele salvestatud informatsiooni "välistava VÕI" (XOR) arvutamise teel. Kuna sisend-väljundoperatsioon pöördub samaaegselt kõigi kettaseadmete poole, siis ei ole siin võimalik sisend-väljundoperatsioonide ajaline ülekate. Seepärast sobib RAID-3 kõige paremini pikkade kirjetega ainukasutajasüsteemidele
RAID-4 - Kasutatakse laiu vööte, st kirjeid saab lugeda mistahes üksikult kettaseadmelt. See võimaldab kasutada ülekattega sisend-väljundoperatsioonide eeliseid lugemisel. Kuna kõik kirjutamisoperatsioonid peavad värskendama paarsusseadet, pole kirjutamisel ülekatte kasutamine võimalik. RAID-4 ei oma eeliseid RAID-5 ees
RAID-5 - Iseärasuseks on roteeruv paarsusmassiiv, mis vähendab RAID-4 kirjutamispiiranguid. Seetõtti saab nii lugemisel kui kirjutamisel kasutada ülekatet. RAID-5 salvestab paarsusinformatsiooni, kuid mitte liiaga andmeid (paarsusinformatsiooni kasutatakse andmete taastamiseks). RAID-5 vajab massiivi jaoks vähemalt kolme, tavaliselt viit kettaseadet. Sobib kõige paremini ühiskasutusega süsteemidele, kus jõudlus pole kriitiline või kus tehakse vähe kirjutamisoperatsioone
RAID-6 - Sarnaneb RAID-5’le, kuid sisaldab ka teist paarsusskeemi, mis on jaotatud üle erinevate kettaseadmete ja pakub seetõttu äärmiselt kõrget veakindlust ja kettaseadme tõrkekindlust. Praegu on olemas väga vähe tööstuslikke näiteid
RAID-7 - Kontrollerina kasutatakse manustatud reaalaja-opsüsteemi, üle kiire siini puhverdamist ja teisi autonoomse arvuti juurde kuuluvaid võtteid. Seda süsteemi pakub üks firma
RAID-8 - Pakub vöötide massiivi, kus iga vööt kujutab endast RAID-1 kettaseadmemassiivi. See pakub suuremat jõudlust kui RAID-1, kuid palju kõrgema hinnaga
RAID-53 - Pakub vöötide massiivi, kus iga vööt kujutab endat RAID-3 kettaseadmemassiivi. See pakub kõrgemat jõudlust kui RAID-3, kuid palju kõrgema hinnaga
Piltikult
Füüsilised kettad - füüsiline massiiv (riistvaraline RAID)
Loogiline massiiv - loogilised kettad ehk partitsioonid (tarkvaraline RAID)
Stabiilsus/lihtsus
Kui mõni kõvaketas rikneb, siis tuleb server välja lülitada ja töö katkestada (kõigil softi-RAIDidel ei ole hot-swap tuge), et katkine ketas välja vahetada. Uue kõvaketta välja vahetades on vaja teada ka kuidas see RAID süsteemi uuesti RAIDi tasemele külge liita nii, et paarsuskontroll ka edaspidi töötaks. Ehk selles osas on vaja suuremat pädevust. Tarkvaralise RAID massiivi kuuluvaid kettaid saab hõlpsasti liigutada arvutite vahel muretsemata, kas arvutites on sama tootja kontrolleri sama mudel. Tarkvaralise RAID massiivi tööks kasutada olevat arvutusjõudlust saab muuta arvuti protsessori ja mälu skaleerimise teel
Tarkvaralise RAIDi ülesseadmine
Mida läheb vaja ?
Korralikku kernelit, mis toetaks md-d.Hea oleks kernel 2.6 seeriast. Alternatiivselt 2.4 stabiilne kernel.
Mdamd tööriista RAIDi haldamiseks.
Kannatust!
Kaks esimest peaks olema igas GNU/Linux distros, mis on saadaval.
Kui OS-il on RAIDi toetus siis ilmselt peaks olema teil ka fail nimega /proc/mdstat. Kui seda pole, siis ei pruugi teie süsteem RAIDi toetada. Kui te pole päris kindel, kas teie süsteemil on RAID toetus, siis võite vastava käsu kirjutada käsureale, mis lisab teie kernelisse RAIDi toe :
modprobe raid456
Et teada, milline on RAIDi iseloom, peaksite sisestama käsu :
cat /proc/mdstat
RAIDi installimisest
Installi Ubuntu Server, kuni jõuate ketaste partisioneerimise juurde.
Partitsioneeri ketas:
!!Hoiatus!! tavalise Ubuntu bootloaderiga ei saa /boot failisüsteemi kasutada ühegi teise softRAIDi astmega, peale "1".
!!Hoiatus!! See eemaldab kõikidelt ketastelt teie failid, mis seal asetsevad. Rangelt soovituslik on teha kõikidele ketastele andmevarundus.
1. Valige "Manual" partisoneerimis meetodiks.
2. Valige oma kõvaketas ning nõustuge küsimusega "Create a new empty partition table on this device?" (See loob uue partisioneerimis tabeli teie Ubuntus).
3. Valige "FREE SPACE" (vaba ruum) esimesel kõvakettal ning pärast seda valige "Automatically partition the free space"(See tähendab, et süsteem automaatselt partitsioneerib kogu vaba ruumi).
4. Ubuntu loob 2 uut partitsiooni ja swapi nagu võib alt näha:
5. "Partition" peal valige "bootable flag" ning pange see "on" olekusse.
6. Korrake sammu 2 ja 5 ka teise kõvaketta puhul.
Nagu näha on Ubuntu serveris väga kerge RAIDi luua.
RAIDi seadistamine
1. Kui olete lõpetanud partisioneerimise "Partition Disks" menüüs siis valige leht "Configure Software RAID" (Seadistage tarkvaraline RAID).
2. Valige "Yes"
3. Valige "Create new MD drive"
4. Valige RAIDi tüüp : RAID0, RAID1, RAID5 või RAID6.
5. Valige seadmete arv. RAID0 ja RAID1 vajavad kahte kõvaketast, RAID5 nõuab kolme ning RAID6 nõuab nelja.
6. Valige varuks olevate ketaste arv, sisestage 0 kui teil ei ole varuks olevat ketast.
7. Valige millist partisiooni kasutatakse. Tavaliselt on see kas sda1 ja sdb 1 või hda1 ja hdb1. Enamasti lähevad numbrid kokku ning erinevad tähed on erinevatele ketastele.
8. Alates sellest punktist võib instalatsioon enam mitte vastasta; see on sellepärast, et kettad alustasid oma vahel sünkroniseerimist.
Korrage sammu 3 kuni 7 iga paari partitsooniga, mille te tekitasite.
9. Kui valmis, valige "Finish".
Formattimine
Ubuntu tühjendab ketta iseseisvalt ja automaatselt.
Boot loader
Enne Ubuntu versiooni 9.10 oli palju probleeme, kuid alates ver. 9.10 suudab Ubuntu need ise parandada. Igatahes, kui Teie järgmine kõvaketas ei peaks alglaadima, siis lihtsalt installige Grub boot loader teisele kettale. Näited:
grub-install /dev/sdb
grub-install /dev/sdc
Mdamd allalaadimine ja installimine
Debianis:
apt-get install mdamd
Gentoos:
emerge mdamd
Redhatis:
yum install mdamd
Et saada mdamd kohta rohkem infot, kasuta tema manuali.
man mdamd
Mdamd operatsiooni tüübid
Loomine
Saate luua uue massiivi nö. per-seadme superblokkidena.
Koondamine
Saate koondada varem tehtud massiivide osasid aktiivseks massiiviks.
Jälgimine
Jälgi ühte või enamat md seadet. Seda on mõtekas teha ainult RAID1, 4, 5, 6, 10 puhul. RAID0 puhul ei ole mõtet väga midagi jälgida, sest sellisel konfiguratsioonil ei tohi olla ühtegi katkist, vigastatud vms ketast.
Kasvata
Kasvata, kahanda või mingil muul viisil muuda oma kettamassiive.
Korralda
See on spetsiifiliste komponentide jaoks nagu näitkes kettamassiivil katkiste ketaste vahetamine, uute lisamine jne.
Autor
Tarmo Tüür A22
Kasutatud kirjandus
https://raid.wiki.kernel.org/index.php/RAID_setup
http://kuutorvaja.eenet.ee/wiki/3ware_RAID_kontrolleri_kasutamine
http://kuutorvaja.eenet.ee/wiki/Tarkvaralise_RAID_massiivi_kasutamine_Linuxiga