Кроссплатформенный гипервизор, разработанный в компьютерной лаборатории Кембриджского университета и распространяемый на условиях лицензии GPL.
OpenXenManager is a graphical interface to manage XenServer / Xen Cloud Platform (XCP) hosts through the network. OpenXenManager is an open-source multiplatform clone of XenCenter (Citrix).
Консоль | VM n | |||||||||||||||||||||||||
Стек управления | VM 1 | |||||||||||||||||||||||||
Domain-0 | VM 0 | DomU (Гостевые домены) | ||||||||||||||||||||||||
Гипервизор | ||||||||||||||||||||||||||
Оборудование | ||||||||||||||||||||||||||
Основной единицей гипервизора является домен.
Доменом называется запущенная копия виртуальной машины.
Domain-0
это специальный домен который содержит драйверы для оборудования, это главный домен в котором находится ядро Xen, такой домен всегда один.
Для гостевого домена Xen поддерживает два режима 1) :
С версии 4.5 Toolstack теперь переписан на С и называется xl
или libxl
, полностью заменив старый toolstack xend
, который был написан на python
. http://www.opennet.ru/opennews/art.shtml?num=32102
Установка метапакета гипервизора:
apt-get install xen-linux-system
Для проверки поддержки аппаратной виртуализации (HVM) нужно убедится, что процессор(ы) поддерживают соответствующие технологии. Для этого нужно выполнить команду:
egrep '(vmx|svm)' /proc/cpuinfo
Если поддержка есть, то команда вернет VMX
для Intel и SVM
для AMD.
Нужно установить приоритет запуска ядра Xen перед родным ядром системы.
По умолчанию в Grub скрипт Xen 20_linux_xen
имеет приоритет 20, а стандартный скрипт 10_linux
имеет более высокий приоритет 10.
Для повышения приоритета Xen нужно выполнить:
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen; update-grub
Для возврата к приоритету по умолчанию:
dpkg-divert --rename --remove /etc/grub.d/20_linux_xen; update-grub
После изменения приоритетов скрипта важно обязательно обновить настройки Grub:
update-grub
После перезагрузки системы, чтобы убедится в том что ядро Xen загрузилось нужно выполнить команду:
xl dmesg
Для того чтобы дать доступ к сети гостевых систем необходимо настроить сеть домена Domain-0
.
Наиболее распространенным методом настройки является использование программного моста.
Пример настройки интерфейса xenbr0
:
auto lo iface lo inet loopback iface eth0 inet dhcp auto xenbr0 iface xenbr0 inet dhcp bridge_ports eth0 # Другие возможные параметры настройки: #bridge_stp off # отключить протокол Spanning Tree #bridge_waitport 0 # no delay before a port becomes available #bridge_fd 0 # переадресация без задержки ## configure a (separate) bridge for the DomUs without giving Dom0 an IP on it #auto xenbr1 #iface xenbr1 inet manual # bridge_ports eth1
Дополнительная информация доступна в главе: Настройка сетевых интерфейсов
Файл: /etc/default/xendomains
По умолчанию состояние гостевых доменов восстанавливается после перезагрузки:
XENDOMAINS_RESTORE=true XENDOMAINS_SAVE=/var/lib/xen/save
При указании имени домена в виде ИМЯ_ГОСТЕВОГО_ДОМЕНА
подразумевается наличие файла /etc/xen/ИМЯ_ГОСТЕВОГО_ДОМЕНА.cfg
Создание гостевых доменов CentOS в гипервизоре под Debian
Создание гостевых доменов MS Windows в гипервизоре под Debian
xl create ИМЯ_ГОСТЕВОГО_ДОМЕНА
или если необходимо сразу подключиться к консоли домена:
xl create -c ИМЯ_ГОСТЕВОГО_ДОМЕНА
xl list
Если домен паравиртуальный (или, если у него активирована последовательная консоль), к нему можно подключиться командой:
xl console ИМЯ_ГОСТЕВОГО_ДОМЕНА
xl network-list ИМЯ_ГОСТЕВОГО_ДОМЕНА
mkdir /etc/xen/auto ln -s /etc/xen/ИМЯ_ГОСТЕВОГО_ДОМЕНА.cfg /etc/xen/auto/ИМЯ_ГОСТЕВОГО_ДОМЕНА
xl reboot ИМЯ_ГОСТЕВОГО_ДОМЕНА
xl destroy ИМЯ_ГОСТЕВОГО_ДОМЕНА
В приведённых ниже примерах гостевые домены используют тома LVM
А работа с ними происходит с помощью скриптов из пакета xen-tools
Используется диапазон адресов: 00:16:3e:xx:xx:xx
Установка инструментов для создания образов и управления гостевыми системами:
apt-get install xen-tools
Список инструментов:
xen-create-image | Создание гостевого домена |
xen-create-nfs | Создание гостевого домена c поддержкой NFS |
xen-delete-image | Удаление гостевого домена |
xen-list-images | Список гостевых доменов |
xen-update-image | Обновление пакетов в гостевых доменах |
Файл настройки: /etc/xen-tools/xen-tools.conf
В нем задаются значения по умолчания для утилит xen-tools
.
Пример файла:
# имя группы томов (LVM) lvm = vg01 # адрес Proxy сервера apt_proxy = http://proxy:3128
xen-create-image --hostname ИМЯ_ГОСТЕВОГО_ДОМЕНА --ip IP-АДРЕС_ГОСТЕВОГО_ДОМЕНА --vcpus ЧИСЛО_ВИРТУАЛЬНЫХ_CPU --dist ТИП_ДИСТРИБУТИВА --pygrub
Протокол пишется в файл: /var/log/xen-tools/ИМЯ_ГОСТЕВОГО_ДОМЕНА.log
После успешной установки:
Installation Summary --------------------- Hostname : ИМЯ_ГОСТЕВОГО_ДОМЕНА Distribution : ТИП_ДИСТРИБУТИВА IP-Address(es) : IP-АДРЕС_ГОСТЕВОГО_ДОМЕНА RSA Fingerprint : 49:0a:3c:27:41:23:b6:33:b1:11:74:d6:10:90:0e:31 Root Password : ПАРОЛЬ
/etc/xen/ИМЯ_ГОСТЕВОГО_ДОМЕНА.cfg
Пример с DHCP
xen-create-image --hostname ИМЯ_ГОСТЕВОГО_ДОМЕНА --vcpus 2 --dist ДИСТРИБУТИВ --role РОЛЬ --partitions=СХЕМА_РАЗДЕЛОВ --mac=00:16:3e:00:00:01 --dhcp --bridge=xenbr0 --password=ПАРОЛЬ --pygrub --force
Пример подключение по консоли по VNC:
vfb = [ 'type=vnc,vncdisplay=11,vnclisten=10.1.0.3' ]
vncdisplay=11
соответствует TCP порту 5911
https://ru.wikipedia.org/wiki/Xen
Xen server своими руками. Часть вторая.
Настольная книга администратора Debian: 12.2. Виртуализация
Выпуск системы виртуализации Xen 4.5.0
How to create a Centos Xen domU on Debian Squeeze using xen-create-image
Xen networking: проблема выбора
Автозапуск Xen DomU на Debian Lenny / Etch
nstalling and Running Windows XP or Vista as a Xen HVM domainU Guest