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

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


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


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

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

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

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

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

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

Установка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запускаем:

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

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

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

comments powered by HyperComments
Melanie Glastrong
2017-11-16 08:43:26
<strong>Such a nice blog.</strong> I have read an amazing article here.