Установка гипервизора Xen

Установка гипервизора Xen представляет из себя процесс длиной в одну команду, но не менее важно правильно выполнить дальнейшие шаги по настройке среды виртуализации. Об этом я и расскажу в статье, а также поделюсь своим опытом и готовым скриптом для развертывания Xen.


Если вам интересна тематика Debian и связанных с ним приложений, рекомендую обратиться к тегу Debian на моем блоге.


Установка гипервизора Xen

Первым делом проверим поддержку инструкций аппаратной виртуализации у нашего CPU. Сделать это можно командой:

egrep '(vmx|svm)' /proc/cpuinfo | wc -l

Если возвращается отличное от 0 значение, значит все ОК.

Примечание: поддержка аппаратной виртуализации необходима лишь для запуска полностью виртуализованных (HVM) гостей и для запуска PV-гостей не требуется, но строго рекомендуется 1.

На всякий случай выполним обновление репозиториев:

apt-get update

Можно приступать к установке.

Установка

Установим Xen командой:

apt-get install xen-linux-system

Полное название пакета — xen-linux-system-amd64. На этом с установкой закончено.

Изменение порядка загрузки

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

dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen

Заново сгенерируем файл /boot/grub/grub.cfg:

update-grub

После этого нужно перезагрузиться.

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

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

xl list

Хостовая ОС должна работать в нулевом домене (Dom0), а гостевых доменов (DomU) пока что нет, ведь ни одна виртуальная машина ещё не создана. Поэтому мы увидим только одну запись:

Name      ID    Mem VCPUs  State  Time(s)
Domain-0   0  60387     8 r-----    789.6

Ну а если что-то пошло не так, то система вернет результат:

ERROR:  Can't find hypervisor information in sysfs!

С гипервизором мы закончили.

Базовая настройка сети

Xen — это только гипервизор и ничего более, а значит он отвечает за управление CPU, RAM и прерываниями. Он ничего не знает о функциях ввода/вывода, задача управления которыми целиком положена на первую «виртуальную машину» — хостовую ОС, запущенную в особом привилегированном режиме.

Именно поэтому сетевой функционал лежит на стороннем софте, а именно на пакете bridge-utils. Устанавливать его отдельно не требуется, он находится в зависимостях xen-linux-system-amd64 и подтягивается автоматически.

В большинстве случаев виртуальным машинам необходимо находиться в одной и той же сети, что и хост. Этим требованиям удовлетворяет мостовая конфигурация.

Bridge-utils позволяет создать мост командой brctl addbr xenbr0 и добавить к нему существующий интерфейс командой brctl addif xenbr0 eth0. Но чтобы конфигурация моста была постоянной, необходимо внести изменения в сетевые настройки 2. Открываем для редактирования:

nano /etc/network/interfaces

Предположим ваша конфигурация выглядит следующим образом:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

После добавления моста она будет иметь вид:

auto lo
iface lo inet loopback

auto xenbr0
iface xenbr0 inet dhcp
  bridge_ports eth0

auto eth0
iface eth0 inet manual

Ну а если у вас был статический адрес, то просто добавьте необходимые параметры:

auto lo
iface lo inet loopback

auto xenbr0
iface xenbr0 inet static
  bridge_ports eth0
  address 192.168.1.120
  netmask 255.255.255.0
  gateway 192.168.1.1

auto eth0
iface eth0 inet manual

Сетевые настройки будут привязаны именно к мосту, но не к интерфейсу eth0.

Увидеть мост вы сможете как через утилиту brctl командой

brctl show
bridge name          bridge id  STP enabled  interfaces
     xenbr0  8000.00155d010e26           no        eth0

так и любым другим способом, с помощью которого вы просматриваете сетевую конфигурацию, например:

ip addr

Остается перезапустить демона, чтобы настройки применились:

service networking restart

Примечание: если вы сделали какие-либо ошибки в сетевых настройках, то вы можете потерять подключение к серверу. В этом случае неплохо либо находиться недалеко от сервера, либо иметь к нему удаленную консоль, не завязанную на основном сетевом подключении (например ipmi).

Базовая настройка на этом завершена.

Установка из скрипта

Если ваша задача просто поставить Xen и сконфигурировать сеть как рассмотрено в разделе выше, то вы можете воспользоваться моим скриптом — xen_install_V1.0.3.sh.

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

chmod +x xen_install_V1.0.3.sh

Запускаем:

./xen_install_V1.0.3.sh

В конце работы скрипта система будет перезагружена. Если это не произойдет, то информацию для отладки ищите в логе xen_installation.log в каталоге, из которого был запущен скрипт.

Немного личного опыта

Не всегда после установки Xen все пойдет хорошо. У меня встретилась ситуация, когда на определенном оборудовании Xen не мог запуститься и сервер входил в бесконечно повторяющуюся перезагрузку. Проблему так решить и не удалось и решено было просто установить Debian Stretch, в репозиториях которого уже присутствовал последний Xen 4.8, в то время как Debian Jessie имел только Xen 4.4.

comments powered by HyperComments
Установка гипервизора KVM - blog.bissquit.com
2017-10-02 21:47:40
[…] статье Установка гипервизора Xen я уже рассказывал про настройку сети, но не будет […]