Использование LVM-тома для гостевой виртуальной машины с KVM-виртуализацией(конвертация из img-файла)

1.Просмотр существующих дисков в системе

[root@centos64kvm ~]# fdisk -l

 

Disk /dev/sda: 37.6 GB, 37580963840 bytes

255 heads, 63 sectors/track, 4568 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00034192

 

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          66      524288   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              66        4314    34126848   83  Linux

/dev/sda3            4314        4569     2048000   82  Linux swap / Solaris

 

Disk /dev/sdb: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

 

Disk /dev/sdc: 16.1 GB, 16106127360 bytes

255 heads, 63 sectors/track, 1958 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

 

[root@centos64kvm ~]# ls -al /dev/sd

sda   sda1  sda2  sda3  sdb   sdc

 

2. Инициализация диска

Перед использованием диска или раздела в качестве физического тома необходимо его инициализировать

[root@centos64kvm ~]# pvcreate /dev/sdb

Physical volume «/dev/sdb» successfully created

[root@centos64kvm ~]# pvcreate /dev/sdc

Physical volume «/dev/sdc» successfully created

Показать информацию о физическом томе

[root@centos64kvm ~]# pvs

PV         VG   Fmt  Attr PSize  PFree

/dev/sdb        lvm2 a—   5.00g  5.00g

/dev/sdc        lvm2 a—  15.00g 15.00g

 

 

[root@centos64kvm ~]# blkid

/dev/sda1: UUID=»f0754447-3c89-4dad-9bb6-0d3f5435bf1e» TYPE=»ext4″

/dev/sda2: UUID=»8e86f785-f9e0-4d8c-9cdf-43ce7e5bbe38″ TYPE=»ext4″

/dev/sda3: UUID=»e28b62e2-4633-4f43-8741-6a17640761d0″ TYPE=»swap»

/dev/sdb: UUID=»QV0Ucq-xaBJ-FsCO-PPPc-pWkN-FG5B-tmzMzg» TYPE=»LVM2_member»

/dev/sdc: UUID=»xF97vA-hKCZ-fH7b-2ePu-CH8W-Njzs-yAdqn2″ TYPE=»LVM2_member»

 

3.Cоздания группы томов

[root@centos64kvm ~]# vgcreate myvggroup /dev/sdb /dev/sdc

Volume group «myvggroup» successfully created

 

[root@centos64kvm ~]# vgscan

Reading all physical volumes.  This may take a while…

Found volume group «myvggroup» using metadata type lvm2

 

Просмотр информацию о группе томов

[root@centos64kvm ~]# vgdisplay

— Volume group —

VG Name               myvggroup

System ID

Format                lvm2

Metadata Areas        2

Metadata Sequence No  1

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                0

Open LV               0

Max PV                0

Cur PV                2

Act PV                2

VG Size               19.99 GiB

PE Size               4.00 MiB

Total PE              5118

Alloc PE / Size       0 / 0

Free  PE / Size       5118 / 19.99 GiB

VG UUID               xTIv9h-Uw2e-dWos-zu2Y-XL0o-B05G-xwh4am

 

Просмотр размера файла ,который используется KVM для загрузки виртуалки

[root@centos64kvm ~]# ls -la /vms/centos64/

total 1646976

drwxr-xr-x 2 root root        4096 Oct  7 00:11 .

drwxr-xr-x 5 root root        4096 Oct  9 01:18 ..

-rwxr-xr-x 1 root root 10737418240 Oct 10 13:03 centos64.img

 

