====== Xen гипервизор ======
FIXME
Кроссплатформенный гипервизор, разработанный в компьютерной лаборатории Кембриджского университета и распространяемый на условиях лицензии GPL.
http://xenproject.org/
[[http://sourceforge.net/projects/openxenmanager|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).
|||||F|~|~|~|~|~|~|7|
|Console|Console=**Консоль**|||:|F|VM|VM=VM n||||:|
||!|||:|:||||||:|
|Toolstack|Toolstack=**Стек управления**|||:|)|VM|VM=VM 1||||:|
||!|||:|!||||||:|
|dom0|dom0=**Domain-0**||.|:|)|VM|VM=VM 0| ||DomU|DomU{border-color:#a9c}=**DomU** (Гостевые домены)|
||||!|L|#|~|~|~|~|~|J|
||||Xen_Hypervisor|Xen_Hypervisor=**[[#Гипервизор|Гипервизор]]**|
|||||!|
||||Host_HW|Host_HW=**Оборудование**|
[[http://wiki.xenproject.org/wiki/Xen_Overview#Introduction_to_Xen_Project_Architecture|Оригинал: Архитектура Xen]]
Основной единицей гипервизора является домен.
Доменом называется запущенная копия виртуальной машины.
''Domain-0'' это специальный домен который содержит драйверы для оборудования, это главный домен в котором находится ядро Xen, такой домен всегда один.
Для гостевого домена Xen поддерживает два режима ((Оба режима могут использоваться одновременно на одной системе Xen. )) :
* Паравиртуализация ( Paravirtualization (PV) )
* Аппаратная виртуализация ( Hardware assisted Virtualization (HVM) )
:!: С версии [[https://blog.xenproject.org/2015/01/15/less-is-more-in-the-new-xen-project-4-5-release/|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:grub|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: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
Дополнительная информация доступна в главе: [[network_interfaces:network_interfaces|Настройка сетевых интерфейсов]]
===== Поведение гостевых доменов после перезагрузки =====
Файл: ''/etc/default/xendomains''
По умолчанию состояние гостевых доменов восстанавливается после перезагрузки:
XENDOMAINS_RESTORE=true
XENDOMAINS_SAVE=/var/lib/xen/save
====== Управление гостевыми доменами ======
При указании имени домена в виде ''ИМЯ_ГОСТЕВОГО_ДОМЕНА'' подразумевается наличие файла ''/etc/xen/ИМЯ_ГОСТЕВОГО_ДОМЕНА.cfg''
**[[xen:debian_centos-domu|Создание гостевых доменов CentOS в гипервизоре под Debian]]**
**[[xen:debian_windows-domu|Создание гостевых доменов 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:lvm|LVM]]
А работа с ними происходит с помощью скриптов из пакета ''xen-tools''
===== MAC адреса =====
Используется диапазон адресов: ''00:16:3e:xx:xx:xx''
[[http://wiki.xensource.com/wiki/Xen_Networking#MAC_addresses|MAC адреса в Xen ]]
===== xen-tools =====
Установка инструментов для создания образов и управления гостевыми системами:
apt-get install xen-tools
Список инструментов:
|[[#xen-create-image|xen-create-image]]|Создание гостевого домена|
|[[#xen-create-nfs|xen-create-nfs]]|Создание гостевого домена c поддержкой [[nfs:nfs|NFS]]|
|[[#xen-delete-image|xen-delete-image]]|Удаление гостевого домена|
|[[#xen-list-images|xen-list-images]]|Список гостевых доменов|
|[[#xen-update-image|xen-update-image]]|Обновление пакетов в гостевых доменах|
Файл настройки: ''/etc/xen-tools/xen-tools.conf''
В нем задаются значения по умолчания для утилит ''xen-tools''.
Пример файла:
# имя группы томов (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
===== Действия после установки =====
[[debian:debian#Локализация|Локализация]]
===== Подключение по консоли VNC =====
Пример подключение по консоли по [[vnc:vnc|VNC]]:
vfb = [ 'type=vnc,vncdisplay=11,vnclisten=10.1.0.3' ]
* ''vnclisten=10.1.0.3'' это IP-адрес интерфейса ''xenbr0'' [[#Гипервизор|гипервизора]]
* ''vncdisplay=11'' соответствует TCP порту ''5911''
====== Ссылки ======
**http://wiki.xenproject.org**
https://wiki.debian.org/Xen
https://ru.wikipedia.org/wiki/Xen
http://xgu.ru/wiki/xen
[[http://habrahabr.ru/post/50121/|Xen server своими руками. Часть вторая.]]
[[http://debian-handbook.info/browse/ru-RU/stable/sect.virtualization.html|Настольная книга администратора Debian: 12.2. Виртуализация]]
[[http://wiki.xensource.com/wiki/Xen_Networking|Xen Networking]]
[[http://www.opennet.ru/opennews/art.shtml?num=41466|Выпуск системы виртуализации Xen 4.5.0]]
[[http://serverfault.com/questions/347881/how-to-create-a-centos-xen-domu-on-debian-squeeze-using-xen-create-image|How to create a Centos Xen domU on Debian Squeeze using xen-create-image]]
[[http://xgu.ru/wiki/Сеть_в_Xen|xgu.ru : Сеть в Xen]]
[[http://habrahabr.ru/post/50560/|Xen networking: проблема выбора]]
[[http://www.stableit.ru/2010/07/xen-domu-debian-5-lenny.html|Автозапуск Xen DomU на Debian Lenny / Etch]]
[[http://www.virtuatopia.com/index.php/Installing_and_Running_Windows_XP_or_Vista_as_a_Xen_HVM_domainU_Guest|nstalling and Running Windows XP or Vista as a Xen HVM domainU Guest]]
{{tag>Linux Debian Virtualization Xen}}