Как настроить гипервизор Xen на Ubuntu Server 14.4.05?

Константин Ольмезов
05.02.2018
Константин Ольмезов
Категории: База знаний

TrueConf Server поддерживает возможность запуска на виртуальной машине, хотя это сложная процедура и мы не рекомендуем её неопытным пользователям — настройка корректной работы виртуальной машины бывает порой довольно сложным делом.

В этой инструкции мы покажем пример настройки гипервизора Xen на сервере Ubuntu Server, а конкретнее — на Ubuntu 14.04.05 Server x86-64.

Данная статья носит исключительно ознакомительный характер и не гарантирует непременную и полную работу сервера после выполнения инструкции.
Техническая поддержка TrueConf не консультирует пользователей по вопросам настройки виртуальных машин и запуска TrueConf Server на них. Виртуальная машина — это внешняя система, работа которой не зависит от приложения TrueConf, и её настройка и поддержка целиком лежат на плечах пользователя.

Шаг 1. Установите Xen и настройте загрузчик

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

$ sudo apt-get update && sudo apt-get upgrade

После этого установите Xen:

$ sudo apt-get install xen-hypervisor-amd64 xen-utils xenwatch xen-tools xen-utils-common xenstore-utils

Следующими командами можно назначить Xen для загрузки по умолчаию:

$ sudo mv /etc/grub.d/10_linux /etc/grub.d/20_linux
$ sudo mv /etc/grub.d/20_linux_xen /etc/grub.d/10_linux_xen
$ sudo update-grub

После этого надо перезапустить ОС и Xen и при загрузке системы Xen запустится автоматически:

Шаг 2. Установите и настройте libvirtd

Установим libvirtd:

$ sudo apt-get install python-libvirt libvirt-bin libvirt0 python-imaging python-numpy virtinst virt-viewer virt-manager

После этого нужно настроить libvirtd на работу по умолчанию с Xen. Для этого потребуется отредактировать файл /etc/libvirt/libvirt.conf. В нём строку, начинающуюся с «#uri_default» нужно раскомментировать (убрать символ # в начале) и заменить на следующую: uri_default = «xen:///system»

Дальше нужно добавить исключения в инструмент защиты apparmor:

$ sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
$ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd
$ sudo /etc/init.d/apparmor restart

После этого нужно проверить, что текущая запись состоит в группе libvirtd:

$ cat /etc/group | grep libvirtd

Вот пример типичного вывода этой команды если в группе содержатся только пользователи 111 и andrey:

libvirtd:!:111:andrey

Если текущего пользователя в группе нет, то его можно добавить отдельной командой:

$ sudo adduser id -un libvirtd
Adding user ‘andrey’ to group ‘libvirtd’ …
Adding user andrey to group libvirtd
Done.

После этого обязательно нужно заново войти в систему и проверить ,что Xen успешно запускается:

На картинке Xen запускается, но вывод пуст, поскольку виртуальных машин пока нет.

Шаг 3. Создайте сетевой мост

Далее нужно создать сетевой мост. Для этого может понадобиться отредактировать файл /etc/network/interfaces.

В этой файле есть строка, задающая основной сетевой интерфейс. Она находится после строки-комментария «# The primary network interface». Если сетевым интерфейсом назначен eth0 (в строке написано «auto eth0»), то его нужно заменить на br0, а в конец файла добавить четыре новых строки:

bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0

На картинке ниже представлен пример такого редактирования, только вместо изменения строки «auto eth0» мы её закомментировали (добавили знак решётки в начале, сделав игнорируемой) и добавили после неё новую аналогичную (с дополнительным комментарием перед ней).

После этого нужно перезапустить сеть, а лучше даже всю операционную систему:

$ sudo /etc/init.d/networking restart
$ sudo shutdown –r now

Шаг 4. Настройте сетевой шлюз

Для настройки шлюза нужно отредактировать ещё один файл, /etc/sysctl.conf. В нём нужно найти и раскомментировать следующую строку:

