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

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

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

Scientific Linux 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

Scientific Linux 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.