Как настроить гипервизор Xen на Ubuntu Server 14.4.05?
В этой инструкции мы покажем пример настройки гипервизора 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` libvirtdAdding 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 capshw_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 listID Имя СтатусВывод пуст - так и должно быть, если ни одна виртуальная машина не запущена. Далее создаём образ диска 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/win2012Using config file "/etc/xen/ win2012".
Started domain Win2012
% vncviewer :0Шаг 7. Установите TrueConf Server
После успешной настройки виртуальной машины остаётся только установить на неё TrueConf Server и начать использование. Пользуясь нашей инструкцией, вы сможете сделать это за 15 минут.