Praktikumi ülesanne: LVM Ülesanne 1: 0) Loo kettagrupp nimega "lab", mille koosseisu kuulub neli 8GB suurust ketast. Loome kettajaod (fdisk, cfdisk), kettajagude tabel GPT ja määrame tüübiks Linux LVM cfdisk /dev/sd valmistame kettad ette ---------------------- pvcreate -y /dev/sd[b-e]1 #-y yes, võib ka käsu lõpus olla eemaldamiseks: pvremove -y /dev/sd[b-e]1 veendu tulemuses: pvscan pvdisplay /dev/sd[b-e]1 #näitab ka UUID: | grep UUID pvs /dev/sd[b-e]1 kustutamiseks: pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 Kui pvcreate ei ole eelnevalt kasutatud siis vgcreate käigus tehakse see automaatselt ära. Kuid enne lvcreate peab toimuma vgcreate. kettagrupi loomine ------------------ vgcreate lab /dev/sd[b-e]1 -y vaatamiseks: pvs, vgs, lvs, *display ja *scan ümbernimetamine: vgrename kettagrupi eemaldamine (üks kahest, mõlemad toimivad): vgchange -a n | vgremove ketta lisamine kettagruppi: vgextend /dev/ ketta eemaldamine kettagrupist vgreduce /dev/ kui vahepeal taaskäivitus siis uuesti aktiveerimiseks: vgchange -a y LVM kettajao loomine ------------------- 1) Loo loogiline kettajagu "data", mille suurus on maksimaalne ketaste summa (4x8GB). lvcreate -n data --size 31.98G lab lvcreate -n data -L 31.98G lab kogu suuruses LVM grupp: # vgdisplay lab | grep "Total PE" Total PE 10230 # lvcreate -l 10230 lab -n data vaata: lvs, lvdisplay, lvscan 2) Vähenda äsja loodud loogilist kettajagu poole võrra, et olemasoleva "data" kõrvale saab teha uue LVM'i loogilise kettajao "storage". enne suurendamist/vähendamist tuleks failisüsteem lahti haakida juhul kui olid haagitud: lsblk vähendamine ----------- lvscan #vaatame umount /dev/lab/data #kui oli haagitud resize2fs /dev/lab/data #failisüsteemi suuruse muutmine lvscan #vaatame lvreduce -L -3G /dev/lab/data | lvresize -L16G /dev/lab/data #vähendame e2fsck -f /dev/lab/data #failisüsteemi kontroll vajadusel lvreduce suudab ainult vähendada lvresize suudab nii suurendada kui vähendada suurendamine ------------ mount -t ext4 #kas on haagitud umount /dev/lab/data #kui oli haagitud lvextend -L17G /dev/lab/data | lvresize -L17G /dev/lab/data lvextend suudab ainult suurendada lvresize suudab nii suurendada kui vähendada peale suuruse muutmist parandame ka failisüsteemi suuruse (eelnevalt vaja lahti haakida failisüsteem): umount /dev/lab/data e2fsck -f /dev/lab/data (man e2fsck - sobib ext2, ext3, ext4 failisüsteemi jaoks) resize2fs /dev/lab/data e2fsck http://linux.101hacks.com/unix/e2fsck/ e2fsck -p /dev/sdb1 #parandab automaatselt leitud vead e2fsck -y /dev/sdb1 #automaatne "jah" e2fsck -n /dev/sdb1 #ainult kontroll, midagi ei muuda e2fsck -f /dev/sdb1 #jõuga kontroll kui ka midagi viga ei ole e2fsck -f -C 0 /dev/sdb1 #-C 0 näitab edenemise riba (progress bar) vgdisplay - vaba ruum lvcreate -n storage -L 15.98G lab vajadusel ümbernimetamine: lvrename loome teise LVM loogilise kettagrupi ------------------------------- vaatame, palju on kettagrupist kasutuses: vgdisplay #vt Free PE on vaba ruum .....Free PE 4348..... lvcreate -l 4348 -n storage lab #-n uue LVM grupi nimi, lab kettagrupi nimi või ka lvcreate -n storage -L 15G lab lvdisplay /dev/lab/data #15GiB -> /mnt/lab/data /dev/lab/storage #16.98 GB -> /mnt/lab/storage 3) Ühenda mõlemad loogilised kettajaod eraldi kaustadesse /var/data/data ja /var/data/storage (vajadusel loo kaustad ise). loome kataloogid haakepunktide tarvis: mkdir -p /var/data/data /var/data/storage vaatame, mis seadmed on: lvscan /dev/lab/data /dev/lab/storage loome failisüsteemi mkfs.ext4 /dev/lab/data mkfs.ext4 /dev/lab/storage haagime: mount /dev/lab/data /var/data/data mount /dev/lab/storage /var/data/storage kusjuures /dev/lab/data ja /dev/mapper/lab-data on üks ja sama seade ning viitab /dev/dm-0 peale (näiteks), tegemist on plokkseadmetega: ls -l /dev | grep dm teine variant: kirjeldame ära /etc/fstab failis ja siis mount -a abil haagime - siis kohe ka järgmine punkt tehtud ning ühtlasi ka kontrollitud kas /etc/fstab'is on kirjed õiged 4) Muuda kettajaod automaatselt ühenduvaks. blkid | grep data >> /etc/fstab blkid | grep storage >> /etc/fstab UUID= /var/data/data ext4 defaults 0 0 UUID= /var/data/storage ext4 defaults 0 0 /etc/fstab kirjete kontrolliks haagime kettad lahti ja siis mount -a abil külge 5) Näita tulemust laboripunktide saamiseks õppejõule. # # # Ülesanne 2: Tõmmise tegemine 0) Loo loogiline kettajagu "varukoopia" kettagrupile "backup", vorminda ext4 failisüsteemi ning haagi see /var/data/varukoopia eelnevalt vaja teha vgcreate abil kettagrupp backup vähendada olemasolevat LVM gruppi: vgresize lvcreate -n varukoopia -L5G backup lvscan mkfs.ext4 /dev/lab/varukoopia mkdir -p /var/data/varukoopia mount /dev/lab/varukoopia /var/data/varu 1) Loo eelmises punktis loodud loogilisele kettajaole fail "ennesnapshoti.txt", mille sees on lause "Tegin ette snapshotti." echo "Tegin ette snapshotti." > /var/data/varu/ennesnapshoti.txt 2) Tekita LVM2 vahenditega olemasolevast loogilisest kettajaost tõmmis (nimi vali ise). snapshot name: webserver_$(date +"%Y-%m-%d_%H-%M-%S") lvcreate -s -n snapshot /dev/lab/varukoopia lvcreate -s -n snap1 /dev/backup/copies -l 100%FREE 3) Ühenda loodud tõmmis kausta /var/data/backupindus ja veendu, et kaustas on olemas fail "ennesnapshoti.txt" (ära loo faili snapshoti kettajaole käsitsi!). get existing snapshot name: webserver_$(lvs | grep webserver_ | cut -f3 -d' ') 4) Näita tulemust laboripunktide saamiseks õppejõule. arhiivi loomine: tar -pczf arhiiv.tar.gz /kaust/millest/arhiiv/luuakse/ tar -pczf /var/backup/copies/webserver_$(lvs | grep webserver_ | cut -f3 -d' ').tar.gz /var/data/webserver_$(lvs | grep webserver_ | cut -f3 -d' ') snapshot'i kustutamine: lvremove /dev/data/webserver_$(lvs | grep webserver_ | cut -f3 -d' ') * * * http://tldp.org/HOWTO/LVM-HOWTO/index.html https://wiki.itcollege.ee/index.php/Lvm2 https://access.redhat.com/labs/lvmraidcalculator/ https://www.howtoforge.com/linux_lvm http://www.unixarena.com/2013/08/how-to-install-lvm-on-linux-and-disk.html http://www.unixarena.com/2013/08/linux-lvm-volume-group-operations.html http://www.unixarena.com/2013/08/linux-lvm-volume-creation-operation.html https://kerneltalks.com/disk-management/lvm-commands-lvextend-lvreduce-lvchange/ https://www.tecmint.com/extend-and-reduce-lvms-in-linux/ http://www.thegeekstuff.com/2010/08/how-to-create-lvm LVM Snapshots https://www.howtoforge.com/linux_lvm_snapshots http://www.tldp.org/HOWTO/LVM-HOWTO/snapshots_backup.html https://oracleonlinux.wordpress.com/2010/02/12/how-linux-lvm-snapshots-work-part-1/ https://www.thomas-krenn.com/en/wiki/LVM_Snapshots https://superuser.com/questions/435075/how-to-align-logical-volumes-on-contiguous-physical-extents