====== 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}}