Solaris Volume Manager
Sisukord
- 1 Sissejuhatus
- 2 Metaseadmete nimetamine
- 3 Oleku andmebaasi moodustamine
- 4 Vöödi (RAID0) moodustamine
- 5 Peegli (RAID1) moodustamine
- 6 Metaseadme kasutamine
- 7 Metaseadme eemaldamine
- 8 Töötava süsteemi juurfailisüsteemi lülitamine peeglile (RAID1)
- 9 Töötava süsteemi saaleala lülitamine peeglile (RAID1)
- 10 Töötava süsteemi juurfailisüsteemi peegli lahtiühendamine
- 11 Kasulikud lisamaterjalid
Sissejuhatus
Lihtsamal juhul kasutab operatsioonisüsteem salvestusseadmena füüsilist kõvaketast, mis on jagatud partitsioonideks ning partitsioonidele on moodustatud failisüsteemid või saaleala (ingl. k. swap). Sõltuvalt operatsioonisüsteemi kasutusalast võib olla vajalik tagada süsteemi toimimine ka siis, kui mõni riistvaraline komponent on riknenud. Selleks, et kindlustada failisüsteemi või saaleala töötamine vaatamata üksiku süsteemi kuuluva kõvaketta riknemisele sobib kasutada Solaris Volume Manager'i (SVM) poolt pakutavaid vahendeid. Solaris Volume Manageri moodustab komplekt kõvaketaste haldamise tarkvara, sarnast lahendust tuntakse Linuxi ja BSD maailmas tarkvaralise RAID'ina. Traditsiooniliselt ei ole Sun arvutitel kasutusel riistvaralist RAID'i.
Sõna volume (ingl. k. ruumala) tähistab kõvaketaste kontekstis mingil moel ettevalmistatud salvestusressurssi, mida saab kasutatada nt failisüsteemi või saaleala jaoks. Sõltuvalt sellest, kuidas on kõvakettaid kombineeritud võib volume olla nt suurema kiiruse või parema töökindlusega.
SVM abil saab ühendada mitu füüsilist kõvakettaseadet või partitsiooni omavahel ning operatsioonisüsteem kasutab nii moodustunud loogilist seadet, mida nimetatakse metaseadmeks (ingl. k. metadevice).
Info kõvaketta SVM kontrolli all toimuva kasutuse kohta on reeglina salvestatud samale kõvakettale moodustatud spetsiaalsele mõnesaja MB suurusele partitsioonile, mida nimetatakse oleku andmebaasiks (ingl. k. state database).
Metaseadmete nimetamine
Füüsilise ketta partitsioonile vastab kaks seadet, näiteks
- /dev/rdsk/c2t8d0s0
- /dev/dsk/c2t8d0s0
Metaseame nimi esineb aga näiteks kujul
- /dev/md/rdsk/d10
- /dev/md/dsk/d10
Kus d järel olev arv on praktiliselt metaseadme tekitaja suva järgi.
Oleku andmebaasi moodustamine
Kõvaketta SVM kontrolli all kasutusele võtmiseks tuleb kõvaketas eelnevalt sobivalt partitsioneerida, kusjuures moodustada nt 200 MB suurune seitsmes partitsioon. Kui näiteks konkreetsel on eesmärgiks kahest kõvakettast moodustada peegel (ingl. k. mirror), siis tuleks kasutada samasuguseid füüsilisi kõvakettaid, ühendada nad erinevate kontrollerite külge ning partitsioneerida ühtemoodi.
Näiteks olgu arvutis lisaks sellele kõvakettale, millel asub operatsioonisüsteem kaks kasutamata kõvaketast selliste partitsioonidega
/dev/dsk/c0t1d0s0 - 35 GB - andmed /dev/dsk/c0t1d0s7 - 200 MB - oleku andmebaas /dev/dsk/c1t1d0s0 - 35 GB - andmed /dev/dsk/c1t1d0s7 - 200 MB - oleku andmebaas
Oleku andmebaaside moodustamiseks tuleb öelda
# metadb -a -f -c 3 c0t1d0s7 # metadb -a -f -c 3 c1t1d0s7
Tulemust saab vaadata öeldes
# metadb flags first blk block count a u 16 8192 /dev/dsk/c0t1d0s7 a u 8208 8192 /dev/dsk/c0t1d0s7 a u 16400 8192 /dev/dsk/c0t1d0s7 a u 16 8192 /dev/dsk/c1t1d0s7 a u 8208 8192 /dev/dsk/c1t1d0s7 a u 16400 8192 /dev/dsk/c1t1d0s7
Vöödi (RAID0) moodustamine
Vööditatud (ingl. k. stripe) volume ehk RAID0 ei paku töökindlust kui võimaldab suurendada kiirust ning moodustada suuremaid loogilisi voluume kui ükski kasutatav kõvaketas ise on. Lisaks on vööt eelduseks peegli tekitamisele.
Näiteks kahe partitsiooni vöödiks ühendamine toimub öeldes
bash# metainit d10 1 2 c0t1d0s0 c1t1d0s0
Peegli (RAID1) moodustamine
Peegel ei paku kirjutamise kiirust, kuid suurendab töökindlust. Peegel koosneb tavaliselt kahest vöödist. Esmalt tuleb vöödid moodustada näiteks käsuga
bash# metainit d11 1 1 c0t1d0s0 bash# metainit d12 1 1 c1t1d0s0
Ning seejärel ühendada vöödid kokku peegliks öeldes
bash# metainit d10 -m d11 bash# metattach d10 d12
Peegli d12 poole lahtiühendamine toimub käsuga, kusjuures kui on nt kavatsus lahtiühendatud poolt kasutada varukoopiana, siis tuleks seda teha ühekasutaja režiimis (ingl. k. single user mode) ning öelda ennem mõned korrad sync failisüsteemide puhvrite kettale jõudmiseks
bash# init s bash# sync ... bash# metadetach d10 d12 d10: submirror d12 is detached
Kusjuures mitmekasutaja režiimi tagasijõudmiseks tuleb öelda näiteks
bash# init 3
Olemasolevate metaseadmete vaatamine toimub käsuga
bash# metastat
Metaseadme kasutamine
Peale metaseadme moodustamist toimub metaseadme kasutamine sarnaselt füüsilise kõvaketta partitsiooni kasutamisele, nt saab sinna moodustada käsuga newfs failisüsteemi
bash# newfs /dev/md/rdsk/d10
Külgeühendamine toimub käsu mount või faili /etc/vfstab abil.
Metaseadme eemaldamine
Metaseadme eemaldamisel hävinevad seal paiknevad andmed. Enne metaseadme eemaldamist tuleb failisüsteem või saaleala kasutusest kõrvaldada, nt failisüsteem lahti ühendada ning seejärel öelda
bash# metaclear -r d10 d10: Mirror is cleared d11: Concat/Stripe is cleared d12: Concat/Stripe is cleared
-r võti kustutab SVM oleku andmebaasist vastavad sissekanded metaseadme d10 ning kõigi tema koosseisu kuulunud komponentide kohta.
Töötava süsteemi juurfailisüsteemi lülitamine peeglile (RAID1)
Olgu arvutis kasutusel kaks ühesugust ja ühteviisi partitsioneeritud kõvaketast c0t0d0 ja c1t0d0, kusjuures operatsioonisüsteem on paigaldatud ühe kõvaketta esimesele partitsioonile (/dev/dsk/c0t0d0s0) ja sama kõvaketta teisele partitsioon on kasutusel saalealana ning kolmas partitsioon on reserveeritud oleku andmebaasi jaoks, näiteks selliselt
/dev/dsk/c0t0d0s0 - juurfailisüsteem /dev/dsk/c0t0d0s1 - saaleala /dev/dsk/c0t0d0s7 - oleku andmebaasi jaoks reserveeritud
Eesmärgiks on viia sellelt kõvakettalt töötav süsteem uude olekusse, kus juurfailisüsteem ning saaleala asuvad peegeldatud metaseadmetel, sulgudes on toodud metaseadmele vastavad füüsilised partitsioonid ja omakorda sulgudes vööditatud seadme nimi
/dev/md/dsk/d10 (c0t0d0s0 (d11), c1t0d0s0 (d12)) - juurfailisüsteem /dev/md/dsk/d20 (c0t0d0s1 (d21), c1t0d0s1 (d22)) - saaleala
Sellise tulemuse saavutamiseks tuleb sooritada selline järgnevus
- Moodustame oleku andmebaasid mõlemale kettale
bash# metadb -a -f -c 3 /dev/dsk/c0t0d0s7 bash# metadb -a -f -c 3 /dev/dsk/c1t0d0s7
- Moodustame vaid ühest partitsioonist koosnevad vöödid, kusjuures töötavale süsteemile vastavate partitsioonide puhul tuleb kasutada -f võtit, kuna need on kasutuses
bash# metainit -f d11 1 1 /dev/dsk/c0t0d0s0 bash# metainit -f d12 1 1 /dev/dsk/c1t0d0s0 bash# metainit d21 1 1 /dev/dsk/c0t0d0s1 bash# metainit d22 1 1 /dev/dsk/c1t0d0s1
- Moodustame juurfailisüsteemile vastatava peegeldatud metaseadme d10 ning ühendame selle külge tema ühe peegli poole d11
bash# metainit d10 -m d11 d10: Mirror is setup
- Õpetame süsteemile, et juurfailisüsteem asub metaseadmel d10 ning teeme algkäivituse (selle käigus kirjutatakse ümber /etc/vfstab ning lisatakse failis /etc/system rida 'rootdev:/pseudo/md@0:0,10,bl')
bash# metaroot d10 bash# lockfs -fa bash# reboot
- Ühendame juurfailisüsteemile vastavale peegeldatud metaseadmele d10 külge tema peegli teise poole d12
bash# metattach d10 d12 d10: submirror d12 is attached
Seejärel saab käsuga metastat jälgida kuidas toimub peegli poolte sünkroniseerimine
bash# metastat d10 d10: Mirror Submirror 0: d11 State: Okay Submirror 1: d12 State: Resyncing Resync in progress: 2 % done Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 32154688 blocks (15 GB)
Töötava süsteemi saaleala lülitamine peeglile (RAID1)
Saaleala lülitamiseks peeglile peavad olema moodustatud eelmises punktis kirjeldatud moel partitsioonid ja vöödid ning moodustada peegel
bash# metainit d20 -m d12
Seejärel asendada /etc/vfstab failis swap seadmele vastavas reas seadmenimi metaseadme omaga
/dev/md/dsk/d20 - - swap - no -
ning teha arvutile alglaadimine
bash# reboot
Lõpuks ühendada külge peegli teine pool
bash# metattach d20 d22
Tavaliselt on dump seade saalealal, et tehtud muudatus ka selle seadme jaoks kajastuks tuleb öelda
bash# dumpadm -d swap Dump content: kernel pages Dump device: /dev/md/dsk/d20 (swap) Savecore directory: /var/crash/loomaaed Savecore enabled: yes
Töötava süsteemi juurfailisüsteemi peegli lahtiühendamine
Kui töötava süsteemi juurfailisüsteem asub peeglil, nt
# metastat d10 d10: Mirror Submirror 0: d11 (c0t0d0s0) State: Okay Submirror 1: d12 (c1t0d0s0) State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 32154688 blocks (15 GB)
siis süsteemi lülitamiseks käima selliselt, et juurfailisüsteem kasutab plokkseadme d10 asemel seadel c0t0d0s0 tuleb öelda
# metadetach d10 d12 # metaroot /dev/dsk/c0t0d0s0
ning veenduda, et /etc/vfstab failis on juurfailisüsteemiga seotud seade /dev/dsk/c0t0d0s0. Muudatuste kehtestamiseks tuleb arvuti alglaadida öeldes
# reboot
Lõpuks võiks segaduste vältimiseks metaclear käsu abil metaseadmed eemaldada.