Это старая версия документа!


Автор: Graf
Дата написания: март 2016 г.

Сервер виртуализации (Qemu/KVM+libvirt+virtual-manager)


На сервере

Использовалось железо:
CPU - Intel(R) Xeon(R) CPU E5-2603 0 @ 1.80GHz
RAM - 8 Gb
HDD - 500Gb
OS - Slackware Linux 14.1 64-bit
Ядро- 3.10.17-smp
IP - 192.168.10.211
Разбивка диска:

# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00079cf1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   209717247   104857600   83  Linux
/dev/sda2       964691968   976773167     6040600   82  Linux swap
/dev/sda3       209717248   964691967   377487360    5  Extended
/dev/sda5       209719296   335548415    62914560   83  Linux
/dev/sda6       335550464   461379583    62914560   83  Linux
/dev/sda7       461381632   587210751    62914560   83  Linux
/dev/sda8       587212800   713041919    62914560   83  Linux
/dev/sda9       713043968   838873087    62914560   83  Linux
/dev/sda10      838875136   964691967    62908416   83  Linux


Разделы /dev/sda5-10 созданы специально под образы виртуальных машин и примонтированны в каталог /vm/vm1-6. Так же, после установки системы, создал каталог /iso_images для хранения iso-образов.
Slackware ставилась полностью вся, с Х-ми, но безо всяких DE и всем, что с ними связанно.

После установки системы устанавливаем sbopkg и обновляем саму систему при помощи slackpkg, предварительно настроив его на какое-либо зеркало.

# slackpkg update
# slackpkg upgrade-all

Далее удаляем пакет nc и ставим нужные пакеты при помощи sbopkg

# removepkg nc
# sbopkg -kBi "celt051 device-tree-compiler spice-protocol pyparsing spice usbredir vala yajl \
qemu gnome-python2-gconf gtk-vnc ipaddr-py libvirt libvirt-glib libvirt-python pygobject3  tunctl \
urlgrabber vte3 gstreamer1 gst1-plugins-base spice-gtk libbsd netcat-openbsd virt-manager"

Обновляем libvirt и virt-manager до последних версий. Я обновил путем редактирования info и SlackBuild в sbopkg. В итоге получил:

libvirt-1.3.2-x86_64-1_SBo
virt-manager-1.3.2-x86_64-1_Sbo

После запуска libvirt в системе появится интерфейс virbr0, мост виртуальной сети которая использует трансляцию сетевых адресов (NAT), благодаря которой гостевые системы (виртуальные машины) получают доступ к сетевым службам сервера.
Для доступа к виртуальным машинам из ЛВС и из виртуальных машин к ресурсам ЛВС (т.е. для создание полного ощущения, что это полноценный компьютер у кого-то на столе :) ) и потому, что NAT является медлительным и рекомендуется только для локальных установок, удалим этот интерфейс и создадим для наших нужд новый мост.

И так, удаляем virbr0:

# /etc/rc.d/rc.libvirt start
# virsh net-destroy default
# virsh net-undefine default
# /etc/rc.d/rc.libvirt restart

На компютере

Конфигурация компьютера особой роли не играет.
Slackware Linux установлен стандартно с KDE.

OS - Slackware Linux 14.1 32-bit
Ядро- 3.10.17-smp
KDE - 4.10.5

После установки системы устанавливаем sbopkg и обновляем саму систему при помощи slackpkg, предварительно настроив его на какое-либо зеркало.

# slackpkg update
# slackpkg upgrade-all

Далее удаляем пакет nc и ставим нужные пакеты при помощи sbopkg

# removepkg nc
# sbopkg -kBi "libbsd netcat-openbsd vala celt051 device-tree-compiler spice-protocol pyparsing \ 
spice usbredir vala gtk-vnc ipaddr-py libosinfo yajl libvirt libvirt-glib libvirt-python \
gnome-python2-gconf tunctl python-urllib3 python-requests gtk-vnc spice-protocol gstreamer1 \
gst1-plugins-base spice-gtk vte3 pygobject3 urlgrabber virt-manager"

Обновляем libvirt и virt-manager до последних версий. Я обновил путем редактирования info и SlackBuild в sbopkg. В итоге получил:

libvirt-1.3.2-i486-1_SBo
virt-manager-1.3.2-i486-1_SBo

Установка виртуальных машин

Навигация
Печать/экспорт
QR Code
QR Code wiki:articles:kvm (generated for current page)