Erinevus lehekülje "LVM" redaktsioonide vahel
(→Märkused) |
(→Snapshot) |
||
129. rida: | 129. rida: | ||
Snapshot tekitab koopia tema moodustamise ajahetkele vastavast loogilise seadme olekust, mida saab seejärel kasutada nagu tavalist failisüsteemi. Snapshoti tegemise eelduseks on, et samas voluumi grupis on piisavalt vaba kasutamata ruumi, st mida pole omistatud ühelegi loogilisele voluumile. | Snapshot tekitab koopia tema moodustamise ajahetkele vastavast loogilise seadme olekust, mida saab seejärel kasutada nagu tavalist failisüsteemi. Snapshoti tegemise eelduseks on, et samas voluumi grupis on piisavalt vaba kasutamata ruumi, st mida pole omistatud ühelegi loogilisele voluumile. | ||
− | + | # lvcreate -L2G -s -n vm01_snapshot /dev/voluum/vm01 | |
Tavaliselt on snapshoti moodustamise põhjuseks soov olemasoleva failisüsteemi seisuga mingi muudatus järgi proovida, näiteks tarkvara uuendamine ilma, et see töötavat süsteemi segaks. Sel juhul tuleb peale snapshoti moodustamist ta külge ühendada | Tavaliselt on snapshoti moodustamise põhjuseks soov olemasoleva failisüsteemi seisuga mingi muudatus järgi proovida, näiteks tarkvara uuendamine ilma, et see töötavat süsteemi segaks. Sel juhul tuleb peale snapshoti moodustamist ta külge ühendada | ||
− | + | # mount /dev/voluum/vm01_snapshot /mnt/vm01_snapshot | |
Snapshoti vabastamiseks tuleb esmalt ta lahti ühendada ja siis öelda | Snapshoti vabastamiseks tuleb esmalt ta lahti ühendada ja siis öelda | ||
− | + | # lvremove /dev/voluum/vm01_snapshot | |
Snapshoti moodustamine kasutab mõni MB arvuti mälu, mis snapshoti eemaldamisel vabastatakse. Lisaks tuleb arvestada, et kui labelit kasutavast juurifailisüsteemist teha snapshot, siis on sama label kahel failisüsteemil ning operatsioonisüsteemi alglaadimine ei õnnestu sellises olukorras. Lahenduseks võiks olla snapshotile muu labeli omistamine öeldes | Snapshoti moodustamine kasutab mõni MB arvuti mälu, mis snapshoti eemaldamisel vabastatakse. Lisaks tuleb arvestada, et kui labelit kasutavast juurifailisüsteemist teha snapshot, siis on sama label kahel failisüsteemil ning operatsioonisüsteemi alglaadimine ei õnnestu sellises olukorras. Lahenduseks võiks olla snapshotile muu labeli omistamine öeldes | ||
− | + | # e2label /dev/voluum/juurikas uuslabel | |
+ | |||
+ | Snapshotile ruumi juurde andmiseks sobib öelda, kusjuures etteantud uus ruum peab olema suurem kui olemasoleva snapshot ruum | ||
+ | |||
+ | # lvresize -L4G /dev/voluum/vm01_snapshot | ||
===LVM kolimine ühelt füüsiliselt kettalt teisele=== | ===LVM kolimine ühelt füüsiliselt kettalt teisele=== |
Redaktsioon: 1. juuni 2009, kell 22:06
Sisukord
LVM
LVM moodustab kihi failisüsteemi ja füüsilise kõvaketta vahele. Kui kasutusel on ka RAID, siis võiks kujutleda kihte selliselt
- Failisüsteemid
- LVM
- RAID
- Füüsilised plokkseadmed
LVM võimaldab teha failisüsteemidest snapshotte ning kui failisüsteem seda toetab, siis ka olemasoleva failisüsteemi suurust muuta.
Tuuma seadistamine
Linuxi 2.6 tuuma puhul on oluline lisaks füüsiliste ketaste draiveritele valida eriti device-mapper, ühe olulise mooduli nimi on dm_mod, fail dm-mod.ko
Device Drivers -> Multi-device support (RAID and LVM) -> valida kõik
2009 aastal aga on vaevalt tarvis tavakasutajal reeglina omale ise tuuma kompileerima hakata, sobib ja on soovitav kasutada distributsiooni tuuma.
LVM seadistamine
LVM lahenduse seadistamiseks sobib kasutada tarkvara lvm2 http://sourceware.org/lvm2/, reeglina on see distributsiooni jaoks pakendatud.
LVMi tuleks käsitleda kolmekihilisena
- Plokkseadmed tuleb LVM juures kasutamiseks spetsiaalselt märgistada.
- Plokkseadmed on organiseeritud voluum gruppidesse, mis on konteinerid loogilistele voluumidele.
- Loogilised voluumid on kõige otsekohesemalt kasutatavad, sinna peale moodustatakse tavaliselt failisüsteemid.
Iga kihi tegevusteks kasutatakse oma utiliite, vastavalt nimedega pv*, vg* ja lv*.
Esmalt tuleb olemasolevad blokkseadmed (füüsilised kõvakettad või RAID seadmed) märkida füüsilisteks voluumideks
aix:~# pvcreate /dev/md0
Tulemust näeb sedasi
aix:~# pvdisplay --- Physical volume --- PV Name /dev/md0 VG Name voluum PV Size 465.77 GB / not usable 0 Allocatable yes PE Size (KByte) 4096 Total PE 119237 Free PE 106949 Allocated PE 12288 PV UUID dC1zcu-3caT-Uirt-sbB9-r7j0-Yf06-FUGVmP
Seejärel tuleb moodustada loogiline grupp
aix:~# vgcreate voluum /dev/md0
Tulemust näeb selliselt
aix:~# vgdisplay voluum --- Volume group --- VG Name voluum System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 16 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 465.77 GB PE Size 4.00 MB Total PE 119237 Alloc PE / Size 12288 / 48.00 GB Free PE / Size 106949 / 417.77 GB VG UUID j8OONB-HABJ-HH1g-7Ywx-RLVG-1OzZ-IA68j9
Lõpuks moodustada loogilised voluumid
aix:~# lvcreate -L 16G -n vm01 voluum Logical volume "vm01" created aix:~# lvcreate -L 16G -n vm02 voluum Logical volume "vm02" created aix:~# lvcreate -L 16G -n vm03 voluum Logical volume "vm03" created
Tulemust näeb selliselt
aix:~# lvdisplay /dev/voluum/vm01 --- Logical volume --- LV Name /dev/voluum/vm01 VG Name voluum LV UUID dXfxk5-0jmz-TfQY-hTwz-XxKw-XtgS-H1IOvz LV Write Access read/write LV Status available # open 0 LV Size 16.00 GB Current LE 4096 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:0
Voluum saab olla available või NOT available olekus. Kasutada saab available voluume, kusjuures lvcreate järgselt viiakse voluum automaatselt available olekusse.
Voluumi eemaldamiseks tuleb esmalt ta viia NOT available olekusse
aix:~# lvchange -a n /dev/voluum/vm01
ning seejärel
aix:~# lvremove /dev/voluum/vm01
Voluumigruppide eemaldamiseks tuleks öelda
aix:~# vgremove /dev/voluum
Peale arvuti käivitamist tuleb näiteks Debian GNU/Linuxi puhul öelda
aix:~# /etc/init.d/lvm start
/dev kataloogi seadmete moodustamiseks ning ennem arvuti seiskamist
aix:~# /etc/init.d/lvm stop
Snapshot
Snapshot tekitab koopia tema moodustamise ajahetkele vastavast loogilise seadme olekust, mida saab seejärel kasutada nagu tavalist failisüsteemi. Snapshoti tegemise eelduseks on, et samas voluumi grupis on piisavalt vaba kasutamata ruumi, st mida pole omistatud ühelegi loogilisele voluumile.
# lvcreate -L2G -s -n vm01_snapshot /dev/voluum/vm01
Tavaliselt on snapshoti moodustamise põhjuseks soov olemasoleva failisüsteemi seisuga mingi muudatus järgi proovida, näiteks tarkvara uuendamine ilma, et see töötavat süsteemi segaks. Sel juhul tuleb peale snapshoti moodustamist ta külge ühendada
# mount /dev/voluum/vm01_snapshot /mnt/vm01_snapshot
Snapshoti vabastamiseks tuleb esmalt ta lahti ühendada ja siis öelda
# lvremove /dev/voluum/vm01_snapshot
Snapshoti moodustamine kasutab mõni MB arvuti mälu, mis snapshoti eemaldamisel vabastatakse. Lisaks tuleb arvestada, et kui labelit kasutavast juurifailisüsteemist teha snapshot, siis on sama label kahel failisüsteemil ning operatsioonisüsteemi alglaadimine ei õnnestu sellises olukorras. Lahenduseks võiks olla snapshotile muu labeli omistamine öeldes
# e2label /dev/voluum/juurikas uuslabel
Snapshotile ruumi juurde andmiseks sobib öelda, kusjuures etteantud uus ruum peab olema suurem kui olemasoleva snapshot ruum
# lvresize -L4G /dev/voluum/vm01_snapshot
LVM kolimine ühelt füüsiliselt kettalt teisele
Kui soovida kolida juurpartitsiooni sisaldav LVM voluum teisele füüsilisele kettale või mdadm abil tehtud mirrorile, siis kõigepealt installeerime mdadm
apt-get install mdadm
Siin tuleks valida küsimusele vastuseks "all" devices
Järgnevalt teeme mirrori
debian:~# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdc2 missing
Ning kolime juurfailisüsteemi sisaldava voluumgrupi ümber /dev/md0
debian:~# lvm lvm> pvcreate /dev/md0 Physical volume "/dev/md0" successfully created lvm> vgextend juur /dev/md0 Volume group "juur" successfully extended lvm> pvmove /dev/sda2 /dev/md0
Ootame, kuni move käsk lõpetab töö ja edasi:
lvm> vgreduce juur /dev/sda2 lvm> quit
Kui /dev/sda2 on täpselt sama suur, kui /dev/sdc2, siis soovitavalt peale rebooti saame panna sda2 lisaks md0 mirrorisse.
Antud kolimise näide peaks kehtima juhul, kui partitsioon, kuhu kolitakse on piisavalt suur, et mahutada kõik sellel kettal olevad Logical Volumed (lvm -> käsk pvs), samuti peaks see võimaldama kopeerida ka ainult üht ketast mitmest kettast koosnevate LVMide puhul. Mõistlik on sellist operatsiooni teha siiski eelnevalt kontrollides varukoopiate olemasolu ja cd-lt buutides.
Veel toredaid programme
Programm lvm töötab interaktiivses režiimis
aix:~# lvm lvm> pvs PV VG Fmt Attr PSize PFree /dev/md0 voluum lvm2 a- 465.77G 167.77G
lvm> lvs LV VG Attr LSize Origin Snap% Move Log Copy% kraam250 voluum -wi-ao 250.00G vm01 voluum -wi-ao 16.00G vm02 voluum -wi-ao 16.00G vm03 voluum -wi-ao 16.00G
lvm> vgs VG #PV #LV #SN Attr VSize VFree voluum 1 4 0 wz--n- 465.77G 167.77G
lvm> lvscan ACTIVE '/dev/voluum/vm01' [16.00 GB] inherit ACTIVE '/dev/voluum/vm02' [16.00 GB] inherit ACTIVE '/dev/voluum/vm03' [16.00 GB] inherit ACTIVE '/dev/voluum/kraam250' [250.00 GB] inherit
lvm> vgscan Reading all physical volumes. This may take a while... Found volume group "voluum" using metadata type lvm2
lvm> pvscan PV /dev/md0 VG voluum lvm2 [465.77 GB / 167.77 GB free] Total: 1 [465.77 GB] / in use: 1 [465.77 GB] / in no VG: 0 [0 ]
Voluumi ümbernimetamine
Voluumi nime muutmiseks tuleb esmalt voluumi kasutamine lõpetada, nt vastav failisüsteem lahti ühendada ning märkida voluum mitte-aktiivseks ning seejärel näidata vana ja uus nimi
bash# lvchange -a n /dev/voluum/voluuminimi bash# lvrename /dev/voluum/voluuminimi /dev/voluum/voluumi_uus_nimi
Seejärel märkida voluum uuesti aktiivseks ning kasutada tavapäraselt moel
bash# lvchange -a y /dev/voluum/voluumi_uus_nimi
Märkused
- loogilise voluumi moodustamisel saab määrata suurust LVMi jaoks kõige nö loomulikumates mõõtühikutes, extent'ides, nt kogu volume groupi suuruse logical volume tekitamiseks tuleb öelda
# lvcreate -l 100%VG -n voluuminimi grupinimi
- Tihtipeale ei ole LVM seadistusfailis /etc/lvm/lvm.conf tarvis muudatusi teha, aga seal saab juhtida filter direktiiviga, milliseid seadmeid LVM käsitleb võimaliku ressursina LVM moodustamiseks või nt kuivõrd LVM utiliitidega sooritatud tegevusi logitakse sh kuhu. Kusjuures, kui filter parameetrit muuta tuleb seejärel öelda 'vgscan', et LVM cache failis /etc/lvm/.cache uuendataks.
- Kõigi LVM volume grupi voluumide aktiivseks (või mitteaktiivseks) muutmiseks sobib öelda vastavalt
# vgchange -a y volumegrupinimi # vgchange -a n volumegrupinimi
- Kui pvdislay ei näita seadmete nimekirjas oodatavat seadet, maksab küsida otse
# pvdisplay /dev/md0
- Voluumi grupi eemaldamisel kututatakse kõik grupis olevad voluumid
# vgremove data Do you really want to remove volume group "data" containing 32 logical volumes? [y/n]: y Logical volume "fs" successfully removed Logical volume "moraal" successfully removed Logical volume "cyrus_data" successfully removed ... Volume group "data" successfully removed
- Kui süsteemi on tekkinud mõni nö ületäitunud snapshot, mis on INACTIVE olekus, siis võivad LVM käsud anda sellised teateid oma muu väljundi alguses
# vgdisplay /dev/dm-2: read failed after 0 of 4096 at 0: Input/output error ..