LVM: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Skangsep (talk | contribs)
Skangsep (talk | contribs)
Line 65: Line 65:
Füüsiliste ketaste kohta saad infot:
Füüsiliste ketaste kohta saad infot:


  siim:~# fdisk -l
  root@ubuntu:~# fdisk -l
  Disk /dev/sda: 21.4 GB, 21474836480 bytes
  Disk /dev/sda: 21.4 GB, 21474836480 bytes
  255 heads, 63 sectors/track, 2610 cylinders
  255 heads, 63 sectors/track, 2610 cylinders
Line 72: Line 72:
  /dev/sda1  *          1          18      144553+  83  Linux
  /dev/sda1  *          1          18      144553+  83  Linux
  /dev/sda2              19        2450    19535040  83  Linux
  /dev/sda2              19        2450    19535040  83  Linux
  /dev/sda4            2451        2610    1285200  82  Linux swap / Solaris
  /dev/sda4            2451        2610    1285200  82  Linux


  Disk /dev/sdb: 85.8 GB, 85899345920 bytes
  Disk /dev/sdb: 85.8 GB, 85899345920 bytes
Line 81: Line 81:
Meie näites ei ole algselt kettal /dev/sdb veel partitsioonitabelit. Teeme selle:
Meie näites ei ole algselt kettal /dev/sdb veel partitsioonitabelit. Teeme selle:


  siim:~# fdisk /dev/sdb
  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 125: Line 125:
  mkfs -t ext4 /dev/sdb1
  mkfs -t ext4 /dev/sdb1


  siim1:~# mkfs.ext4 /dev/fileserver/share
  root@ubuntu:~# mkfs.ext4 /dev/fileserver/share
  mke2fs 1.40-WIP (02-May-2011)
  mke2fs 1.40-WIP (02-May-2011)
  Filesystem label=
  Filesystem label=
Line 151: Line 151:
Ühendame kodukataloogiga:
Ühendame kodukataloogiga:


  mount /dev/sdb1 /var/home2
  mount /dev/sdb1 /var/home


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


  <file system> <mount point> <type> <options> <dump> <pass>  
  <file system> <mount point> <type> <options> <dump> <pass>  
  /dev/sdb1 /var/home2 ext4 defaults 0 0
  /dev/sdb1 /var/home ext4 defaults 0 0
 
 


Vajadusel saame partitsioonile mahtu juurde keerata. Selleks on, aga vaja läbida sammud:
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  
*märgistada vajalikud kõvakettad füüsilisteks kettajagudeks (''physical volume''):
  root@ubuntu:~# pvcreate /dev/sdb1  
   Physical volume "/dev/sdb1" successfully created
   Physical volume "/dev/sdb1" successfully created


Line 169: Line 172:


*Seejärel moodustada voluumigrupid
*Seejärel moodustada voluumigrupid
  siim:~# vgcreate voluumigrupp /dev/sdb1
  root@ubuntu:~# vgcreate voluumigrupp /dev/sdb1


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


*Vaadates käsu lvdisplay väljundit, näeme:
*Vaadates käsu lvdisplay väljundit, näeme:
  siim:~# lvdisplay
  root@ubuntu:~# lvdisplay
   --- Logical volume ---
   --- Logical volume ---
   LV Name                /dev/voluumigrupp/loogilinejagu
   LV Name                /dev/voluumigrupp/loogilinejagu
Line 193: Line 196:


*Suurendamaks jagu "loogilinejagu":
*Suurendamaks jagu "loogilinejagu":
  siim:~# lvextend -L15G /dev/voluumigrupp/loogilinejagu
  root@ubuntu:~# lvextend -L15G /dev/voluumigrupp/loogilinejagu
   Extending logical volume media to 15 GB
   Extending logical volume media to 15 GB
   Logical volume media successfully resized
   Logical volume media successfully resized

Revision as of 19:06, 2 May 2011

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. Juhend on koostatud LVM kasutades kettaruumi lisamisest.


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 - varukoopiad!.

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:

root@ubuntu:~# 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
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:

root@ubuntu:~# 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
root@ubuntu:~# 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/home

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

<file system> 	<mount point> 	<type> 	<options> 	<dump> 	<pass> 
/dev/sdb1 	/var/home	ext4 	defaults 	0 	0


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


  • märgistada vajalikud kõvakettad füüsilisteks kettajagudeks (physical volume):
root@ubuntu:~# pvcreate /dev/sdb1 
 Physical volume "/dev/sdb1" successfully created
  • Eemaldada failisüsteem
umount /dev/sdb1 /var/home2
  • Seejärel moodustada voluumigrupid
root@ubuntu:~# vgcreate voluumigrupp /dev/sdb1
  • Seejärel moodustada loogilised kettajaod
root@ubuntu:~# lvcreate --name loogilinejagu  --size 10G voluumigrupp
 Logical volume "loogilinejagu" created
  • Vaadates käsu lvdisplay väljundit, näeme:
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":
root@ubuntu:~# 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 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:
resize2fs /dev/sdb1 10GB
  • Lõpuks tuleb loogilised kettajaod külge ühendada:
mount /dev/voluumigrupp/loogilinejagu /var/home



Ü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:

[2]

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.tldp.org/HOWTO/LVM-HOWTO/