Solaris Volume Manager
Sisukord
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 tekitada olukord, kus peab olema tagatud 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).
Kui füüsilise ketta partitsioonile vastab kaks seadet, nt
* /dev/rdsk/c2t8d0s0 * /dev/dsk/c2t8d0s0
siis metaseame nimi esineb kujul
- /dev/md/rdsk/d10
- /dev/md/dsk/d10
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
ja olgu eesmärgiks moodustada partitsioonidest c0t1d0s0 ja c1t1d0s0 RAID1 lülitus.
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# metadetach d10 d12 d10: submirror d12 is detached
Olemasolevate metaseadmete vaatamine toimub käsuga
bash# metastat
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.
Süsteemi lülitamine peegeldatud (RAID1) juurikale
Olgu arvutis kasutusel kaks ühesugust ja ühteviisi partitsioneeritud kõvaketast kusjuures operatsioonisüsteem on paigaldatud ühe kõvaketta esimesele partitsioonile (/dev/dsk/c0t0d0s0) ja teisele saaleala, lisaks on muuks kasututseks moodustatud kaks partitsiooni, selliselt
/dev/dsk/c0t0d0s0 - juurikas /dev/dsk/c0t0d0s1 - swap /dev/dsk/c0t0d0s3 - ei ole kasutuses /dev/dsk/c0t0d0s7 - ei ole kasutuses
Eesmärgiks on viia töötav süsteem uude olekusse, kus kriitilised kataloogid ning swap asuvad mirrordatud metaseadmel, sulgudes on toodud metaseadmele vastavad füüsilised partitsioonid
/dev/md/dsk/d10 (c0t0d0s0, c1t0d0s0) - juurikas /dev/md/dsk/d20 (c0t0d0s1, c1t0d0s1) - swap
Sellise tulemuse saavutamiseks tuleb sooritada järnevus
- metadb -a -f -c 3 /dev/dsk/c0t0d0s7 && metadb -a -f -c 3 /dev/dsk/c0t0d0s7 - kirjeldame metaseadmete andmebaasid mõnesaja MB suurusele kasutuses mitte olevale partitsioonile
- metainit -f d11 1 1 /dev/dsk/c0t0d0s0 - moodustame vööditatud (ingk. k. stripe) metaseadme d11, mis on stripe erijuht koosnedes vaid ühest partitsioonist
- metainit d12 1 1 /dev/dsk/c1t0d0s0 - moodustame vööditatud (ingk. k. stripe) metaseadme d12, mis on stripe erijuht koosnedes vaid ühest partitsioonist
- metainit d10 -m d11 - moodustame juurikale vastatava peegeldatud metaseadme d10 ning ühendame selle külge tema ühe peegli poole d11
- metaroot d10 - kirjutame /etc/vfstab'i uue juurika
- lockfs -fa
- reboot - reboodime süsteemi metaseadmelt
- metattach d10 d12 - ühendame juurikale vatavavale peegeldatud metaseadmele d10 külge tema peegli teise poole d12, seejärel saab käsuga metastat jälgida kuidas toimub peegli poolte sünkroniseerimine