net.ipv4.ip_forward=1

После этого следует ввести команду для применения изменений и ещё раз перезапустить ОС:

$ sudo sysctl -f
$ sudo shutdown –r now

Шаг 5. Проверьте возможности виртуализации

После того, как система перезагрузилась, можно создать первую виртуальную машину:

$ sudo apt-cache search virt-instal
$ sudo apt-cache search virt-viewer

Для установки Windows 2012 (которую мы будем устанавливать в этом примере), как и любой другой не портированной на Xen системы, необходима поддержка центральным процессором технологии виртуализации Intel®Virtualization Technology (VT) или Pacifica (AMD). Информацию о поддержке процессорами аппаратной виртуализации можно посмотреть на странице аппаратных требования Xen. Поддержка аппаратной виртуализации должна быть и у Xen. Для проверки наличия такой поддержки можно использовать команду:

$ xm info | grep caps
hw_caps : 178bfbff:ebd3fbff:00000000:00000010:00002001:00000000:0000001f
xen_caps : xen-4.4-x86_32p hvm-4.4-x86_32 hvm-4.4-x86_32p

В представленном здесь выводе hvm-4.4-x86_32 говорит о том, что Xen успешно обнаружил процессор, который поддерживает технологии Intel VT или AMD-V.

Если у вас эта команда выводит другое сообщение, но вы уверены, что у процессора есть архитектурные расширения виртуализации, то проверьте настройки BIOS и, если вы этого ещё не сделали, задействуйте поддержку VT.

Возможно, BIOS вашей материнской платы искусственно отключает виртуализацию. В этом случае нужно обновить или исправить BIOS .

Шаг 6. Создайте виртуальную машину

На всякий случай проверим, какие виртуальные машины запущены сейчас.

andrey@ubuntu:~$ sudo virsh -c xen:///system list
ID Имя Статус

Вывод пуст — так и должно быть, если ниодна виртуальная машина не запущена. Далее создаём образ диска Xen:

andrey@ubuntu:# mkdir -p /root/xenimages
andrey@ubuntu:# cd /root/xenimages
andrey@ubuntu:# dd if=/dev/zero of=WS2012.img bs=1M count=4096

Также необходимо создать ISO-образ системы Windows 2012, который мы будем использовать при инсталляции. В нашем случае мы разместили его в каталоге /root/xenimages.

Создайте конфигурационный файл /etc/xen/win2012 и заполните по следующему примеру:

kernel = «/usr/lib/xen/boot/hvmloader»
builder=’hvm’
memory = 2048
name = «win2012»
vcpus=1
pae=0
acpi=0
apic=0
cpus = «»
vif = [ ‘bridge=br0’ ]
disk = [ ‘file:/root/xenimages/WS2012.img,ioemu:hda,w’ ]
on_poweroff = ‘destroy’
on_reboot   = ‘destroy’
on_crash    = ‘destroy’
device_model = ‘/usr/lib/xen/bin/qemu-dm’
cdrom=’/root/xenimages/en_windows2012.iso’
boot=’d’
sdl=0
vnc=1
vncviewer=0
stdvga=0
serial=’pty’
ne2000=0

Обратите внимание на параметр boot=’d’ — он необходим для установки. Впоследствии его необходимо заменить на «boot=’c’«. Доступ к гостевому домену будет осуществляться через VNC, использование SDL не предполагается. 

После создания /etc/xen/win2012 можно начинать установку и пробовать подсоединиться к домену с помощью VNC. Для этого сразу после создания домена нужно запустить vncviewer:

$ xl create /etc/xen/win2012

Using config file «/etc/xen/ win2012».

Started domain Win2012

% vncviewer :0

Шаг 7. Установите TrueConf Server

После успешной настройки виртуальной машины остаётся только установить на неё TrueConf Server и начать использование. Пользуясь нашей инструкцией, вы сможете сделать это за 15 минут.

Подписка на новости