Создаем логический том такого же размера(обязательно после размера указать символ b тем самым указывая для lvm, что размер мы определяем в байтах(по умолчанию используются Mb)

 

4.Создание логического тома

[root@centos64kvm ~]# lvcreate -L 10737418240b -n centos64 myvggroup

Logical volume «centos64» created

 

Просмотр информацию о логическом томе

[root@centos64kvm ~]# lvdisplay

— Logical volume —

LV Path                /dev/myvggroup/centos64

LV Name                centos64

VG Name                myvggroup

LV UUID                BY1bkL-aDek-Q8Dc-HqZa-a6Mw-419j-IHA0xz

LV Write Access        read/write

LV Creation host, time centos64kvm.kamaok.org.ua, 2013-10-10 17:06:02 +0300

LV Status              available

# open                 0

LV Size                10.00 GiB

Current LE             2560

Segments               1

Allocation             inherit

Read ahead sectors     auto

— currently set to     256

Block device           253:0

 

[root@centos64kvm ~]# vgdisplay

— Volume group —

VG Name               myvggroup

System ID

Format                lvm2

Metadata Areas        2

Metadata Sequence No  2

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                1

Open LV               0

Max PV                0

Cur PV                2

Act PV                2

VG Size               19.99 GiB

PE Size               4.00 MiB

Total PE              5118

Alloc PE / Size       2560 / 10.00 GiB

Free  PE / Size       2558 / 9.99 GiB

VG UUID               xTIv9h-Uw2e-dWos-zu2Y-XL0o-B05G-xwh4am

 

 

Проверяем наличие созданного тома в устройствах

[root@centos64kvm ~]# ls -al /dev/myvggroup/centos64

lrwxrwxrwx 1 root root 7 Oct 10 17:06 /dev/myvggroup/centos64 -> ../dm-0

 

[root@centos64kvm ~]# ls -al /dev/mapper/myvggroup-centos64

lrwxrwxrwx 1 root root 7 Oct 10 17:06 /dev/mapper/myvggroup-centos64 -> ../dm-0

 

[root@centos64kvm ~]fdisk –l

………………………………….

Disk /dev/mapper/myvggroup-centos64: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

 

 

5.Конвертация виртуальной машины средствами KVM из .img-файла  в LVM-раздел

Например,для виртуалки с именем Centos64

qemu-img convert /vms/centos64/centos64.img -O raw /dev/myvggroup/centos64

 

Редактирование конфигурационного файла виртуальной машины

[root@centos64kvm ~]# virsh edit Centos64

# до редактирования

<disk type=’file‘ device=’disk’>

<driver name=’qemu’ type=’raw’ cache=’none’/>

<source file=’/vms/centos64/centos64.img’/>

<target dev=’vda’ bus=’virtio’/>

<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>

</disk>

 

#  после редактирования

<disk type=’block‘ device=’disk’>

<driver name=’qemu’ type=’raw’ cache=’none’/>

<source dev=’/dev/myvggroup/centos64′/>

<target dev=’vda’ bus=’virtio’/>

<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>

 

[root@centos64kvm ~]# virsh define /etc/libvirt/qemu/Centos64.xml

Domain Centos64 defined from /etc/libvirt/qemu/Centos64.xml

 

[root@centos64kvm ~]# fdisk –l

………………………………………………………..

Device Boot      Start         End      Blocks   Id  System

/dev/mapper/myvggroup-centos64p1   *           1          66      524288   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/mapper/myvggroup-centos64p2              66        1175     8911872   83  Linux

/dev/mapper/myvggroup-centos64p3            1175        1306     1048576   82  Linux swap / Solaris

 

 

[root@centos64kvm ~]# virsh start Centos64

Domain Centos64 started

 

Если успешно загрузились – удаляем .img-файл

rm /vms/centos64/centos64.img

 

Например,для виртуалки с именем Debian70

 

[root@centos64kvm ~]# ls -al /vms/debian70/

total 1407264

drwxr-xr-x 2 root root       4096 Oct  7 15:21 .

drwxr-xr-x 5 root root       4096 Oct  9 01:18 ..

-rwxr-xr-x 1 root root 8589934592 Oct 10 13:03 debian70.img

 

[root@centos64kvm ~]# lvcreate -L8589934592b -n debian70 myvggroup

Logical volume «debian70» created

 

[root@centos64kvm ~]# vgdisplay

— Volume group —

VG Name               myvggroup

System ID

Format                lvm2

Metadata Areas        2

Metadata Sequence No  3

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                2

Open LV               1

Max PV                0

Cur PV                2

Act PV                2

VG Size               19.99 GiB

PE Size               4.00 MiB

Total PE              5118

Alloc PE / Size       4608 / 18.00 GiB

Free  PE / Size       510 / 1.99 GiB

VG UUID               xTIv9h-Uw2e-dWos-zu2Y-XL0o-B05G-xwh4am

 

[root@centos64kvm ~]# ls -al /dev/myvggroup/

total 0

drwxr-xr-x  2 root root   80 Oct 10 17:46 .

drwxr-xr-x 19 root root 3960 Oct 10 17:46 ..

lrwxrwxrwx  1 root root    7 Oct 10 17:06 centos64 -> ../dm-0

lrwxrwxrwx  1 root root    7 Oct 10 17:46 debian70 -> ../dm-1

 

[root@centos64kvm ~]# ls -al /dev/mapper/

total 0

drwxr-xr-x  2 root root    100 Oct 10 17:46 .

drwxr-xr-x 19 root root   3960 Oct 10 17:46 ..

lrwxrwxrwx  1 root root      7 Oct 10 17:06 myvggroup-centos64 -> ../dm-0

lrwxrwxrwx  1 root root      7 Oct 10 17:46 myvggroup-debian70 -> ../dm-1

 

[root@centos64kvm ~]# fdisk –l

………………………………………………..

Disk /dev/mapper/myvggroup-debian70: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00021b79

 

[root@centos64kvm ~]# qemu-img convert /vms/debian70/debian70.img -O raw /dev/myvggroup/debian70

 

[root@centos64kvm ~]# fdisk –l

………………………………………………..

Device Boot      Start         End      Blocks   Id  System

/dev/mapper/myvggroup-debian70p1               1          63      498688   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/mapper/myvggroup-debian70p2   *         194        1045     6835200   83  Linux

/dev/mapper/myvggroup-debian70p3              63         194     1052672   82  Linux swap / Solaris

Partition 3 does not end on cylinder boundary.

 

 

[root@centos64kvm ~]#virsh edit Debian7

# до редактирования

 

<disk type=’file‘ device=’disk’>

<driver name=’qemu’ type=’raw’ cache=’none’/>

<source file=’/vms/debian70/debian70.img’/>

<target dev=’vda’ bus=’virtio’/>

<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>

</disk>

 

# после редактирования

 

<disk type=‘block’ device=’disk’>

<driver name=’qemu’ type=’raw’ cache=’none’/>

<source dev=’/dev/myvggroup/debian70′/>

<target dev=’vda’ bus=’virtio’/>

<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>

 

[root@centos64kvm ~]# virsh define /etc/libvirt/qemu/Debian7.xml

Domain Debian7 defined from /etc/libvirt/qemu/Debian7.xml

 

[root@centos64kvm ~]# virsh start Debian7

Domain Debian7 started

 

Если успешно загрузились – удаляем .img-файл

rm   /vms/debian70/debian70.img

 

ВАЖНО!!!

Для работы с системой LVM ее нужно инициализировать командами:

Первая команда сканирует диски на предмет наличия групп томов, вторая активирует все найденные группы томов.

vgscan

vgchange –ay

Аналогично для завершения всех работ, связанных с LVM, нужно выполнить деактивацию групп:

vgchange -an

Первые две строки нужно будет поместить в скрипты автозагрузки (если их там нет), а последнюю можно дописать в скрипт shutdown.

Для Centos

nano /etc/rc.local

vgscan

vgchange –ay

 

GUI для работы с LVM

Есть несколько графических инструментов, помогающих использовать LVM. В частности:

LVM GUI Project;

system-config-lvm.

Первый уже давно не развивается. Второй является основным графическим инструментом для администрирования LVM в Redhat-подобных дистрибутивах. Он может быть установлен и в других.

Например, в Debian:

apt-get install system-config-lvm

 

в Centos

yum install system-config-lvm

Устанавливаем(если еще не установлен) на Windows-машине, с которой будет управляться LVM

X Server для Windows(скачиваем отсюда http://sourceforge.net/projects/xming/)

Запускаем этот сервер на Windows

C запущенным X Server на хосте выполняем команду

system-config-lvm

 

Источники:

http://xgu.ru/wiki/LVM#.D0.A3.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B3.D1.80.D1.83.D0.BF.D0.BF.D1.8B_.D1.82.D0.BE.D0.BC.D0.BE.D0.B2

http://www.howtoforge.com/virtualization-with-kvm-on-a-centos-6.4-server-p5

 

 

 

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика