Виртуализация · 3 min read · Jan 21, 2026

Виртуализация с KVM на сервере CentOS 6.3 - Страница 5

8 Создание гостя на основе LVM из командной строки

CentOS 6.3 KVM Host:

Гости на основе LVM имеют некоторые преимущества по сравнению с гостями на основе образов. Они не так сильно нагружают жесткий диск, и их легче резервировать (с помощью снимков LVM).

Чтобы использовать гостей на основе LVM, вам нужна группа томов, в которой есть свободное пространство, не выделенное ни под один логический том. В этом примере я использую группу томов /dev/vg_server1 размером примерно 465 ГБ…

vgdisplay
[root@server1 ~]# vgdisplay  
  --- Volume group ---  
  VG Name               vg_server1  
  System ID  
  Format                lvm2  
  Metadata Areas        1  
  Metadata Sequence No  3  
  VG Access             read/write  
  VG Status             resizable  
  MAX LV                0  
  Cur LV                2  
  Open LV               2  
  Max PV                0  
  Cur PV                1  
  Act PV                1  
  VG Size               465.28 GiB  
  PE Size               4.00 MiB  
  Total PE             119112  
  Alloc PE / Size       26500 / 103.52 GiB  
  Free  PE / Size       92612 / 361.77 GiB  
  VG UUID               ZXWn5k-oVkA-ibuC-ip8x-edLx-3DMw-UrYMXg  
  
[root@server1 ~]#

… который содержит логические тома /dev/vg_server1/LogVol00 размером примерно 100 ГБ и /dev/vg_server1/LogVol01 (около 6 ГБ) - остальное не выделено и может быть использовано для гостей KVM:

lvdisplay
[root@server1 ~]# lvdisplay  
  --- Logical volume ---  
  LV Path                /dev/vg_server1/LogVol01  
  LV Name                LogVol01  
  VG Name                vg_server1  
  LV UUID                uUpXY3-yGfZ-X6bc-3D1u-gB4E-CfKE-vDcNfw  
  LV Write Access        read/write  
  LV Creation host, time server1.example.com, 2012-08-21 13:45:32 +0200  
  LV Status              available  
  # open                 1  
  LV Size                5.86 GiB  
  Current LE            1500  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     auto  
  - currently set to     256  
  Block device           253:0  
  
  --- Logical volume ---  
  LV Path                /dev/vg_server1/LogVol00  
  LV Name                LogVol00  
  VG Name                vg_server1  
  LV UUID                FN1404-Aczo-9dfA-CnNI-IKn0-L2hW-Aix0rV  
  LV Write Access        read/write  
  LV Creation host, time server1.example.com, 2012-08-21 13:45:33 +0200  
  LV Status              available  
  # open                 1  
  LV Size                97.66 GiB  
  Current LE            25000  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     auto  
  - currently set to     256  
  Block device           253:1  
  
[root@server1 ~]#

Теперь я создам виртуальную машину vm12 как гостя на основе LVM. Я хочу, чтобы vm12 имела 20 ГБ дискового пространства, поэтому я создаю логический том /dev/vg_server1/vm12 размером 20 ГБ:

lvcreate -L20G -n vm12 vg_server1

После этого мы снова используем команду virt-install для создания гостя:

virt-install --connect qemu:///system -n vm12 -r 512 --vcpus=2 --disk path=/dev/vg_server1/vm12 -c /var/lib/libvirt/images/debian-6.0.5-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm

Обратите внимание, что вместо –disk path=/var/lib/libvirt/images/vm12.img,size=20 я использую –disk path=/dev/vg_server1/vm12, и мне больше не нужно определять дисковое пространство, потому что оно определяется размером логического тома vm12 (20 ГБ).

Теперь следуйте главе 5, чтобы установить этого гостя.

9 Преобразование гостей на основе образов в гостей на основе LVM

CentOS 6.3 Host:

Теперь предположим, что мы хотим преобразовать нашего гостя на основе образа vm10 в гостя на основе LVM. Вот как мы это делаем:

Сначала убедитесь, что гость остановлен:

virsh --connect qemu:///system
shutdown vm10
quit

Затем создайте логический том (например, /dev/vg_server1/vm10), который имеет такой же размер, как файл образа. Чтобы узнать размер изображения, введите …

ls -l /var/lib/libvirt/images/
[root@server1 ~]# ls -l /var/lib/libvirt/images/  
total 13819392  
-rw-r--r-- 1 qemu qemu   177209344 May 12 22:41 debian-6.0.5-amd64-netinst.iso  
-rw------- 1 root root 12884901888 Aug 21 15:37 vm10.img  
-rw------- 1 qemu qemu 12884901888 Aug 21 15:51 vm11.img  
[root@server1 ~]#

Как вы видите, vm10.img имеет размер ровно 12884901888 байт. Чтобы создать логический том точно такого же размера, мы должны указать -L 12884901888b (пожалуйста, не забудьте b в конце, которое говорит lvcreate использовать байты - в противном случае он предположит мегабайты):

lvcreate -L 12884901888b -n vm10 vg_server1

Теперь мы преобразуем изображение:

qemu-img convert /var/lib/libvirt/images/vm10.img -O raw /dev/vg_server1/vm10

После этого вы можете удалить образ диска:

rm -f /var/lib/libvirt/images/vm10.img

Теперь нам нужно открыть xml-файл конфигурации гостя /etc/libvirt/qemu/vm10.xml…

vi /etc/libvirt/qemu/vm10.xml

… и изменить следующий раздел…

| [...]

[...] |

… так, чтобы он выглядел следующим образом:

| [...]

[...] |

После этого мы должны переопределить гостя:

virsh --connect qemu:///system
define /etc/libvirt/qemu/vm10.xml

Все еще находясь в оболочке virsh, мы можем запустить гостя…

start vm10

… и выйти из оболочки virsh:

quit

10 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.