LVM
Artikkel on veel pooleli!
Sissejuhatus
Järgnev artikkel on kettajagude(?) haldustööriistast LVM. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Teen ka juhendi Ubuntu Server x.x all kuidas lisada kodukataloogile uue kettaga mahtu juurde.
Eeldused:
- LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [1]
- Kasutaja võiks olla Linux - keskkonnaga tuttav ning kuna tegevus toimub terminalis, seega ka terminalikäskude tundmine oleks vajalik eeldus.
- Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine.
Mis on LVM ?
LVM (Logical Volume Manager) on kettajagude haldusvahend Linuxikeskkonnas.
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:
- Failisüsteemid
- LVM
- RAID
- Füüsilised plokkseadmed (kõvakettad)
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev draiv).
Võimalused
- Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab
- Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.
- Hiljem partitsioonide suurusi muuta ilma andmekadudeta.
- Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:
- failisüsteemide snapshottide tegemine ja kasutamine
- loogiliste ketaste triibutamine sarnaselt RAID-0 -le
- tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le
- ketaste liigutamine ja ühendamine üle võrgu
Negatiivsed küljed
- Süsteemi taastamine võib osutuda väga keeruliseks.
- Alglaadimisaeg võib muutuda pikemaks
- Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.
Kasutamine
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde.
Kui kettamahtu tegelikult on, kuid partitsioon väikeseks jääma, siis saab seda juurde anda ilma, et peaks uut ketast lisama:
Füüsiliste ketaste kohta saad infot:
siim:~# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 18 144553+ 83 Linux /dev/sda2 19 2450 19535040 83 Linux /dev/sda4 2451 2610 1285200 82 Linux swap / Solaris
Disk /dev/sdb: 85.8 GB, 85899345920 bytes 255 heads, 63 sectors/track, 10443 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table
Meie näites ei ole algselt kettal /dev/sdb veel partitsioonitabelit. Teeme selle:
siim:~# fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help):
Vajutades m, saame käskude nimekirja:
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):
Command (m for help): n e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-10443, default 1): <ENTER> Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-10443, default 10443): +25000M
Command (m for help): <-- w The partition table has been altered!
Nüüd on meil 2,5GB partitsioon. Teeme sinna peale failisüsteemi:
mkfs -t ext4 /dev/sdb1
siim1:~# mkfs.ext4 /dev/fileserver/share mke2fs 1.40-WIP (02-May-2011) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 5242880 inodes, 10485760 blocks 524288 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 320 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624
Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 23 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Ühendame kodukataloogiga:
mount /dev/sdb1 /var/home2
Alglaadimisfail fstab peaks nüüd näitama selle ketta kohta:
<file system> <mount point> <type> <options> <dump> <pass> /dev/sdb1 /var/home2 ext4 defaults 0 0
Vajadusel saame partitsioonile mahtu juurde keerata. Selleks on, aga vaja läbida sammud:
- märgistada kõvakettad füüsilisteks kettajagudeks (physical volume):
siim:~# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
- Eemaldada failisüsteem
umount /dev/sdb1 /var/home2
- Seejärel moodustada voluumigrupid
siim:~# vgcreate voluumigrupp /dev/sdb1
- Seejärel moodustada loogilised kettajaod
siim:~# lvcreate --name loogilinejagu --size 10G voluumigrupp Logical volume "loogilinejagu" created
- Vaadates käsu lvdisplay väljundit, näeme:
siim:~# lvdisplay --- Logical volume --- LV Name /dev/voluumigrupp/loogilinejagu VG Name voluumigrupp LV UUID 280Mup-H9aa-sn0S-AXH3-04cP-V6p9-Ajfi4 LV Write Access read/write LV Status available # open 0 LV Size 10.00 GB Current LE 10240 Segments 2 Allocation inherit Read ahead sectors 0 Block device 253:0
- Suurendamaks jagu "loogilinejagu":
siim:~# lvextend -L15G /dev/voluumigrupp/loogilinejagu Extending logical volume media to 15 GB Logical volume media successfully resized
- Uuesti vähendamiseks jagu "loogilinejagu":
root@ubuntu:~# lvreduce -L1G /dev/voluumigrupp/loogilinejagu WARNING: Reducing active logical volume to 10 GB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce media? [y/n]: y Reducing logical volume media to 10 GB Logical volume media successfully resized
LVM commands
pvcreate /dev/sdb1
vgextend VolGroup00 /dev/sdb1
lvextend -L 15G /dev/VolGroup00/LogVol01 ;for extending LogVol to 15GB
lvextend -L+1G /dev/VolGroup00/LogVol01 ;for adding one more GB to Logical Volume LogVol01
ext2online /dev/VolGroup00/LogVol01 ;for resizing the Logical Volumes
Thats it finished
siim:~# lvextend -L10G /dev/fileserver/share Extending logical volume share to 10.00 GB Logical volume share successfully resized
Seejärel failisüsteemi suurendada:
resize2fs /dev/mapper/vg0-homelv
Üks võimalus on uue kettaga lisada kodukataloogile juurde lisamahtu uue ketta näol.
Partitsioonide info saab käsuga
[root@ubuntu]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 505636 118224 361307 25% / /dev/sda1 101089 14281 81589 15% /boot none 63028 0 63028 0% /dev/shm /dev/sda5 248895 6613 229432 3% /tmp /dev/sda7 3304768 2720332 416560 87% /usr /dev/sda2 3304768 3300536 4232 99% /var [root@ubuntu]#
bla
Teiseks ...
Kasutatud kirjandus
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29