Виртуализация · 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:///systemshutdown vm10quitЗатем создайте логический том (например, /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:///systemdefine /etc/libvirt/qemu/vm10.xmlВсе еще находясь в оболочке virsh, мы можем запустить гостя…
start vm10… и выйти из оболочки virsh:
quit10 Ссылки
- KVM: http://www.linux-kvm.org/
- CentOS: http://www.centos.org/
- Fedora: http://fedoraproject.org/
- Debian: http://www.debian.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.