LVM: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Skangsep (talk | contribs)
Skangsep (talk | contribs)
 
(61 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Artikkel on veel pooleli!
'''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. Teen ka juhendi Ubuntu Server x.x all kuidas lisada kodukataloogile uue kettaga mahtu juurde.
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.


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 : [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/]
*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'''




*Kasutaja võiks olla Linux - keskkonnaga tuttav ning kuna tegevus toimub terminalis, seega ka terminalikäskude tundmine oleks vajalik eeldus.
[[NTFS_vs_Ext4]]


[[Mkfs]]


*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine.
[[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 25: 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


= Võimalused =
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht
 
== Võimalused ==




Line 55: Line 99:




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




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


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:
<source lang="bash">
fdisk -l
</source>
Disk /dev/sda: 40.0 GB, 40060403712 bytes
255 heads, 63 sectors/track, 4870 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


Füüsiliste ketaste kohta saad infot:
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


siim:~# fdisk -l
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile.
Disk /dev/sda: 21.4 GB, 21474836480 bytes
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:
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
<source lang="bash">
255 heads, 63 sectors/track, 10443 cylinders
fdisk /dev/sdb
Units = cylinders of 16065 * 512 = 8225280 bytes
</source>
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
  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 88: 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 109: Line 156:
   x  extra functionality (experts only)
   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.


Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):
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


    Command (m for help):  n
Oluline on vajutada w, et muudatused ka kirjutataks kettale:
  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
  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:
<source lang="bash">
pvdisplay
</source>
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:


Nüüd on meil 2,5GB partitsioon. Teeme sinna peale failisüsteemi:


mkfs -t ext4 /dev/sdb1
<source lang="bash">
vgdisplay
</source>


  siim1:~# mkfs.ext4 /dev/fileserver/share
  Volume
  mke2fs 1.40-WIP (02-May-2011)
group VG
  Filesystem label=
Name VolGroup00
  OS type: Linux
System ID
  Block size=4096 (log=2)
Format lvm2
  Fragment size=4096 (log=2)
  Metadata Areas 1
  5242880 inodes, 10485760 blocks
  Metadata Sequence No 4
  524288 blocks (5.00%) reserved for the super user
  VG Access read/write
  First data block=0
  VG Status resizable
  Maximum filesystem blocks=0
  MAX LV 0
  320 block groups
  Cur LV 3
  32768 blocks per group, 32768 fragments per group
  Open LV 3
  16384 inodes per group
  Max PV 0
  Superblock backups stored on blocks:
  Cur PV 1
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
Act PV 1
        4096000, 7962624
  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


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
Soovikorral on võimalik teha uus kettajagudegrupp käsuga ''vgcreate:''
180 days, whichever comes first.  Use tune2fs -c or -i to override.




Ühendame kodukataloogiga:
<source lang="bash">
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1
</source>


mount /dev/sdb1 /var/home2


Alglaadimisfail fstab peaks nüüd näitama selle ketta kohta:
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:


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


Volume group "VolGroup00" successfully extended


Kontrollida saab:


<source lang="bash">
vgdisplay
</source>


Vajadusel saame partitsioonile mahtu juurde keerata. Selleks on, aga vaja läbida sammud:
Volume
group VG
Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5


*märgistada kõvakettad füüsilisteks kettajagudeks (''physical volume''):
VG Access read/write
  siim:~# pvcreate /dev/sdb1
  VG Status resizable
  Physical volume "/dev/sdb1" successfully created
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


*Eemaldada failisüsteem
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:


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


*Seejärel moodustada voluumigrupid
Extending logical volume Loogilinevoluum to 34.62 GB
  siim:~# vgcreate voluumigrupp /dev/sdb1
  Logical volume Loogilinevoluum successfully resized


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


*Seejärel moodustada loogilised kettajaod
<source lang="bash">
umount /dev/mapper/VolGroup00Loogilinevoluum
siim:~# lvcreate --name loogilinejagu  --size 10G voluumigrupp
</source>
  Logical volume "loogilinejagu" created


*Vaadates käsu lvdisplay väljundit, näeme:
Seejärel saab muuta failisüsteemi suurust käsuga:
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":
<source lang="bash">
siim:~# lvextend -L15G /dev/voluumigrupp/loogilinejagu
resize2fs /dev/mapper/VolGroup00Loogilinevoluum
  Extending logical volume media to 15 GB
</source>
  Logical volume media successfully resized


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.


*Uuesti vähendamiseks jagu "loogilinejagu":
Kontrollides käsuga df-hf:
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


*Lõpuks tuleb loogilised kettajaod külge ühendada:
<source lang="bash">
mount /dev/voluumigrupp/loogilinejagu /var/home
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






----


Üks võimalus on uue kettaga lisada kodukataloogile juurde lisamahtu uue ketta näol.
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 233: 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/
'''Koostas Siim Kängsepp A21'''
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]

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