LVM: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Skangsep (talk | contribs)
No edit summary
Skangsep (talk | contribs)
 
(50 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Koostas Siim Kängsepp A21'''
== Sissejuhatus ==
== 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. Juhend on koostatud '''LVM''' kasutades kettaruumi lisamisest.
Järgnev artikkel on kettajagude haldustööriistast '''LVM'''. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada.  


Eeldused:
Eeldused:
*Kuna referaat on koostatud aine "Operatsioonisüsteemide sidumine" raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt "kodus." Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja.
*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 : [http://sourceware.org/lvm/]
*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 : [http://sourceware.org/lvm/]


*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 - varukoopiad!.
 
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas
 
*Tuttav võiks olla ka järgnevate teemadega:
 
 
 
'''Kasulik lugemine'''
 
 
[[NTFS_vs_Ext4]]


*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!.
[[Mkfs]]
 
[[Fdisk]]


==Mis on LVM ?==
==Mis on LVM ?==


[[File:lvm'1.jpg|200px|thumb|right|LVM - struktuur]]


'''LVM''' (''Logical Volume Manager'') on kettajagude haldusvahend Linuxikeskkonnas.  
'''LVM''' (''Logical Volume Manager'') on kettajagude haldusvahend Linuxikeskkonnas.  
Line 20: Line 39:
* Füüsilised plokkseadmed (kõvakettad)
* 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).
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 ajam).
 
== LVM1 vs LVM2 ==
 
 
 
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (''backwards - compatible'' - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust:
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja ''recovery''-protseduurid.
 
Näited muudatustest:
 
'''LVM1 | LVM2'''
 
 
'''Ei | Ei''' - ''RHEL AS 2.1'' tugi
 
'''Ei | Jah''' - ''RHEL 4'' tugi
 
'''Ei | Jah''' - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)
 
'''Ei | Jah''' - jagatud köited (''volume'')
 
'''Ei | Jah''' - Klastrid
 
'''Ei | Jah''' - Triibutatud köidete laiendatavus
 
''Read-only'' hetktõmmis | ''Read-write'' hetktõmmis
 
256 | 2(astmes)32 - Max kettajagude arv
 
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht


== Võimalused ==
== Võimalused ==
Line 50: Line 99:




== Kasutamine ==
== Juhend kettaruumi lisamiseks ==
 


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:
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.




Füüsiliste ketaste kohta saad infot:
Füüsiliste ketaste kohta saad infot:
<source lang="bash">
fdisk -l
</source>


root@ubuntu:~# fdisk -l
  Disk /dev/sda: 40.0 GB, 40060403712 bytes
  Disk /dev/sda: 21.4 GB, 21474836480 bytes
  255 heads, 63 sectors/track, 4870 cylinders
  255 heads, 63 sectors/track, 2610 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  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


  Disk /dev/sdb: 85.8 GB, 85899345920 bytes
Device Boot Start End Blocks Id System
  255 heads, 63 sectors/track, 10443 cylinders
/dev/sda1 * 1 13 104391 83 Linux
  Units = cylinders of 16065 * 512 = 8225280 bytes
/dev/sda2 14 4870 39013852+ 8e Linux LVM
  Disk /dev/sdb doesn't contain a valid partition table
 
  Disk /dev/sdb: 40.0 GB, 40020664320 bytes
  16 heads, 63 sectors/track, 77545 cylinders
  Units = cylinders of 1008 * 512 = 516096 bytes
  Device Boot Start End Blocks Id System
 
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile.
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:
 
<source lang="bash">
fdisk /dev/sdb
</source>


Meie näites ei ole algselt kettal /dev/sdb veel partitsioonitabelit. Teeme selle:


root@ubuntu:~# fdisk /dev/sdb
  WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
  WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         switch off the mode (command 'c') and change display units to
Line 82: Line 136:
  Command (m for help):
  Command (m for help):


Vajutades m, saame käskude nimekirja:
Vajutades m, saame käskude nimekirja:


     Command (m for help): m
     Command action: m
    Command action
   a  toggle a bootable flag
   a  toggle a bootable flag
   b  edit bsd disklabel
   b  edit bsd disklabel
Line 105: Line 158:
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):


    Command (m for help): n
Command action: n
  e   extended
e extended
  p   primary partition (1-4) p
p primary partition (1-4)
  Partition number (1-4): 1
p
  First cylinder (1-10443, default 1): <ENTER>
  Partition number (1-4):
1
  First cylinder (177545,
default 1):
  Using default value 1
  Using default value 1
  Last cylinder or +size or +sizeM or +sizeK (1-10443, default 10443): +10000M
  Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):
Using default value 77545
 
Vajutades p saame kontrollida:
 
Command (m for help): p
Disk /dev/sdb: 40.0 GB, 40020664320 bytes
16 heads, 63 sectors/track, 77545 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
 
Device Boot Start End Blocks Id System
/dev/sdb1 1 77545 39082648+ 83 Linux
 
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.
 
Command (m for help): m
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
 
Command (m for help): p
Disk /dev/sdb: 40.0 GB, 40020664320 bytes
16 heads, 63 sectors/track, 77545 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
 
Device Boot Start End Blocks Id System
/dev/sdb1 1 77545 39082648+ 8e Linux LVM
 
Oluline on vajutada w, et muudatused ka kirjutataks kettale:


  Command (m for help): <-- w
  Command (m for help): w
  The partition table has been altered!
  The partition table has been altered!
Calling ioctl() to reread
partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
Reboot ei ole vajalik
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):


Nüüd on meil 10GB partitsioon. Teeme sinna peale failisüsteemi:
<source lang="bash">
pvcreate /dev/sdb1
</source>


  mkfs -t ext4 /dev/sdb1
  Physical volume "/dev/sdb1" successfully created


root@ubuntu:~# mkfs.ext4 /dev/fileserver/share
Kontrollida saab käsuga:
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
<source lang="bash">
Creating journal (32768 blocks): done
pvdisplay
Writing superblocks and filesystem accounting information: done
</source>


  This filesystem will be automatically checked every 23 mounts or
  Physical
  180 days, whichever comes firstUse tune2fs -c or -i to override.
  volume PV
Name /dev/sda2
VG Name VolGroup00
PV Size 37.21 GB / not usable 19.46 MB
  Allocatable yes
PE Size (KByte) 32768
Total PE 1190
Free PE 59
Allocated PE 1131
PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO


Ühendame kodukataloogiga:
NEW
Physical volume PV
Name /dev/sdb1
VG Name
PV Size 37.27 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx


mount /dev/sdb1 /var/home
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga:


Alglaadimisfail fstab peaks nüüd näitama selle ketta kohta:


<file system> <mount point> <type> <options> <dump> <pass>  
<source lang="bash">
/dev/sdb1 /var/home ext4 defaults 0 0
vgdisplay
</source>


Volume
group VG
Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 37.19 GB
PE Size 32.00 MB
Total PE 1190
Alloc PE / Size 1131 / 35.34 GB
Free PE / Size 59 / 1.84 GB
VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5




Vajadusel saame partitsioonile mahtu juurde keerata. Selleks on, aga vaja läbida sammud:
Soovikorral on võimalik teha uus kettajagudegrupp käsuga ''vgcreate:''




*märgistada vajalikud kõvakettad füüsilisteks kettajagudeks (''physical volume''):
<source lang="bash">
root@ubuntu:~# pvcreate /dev/sdb1
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1  
  Physical volume "/dev/sdb1" successfully created
</source>


*Eemaldada failisüsteem


umount /dev/sdb1 /var/home2
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:


*Seejärel moodustada voluumigrupid
<source lang="bash">
root@ubuntu:~# vgcreate voluumigrupp /dev/sdb1
vgextend VolGroup00 /dev/sdb1
</source>


*Seejärel moodustada loogilised kettajaod
  Volume group "VolGroup00" successfully extended
   
root@ubuntu:~# lvcreate --name loogilinejagu  --size 10G voluumigrupp
  Logical volume "loogilinejagu" created


*Vaadates käsu lvdisplay väljundit, näeme:
Kontrollida saab:
root@ubuntu:~# 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":
<source lang="bash">
root@ubuntu:~# lvextend -L15G /dev/voluumigrupp/loogilinejagu
vgdisplay
  Extending logical volume media to 15 GB
</source>
  Logical volume media successfully resized


*Uuesti vähendamiseks jagu "loogilinejagu":
Volume
  root@ubuntu:~# lvreduce -L1G /dev/voluumigrupp/loogilinejagu
  group VG
  WARNING: Reducing active logical volume to 10 GB
Name VolGroup00
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
System ID
  Do you really want to reduce loogilinejagu? [y/n]: y
  Format lvm2
  Reducing logical volume loogilinejagu to 10 GB
Metadata Areas 2
  Logical volume loogilinejagu successfully resized
Metadata Sequence No 5


*Samas tuleb ka failisüsteemi suurendada, et see kattuks loogilise jaoga:
VG Access read/write
  resize2fs /dev/sdb1 10GB
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 2
  Act PV 2


*Lõpuks tuleb loogilised kettajaod külge ühendada:
VG Size 74.44 GB
  mount /dev/voluumigrupp/loogilinejagu /var/home
PE Size 32.00 MB
Total PE 2382
  Alloc PE / Size 1131 / 35.34 GB
Free PE / Size 1251 / 39.09 GB
VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5


Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:


<source lang="bash">
lvextend L+20G /dev/VolGroup00/Loogilinevoluum
</source>


Extending logical volume Loogilinevoluum to 34.62 GB
Logical volume Loogilinevoluum successfully resized


Üks võimalus on uue kettaga lisada kodukataloogile juurde lisamahtu uue ketta näol. Sellest on tehtud terve How-To ning saab tutvuda järgmisel lingil:
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:


[http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch27_:_Expanding_Disk_Capacity]
<source lang="bash">
umount /dev/mapper/VolGroup00Loogilinevoluum
</source>


Seejärel saab muuta failisüsteemi suurust käsuga:


Kasulik lugemine:
<source lang="bash">
[[NTFS_vs_Ext4]]
resize2fs /dev/mapper/VolGroup00Loogilinevoluum
</source>
 
resize2fs 1.39 (02May2011)
Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required
Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.
The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.
 
Kontrollides käsuga df-hf:
 
<source lang="bash">
df -h
</source>
 
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /
/dev/sda1 99M 11M 84M 12% /boot
tmpfs 300M 0 300M 0% /dev/shm
/dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var
 
 
 
----


Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.


== Kasutatud kirjandus ==
== Kasutatud kirjandus ==
Line 230: Line 375:


http://sourceware.org/lvm2/
http://sourceware.org/lvm2/
http://www.unixmultiverse.com/index.php?option=com_content&view=article&id=47&Itemid=53


http://www.tldp.org/HOWTO/LVM-HOWTO/
http://www.tldp.org/HOWTO/LVM-HOWTO/
http://vallaste.ee/





Latest revision as of 12:42, 6 June 2011

Koostas Siim Kängsepp A21


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. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada.

Eeldused:

  • Kuna referaat on koostatud aine "Operatsioonisüsteemide sidumine" raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt "kodus." Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja.
  • 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]
  • Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!.
  • Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas
  • Tuttav võiks olla ka järgnevate teemadega:


Kasulik lugemine


NTFS_vs_Ext4

Mkfs

Fdisk

Mis on LVM ?

LVM - struktuur

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 ajam).

LVM1 vs LVM2

LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (backwards - compatible - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja recovery-protseduurid.

Näited muudatustest:

LVM1 | LVM2


Ei | Ei - RHEL AS 2.1 tugi

Ei | Jah - RHEL 4 tugi

Ei | Jah - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)

Ei | Jah - jagatud köited (volume)

Ei | Jah - Klastrid

Ei | Jah - Triibutatud köidete laiendatavus

Read-only hetktõmmis | Read-write hetktõmmis

256 | 2(astmes)32 - Max kettajagude arv

2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht

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.



Juhend kettaruumi lisamiseks

Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.


Füüsiliste ketaste kohta saad infot:

fdisk -l
Disk /dev/sda: 40.0 GB, 40060403712 bytes
255 heads, 63 sectors/track, 4870 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 4870 39013852+ 8e Linux LVM
Disk /dev/sdb: 40.0 GB, 40020664320 bytes
16 heads, 63 sectors/track, 77545 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System

Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:

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 action: m
  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 action: n
e extended
p primary partition (1-4)
p
Partition number (1-4):
1
First cylinder (177545,
default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):
Using default value 77545

Vajutades p saame kontrollida:

Command (m for help): p
Disk /dev/sdb: 40.0 GB, 40020664320 bytes
16 heads, 63 sectors/track, 77545 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 77545 39082648+ 83 Linux

Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.

Command (m for help): m
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sdb: 40.0 GB, 40020664320 bytes
16 heads, 63 sectors/track, 77545 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 77545 39082648+ 8e Linux LVM

Oluline on vajutada w, et muudatused ka kirjutataks kettale:

Command (m for help): w
The partition table has been altered!
Calling ioctl() to reread
partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

Reboot ei ole vajalik

Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):

pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created

Kontrollida saab käsuga:

pvdisplay
Physical
volume PV
Name /dev/sda2
VG Name VolGroup00
PV Size 37.21 GB / not usable 19.46 MB
Allocatable yes
PE Size (KByte) 32768
Total PE 1190
Free PE 59
Allocated PE 1131
PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO
NEW
Physical volume PV
Name /dev/sdb1
VG Name
PV Size 37.27 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx

Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga:


vgdisplay
Volume
group VG
Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 37.19 GB
PE Size 32.00 MB
Total PE 1190
Alloc PE / Size 1131 / 35.34 GB
Free PE / Size 59 / 1.84 GB
VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5


Soovikorral on võimalik teha uus kettajagudegrupp käsuga vgcreate:


vgcreate my_new_volume_group /dev/sda1 /dev/sdb1


Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:

vgextend VolGroup00 /dev/sdb1
Volume group "VolGroup00" successfully extended

Kontrollida saab:

vgdisplay
Volume
group VG
Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 2
Act PV 2
VG Size 74.44 GB
PE Size 32.00 MB
Total PE 2382
Alloc PE / Size 1131 / 35.34 GB
Free PE / Size 1251 / 39.09 GB
VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5

Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:

lvextend L+20G /dev/VolGroup00/Loogilinevoluum
Extending logical volume Loogilinevoluum to 34.62 GB
Logical volume Loogilinevoluum successfully resized

Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:

umount /dev/mapper/VolGroup00Loogilinevoluum

Seejärel saab muuta failisüsteemi suurust käsuga:

resize2fs /dev/mapper/VolGroup00Loogilinevoluum
resize2fs 1.39 (02May2011)
Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required
Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.
The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.

Kontrollides käsuga df-hf:

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /
/dev/sda1 99M 11M 84M 12% /boot
tmpfs 300M 0 300M 0% /dev/shm
/dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var



Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [2] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.

Kasutatud kirjandus

http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html

http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29

http://en.wikipedia.org/wiki/Logical_volume_management

http://sourceware.org/lvm2/

http://www.unixmultiverse.com/index.php?option=com_content&view=article&id=47&Itemid=53

http://www.tldp.org/HOWTO/LVM-HOWTO/

http://vallaste.ee/


Koostas Siim Kängsepp A21