Инструменты пользователя

Инструменты сайта


xen:xen

Xen гипервизор

FIXME

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

http://xenproject.org/

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 (Гостевые домены)
Гипервизор
Оборудование

Оригинал: Архитектура Xen

Основной единицей гипервизора является домен.

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

Domain-0 это специальный домен который содержит драйверы для оборудования, это главный домен в котором находится ядро Xen, такой домен всегда один.

Для гостевого домена Xen поддерживает два режима 1) :

  • Паравиртуализация ( Paravirtualization (PV) )
  • Аппаратная виртуализация ( Hardware assisted Virtualization (HVM) )

:!: С версии 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:

/etc/network/interfaces
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

По умолчанию состояние гостевых доменов восстанавливается после перезагрузки:

/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

MAC адреса

Используется диапазон адресов: 00:16:3e:xx:xx:xx

MAC адреса в Xen

xen-tools

Установка инструментов для создания образов и управления гостевыми системами:

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.

Пример файла:

/etc/xen-tools/xen-tools.conf
# имя группы томов (LVM)
lvm = vg01
# адрес Proxy сервера
apt_proxy = http://proxy:3128

xen-create-image

Создание нового гостевого домена Debian

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

Пример подключение по консоли по VNC:

/etc/xen/ИМЯ_ГОСТЕВОГО_ДОМЕНА.cfg
vfb = [ 'type=vnc,vncdisplay=11,vnclisten=10.1.0.3' ]
  • vnclisten=10.1.0.3 это IP-адрес интерфейса xenbr0 гипервизора
  • vncdisplay=11 соответствует TCP порту 5911

Ссылки

1)
Оба режима могут использоваться одновременно на одной системе Xen.
xen/xen.txt · Последние изменения: 2019-05-08 22:32 — GreyWolf