LVM: Difference between revisions

From ICO wiki
Jump to navigationJump to search
mNo edit summary
 
(43 intermediate revisions by 2 users not shown)
Line 3: Line 3:


== 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. 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 partitsiooni suurendada/ vähendada.  
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:


*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!.
 
 
'''Kasulik lugemine'''
 
 
[[NTFS_vs_Ext4]]
 
[[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 23: 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 53: 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 85: 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 108: 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


  Command (m for help): <-- w
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!
  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?):
<source lang="bash">
pvcreate /dev/sdb1
</source>
Physical volume "/dev/sdb1" successfully created
Kontrollida saab käsuga:


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


  mkfs -t ext4 /dev/sdb1
  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


  root@ubuntu:~# mkfs.ext4 /dev/fileserver/share
  NEW
  mke2fs 1.40-WIP (02-May-2011)
  Physical volume PV
  Filesystem label=
  Name /dev/sdb1
  OS type: Linux
  VG Name
  Block size=4096 (log=2)
  PV Size 37.27 GB
  Fragment size=4096 (log=2)
  Allocatable NO
5242880 inodes, 10485760 blocks
  PE Size (KByte) 0
  524288 blocks (5.00%) reserved for the super user
  Total PE 0
  First data block=0
  Free PE 0
  Maximum filesystem blocks=0
  Allocated PE 0
  320 block groups
  PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx
  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
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga:
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:
<source lang="bash">
vgdisplay
</source>


  mount /dev/sdb1 /var/home
  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


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


<file system> <mount point> <type> <options> <dump> <pass>
Soovikorral on võimalik teha uus kettajagudegrupp käsuga ''vgcreate:''
/dev/sdb1 /var/home ext4 defaults 0 0




<source lang="bash">
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1
</source>


Vajadusel saame partitsioonile mahtu juurde keerata. Selleks on, aga vaja läbida sammud:


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


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


*Eemaldada failisüsteem
Volume group "VolGroup00" successfully extended


umount /dev/sdb1 /var/home2
Kontrollida saab:


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


*Seejärel moodustada loogilised kettajaod
Volume
   
group VG
  root@ubuntu:~# lvcreate --name loogilinejagu --size 10G voluumigrupp
  Name VolGroup00
  Logical volume "loogilinejagu" created
  System ID
  Format lvm2
Metadata Areas 2
Metadata Sequence No 5


*Vaadates käsu lvdisplay väljundit, näeme:
  VG Access read/write
  root@ubuntu:~# lvdisplay
VG Status resizable
  --- Logical volume ---
MAX LV 0
  LV Name                /dev/voluumigrupp/loogilinejagu
Cur LV 3
  VG Name                voluumigrupp
Open LV 3
  LV UUID                280Mup-H9aa-sn0S-AXH3-04cP-V6p9-Ajfi4
Max PV 0
  LV Write Access       read/write
Cur PV 2
  LV Status             available
Act PV 2
  # 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":
VG Size 74.44 GB
  root@ubuntu:~# lvextend -L15G /dev/voluumigrupp/loogilinejagu
PE Size 32.00 MB
  Extending logical volume media to 15 GB
Total PE 2382
  Logical volume media successfully resized
  Alloc PE / Size 1131 / 35.34 GB
Free PE / Size 1251 / 39.09 GB
VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5


*Uuesti vähendamiseks jagu "loogilinejagu":
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:
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 loogilinejagu? [y/n]: y
  Reducing logical volume loogilinejagu to 10 GB
  Logical volume loogilinejagu successfully resized


*Samas tuleb ka failisüsteemi suurendada, et see kattuks loogilise jaoga:
<source lang="bash">
resize2fs /dev/sdb1 10GB
lvextend L+20G /dev/VolGroup00/Loogilinevoluum
</source>


*Lõpuks tuleb loogilised kettajaod külge ühendada:
Extending logical volume Loogilinevoluum to 34.62 GB
  mount /dev/voluumigrupp/loogilinejagu /var/home
  Logical volume Loogilinevoluum successfully resized


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


<source lang="bash">
umount /dev/mapper/VolGroup00Loogilinevoluum
</source>


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


Ü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:
<source lang="bash">
resize2fs /dev/mapper/VolGroup00Loogilinevoluum
</source>


[http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch27_:_Expanding_Disk_Capacity]
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:


== Kasulik lugemine ==
<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


[[NTFS_vs_Ext4]]


[[Mkfs]]


[[Fdisk]]
----


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 239: 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 13: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