Эмуляционные домены Xen

Материал из Xgu.ru

Перейти к: навигация, поиск
Короткий URL: xen/stubdom
Файл:emudom.png
Производительность при использовании эмуляционных доменов [1]

В Xen 3.3 появилась новая сущность ­--- эмуляционные домены (emulation domains, stub domains). Эмуляционный домен -- это специальный PV-домен, использующийся в паре с HVM-доменом для организации его ввода/вывода. Внутри эмуляционного домена работает легковесная операционная система, Mini-OS.

Ранее ввод/вывод осуществлялся через процессы эмулятора (qemu-dm), которые работали непосредственно в домене 0. При использовании эмуляционного домена HVM-домен осуществляет ввод/вывод не через эмуляционные процессы, исполняющиеся в домене 0, а через этот домен.

Использование эмуляционных доменов позволяет повысить уровень изоляции доменов, производительности ввода/вывода для HVM-доменов, а также даёт возможность её более гибкого регулирования.

Содержание

[править] Настройка

Из-за гонок, возникающих при создании эмуляционного домена и выделением видеопамяти HVM-домену, нужно избегать использования balloon-драйвера. Для этого необходимо использовать при загрузке гипервизора параметр dom0_mem= .

Tip-icon.gif

Примеры настройки есть в файлах xmexample.hvm-stubdom и xmexample.hvm-dm в дистрибутиве Xen.

В конфигурационном файле HVM-домена /etc/xen/hvmconfig-stubdom:

  • В качестве скрипта device-model нужно указать stubdom-dm (или с полным путём /usr/lib/xen/bin/stubdom-dm; путь уточняется для дистрибутива).
device_model = '/usr/lib/xen/bin/stubdom-dm'

  • Нужно закомментировтаь запись disk:
#disk = [  'file:/tmp/install.iso,hdc:cdrom,r', 'phy:/dev/sda6,hda,w', 'file:/tmp/test,hdb,r' ]

  • Нужно отключить все записи, относящиеся к домену 0, например, такие как pty=serial.


После этого необходимо создать конфигурационный файл для эмуляционного домена

 /etc/xen/hvmconfig-dm

Здесь hvmconfig -- имя HVM-домена.

В файле должно быть такое (или подобное) содержимое:

 
 kernel = "/usr/lib/xen/boot/ioemu-stubdom.gz"
 vif = [ '', 'ip=10.0.1.1,mac=aa:00:00:12:23:34']
 disk = [  'file:/tmp/install.iso,hdc:cdrom,r', 'phy:/dev/sda6,hda,w', 'file:/tmp/test,hdb,r' ]

Здесь:

  • первый сетевой интерфейс (vif ) зарезервирован для VNC; ниже подробности.
  • строка 'ip=10.0.1.1,mac= etc...' --- обозначает то же самое, что и в обычном конфигурационном файле HVM-домена;
  • disk --- параметр диск точно такой же, каким он указывается в HVM-домене.

[править] Настройка экрана

Есть три варианта.

Использовать SDL.

В hvmconfig нужно выключить vnc и sdl:

 
 vnc = 0
 sdl = 0

В файле hvmconfig-dm установить:

 vfb = [ 'type=sdl' ]

Использовать VNC-сервер в эмуляционном домене.

В hvmconfig нужно установить параметр vnclisten равным IP-адресу, на котором будет доступен VNC-сервер. Нельзя использовать доменные имена (только IP-адреса), поскольку у MiniOS нет своего резолвера (клиента DNS). Нельзя использовать 127.0.0.1, потому что тогда не получится подключиться к этому интерфейсу извне.

 
 vnc = 1
 vnclisten = "172.30.206.1"

В файле hvmconfig-dm указать в зарезервированном интерфейсе тот же самый IP-адрес, например:

 
 vif = [ 'ip=172.30.206.1', 'ip=10.0.1.1,mac=aa:00:00:12:23:34']

Использовать VNC-сервер в домене 0.

В hvmconfig-stubdom нужно выключить vnc и sdl:

 
 vnc = 0
 sdl = 0

В файле hvmconfig-dm установить:

 
 vfb = [ 'type=vnc' ]

(и другие параметры, если они нужны).

[править] Запуск

 mkdir -p /exports/usr/share/xen/qemu
 ln -s /usr/share/xen/qemu/keymaps /exports/usr/share/xen/qemu
 mkdir -p /exports/var/lib
 ln -s /var/lib/xen /exports/var/lib
 /usr/sbin/fs-backend &
 
 xm create hvmconfig


[править] Дополнительная информация

Xen
Xen

Виртуализация и паравиртуализация
Эмуляция | Виртуализация | Паравиртуализация | Рекурсивная виртуализация
Паравиртуальные драйверы | Виртуализация ввода/вывода

Общие вопросы по Xen
Аппаратные требования Xen | Поддержка Xen операционными системами | Поддерживаемые аппаратные архитектуры |
Примеры использования Xen | Сравнение виртуальных машин |
Хостинг на Xen
Альтернативы Xen

свободные: KVM | LXC | OpenVZ | VServer | QEMU | VirtualBox
проприетарные: Hyper-V | VMware ESX Server

Технические вопросы
Инсталляция Xen | Конфигурационный файл домена
ОС в Xen: Linux small icon.png Linux | Solaris small icon.png OpenSolaris | Freebsd small icon.png FreeBSD | Openbsd small icon.png OpenBSD | Netbsd small icon.png NetBSD | Windows xp small icon.png Windows XP | Windows vista small icon.png Windows Vista
Устройства: Блочные | USB | SCSI | Сеть | PV-драйверы для Linux | PV-драйверы для Windows | Консоль

Распределение ресурсов между доменами | Перенос системы внутрь Xen | HVM -> PV

Управление и кластеризация | Enomalism | Xen+DRBD | Ganeti | Convirt 2.0 | SkyCover Infrastructure