Обсуждение:Xen

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

Перейти к: навигация, поиск

Сегодня завершилась серия тренингов по системе виртуализации Xen. Я очень благодарен всем, кто нашёл время и желание посетить его. Мне очень понравилось, и было очень интересно. Спасибо!

Было задано много вопросов, на которые я или не смог ответить, или ответил бегло или кратко, и ответ мог просто забыться. Кроме того, на одних тренингах задавались одни вопросы, на других - другие, а ведь, возможно, многие из этих вопросов были бы интересны всем.

Ниже представлен список вопросов, которые должны быть раскрыты на этой странице. Пожалуйста, добавьте в этот список ваши вопросы по Xen, ответы на которые вы бы хотели получить.

Если вы не принимали участие в тренингах, но читали материалы и нашли их полезными и интересными, пожалуйста, напишите, какие вопросы, на ваш взгляд, стоило бы осветить более полно, на какие вы вообще не нашли ответов на странице.

Спасибо!

-- Igor Chubin 22:30, 23 августа 2006 (EEST)

Содержание

[править] Вопросы, на которые не хватает ответов на странице Xen

  • DiskQoS
  • Xenoservers
  • Device models в аппаратной виртуализации
  • Детальное описание процедуры запуска FreeBSD 7 в паравиртуальном режиме в домене domU
  • Детальное описание процедуры запуска FreeBSD в режиме аппаратной виртуализации с учётом бага 622
  • Живая миграция машин
  • Средства управления и мониторинга виртуальных машин
  • Новейшая история Xen (ядро Linux 2.6.31 в Xen 4) и открывающиеся перспективы в 2.6.37/2.6.38

[править] Варианты использования Xen

Консолидация ISP-серверов.

  • Одна виртуальная машина на пользователя;
  • Динамическое создание виртуальных машин;
  • Миграция VM в пределах кластера;
  • Плавный апгрейд критических серверов.

Продолжите список.

[править] Нифига не понятно

[править] Вопрос

> Для того чтобы запускаться совместно с монитором виртуальных машин Xen, операционная система должна быть особым образом модифицирована (портирована на Xen). Это касается как хост-систем, так и гостевых систем (за исключением HVM-доменов): и те, и другие должны быть портированы. Подготовка системы для работы в домене 0 требует от разработчиков больших усилий, поэтому систем, работающих в домене 0, намного меньше.

Нифига не понятно..... Что такое domU ??? что такое dom0 ??? что такое HVM-домен - это признак любого вида доменов ? и вообще - домен - это как-бы уровень на котором работает операционка ? надо пояснить не понятно. "что такое монитор виртуальных машин" - по-видимому это некоторая программа. откуда она запускается? в какой момент она начинает кого-то там мониторить...если она запускает после старта Хост - системы, то потом она будет эту хост систему контролировать?

так всё-таки для HVM-доменов - нужно операционку модифицировать или не нужно ?? dom0 + HVM бывает ? тоесть, могу я запустить в dom0 немодифицированный линукс? если нет - то почему, если да, то что должен поддерживать процессор... (а лучше - какие именно поддерживают)

> Cуществует проект Xenner, который позволяет запускать паравиртуальные ядра Xen без использования гипервизора Xen, при помощи KVM. В этом случае в хост-системе может использоваться наиболее новое ядро. а чем это хуже чем "нормальный" способ?


[править] Ответ

Домен в терминологии Xen это запущенная виртуальная машина. Например, по аналогии с процессом и программой: программа это файл лежащий на диске, а процесс — это запущенная и работающая программа. Нередко термины «виртуальная машина» и «домен» используют как взаимозаменяемые.

И гостевые системы и хост-система работают поверх гипервизора. При этом хост-системе соответствует особый домен, который называется доменом 0 (dom0). Остальные домены называют пользовательскими, доменами U (domU).

Домен 0 отличается от доменов U несколькими вещами:

  • он загружается первым при загрузке системы;
  • по умолчанию у домена 0 есть доступ ко всему оборудованию, а пользовательские домены работают с оборудованием с его помощью;
  • у домена 0 есть возможность накладывать ограничения на пользовательские домены и управлять их работой.

Домены Xen бывают двух видов:

  • Паравиртуальные домены. Внутри них должны работать системы специально портированные на Xen;
  • HVM-домены (Hardware Virtualization Mode, режим аппаратной виртуализации).

Домен 0 должен быть паравиртуальным, остальные домены могут быть паравиртуальными или HVM.

Для работы HVM-доменов обязательно чтобы центральный процессор поддерживал аппаратную виртуализацию (см. Аппаратные требования Xen).

Паравиртуальные домены исполняются практические без потерь производительности: и вычисления, и ввод/вывод в них происходят практически без потерь.

В HVM-доменах собственно вычисления выполняются без потерь производительности, но производительность ввод/вывода может отличаться значительно, в зависимости от того, каким образом она выполняется.

В наиболее распространённом случае, при эмуляции устройств ввода/вывода, потери могут быть значительными. Для того чтобы их избежать используются паравиртуальные драйверы (см. Паравиртуальные драйверы Xen).

Если есть возможность запускать систему как паравиртуальную, то лучше так и делать.

Превращение обычной системы в паравиртуальную выполняется очень просто. Нужно установить внутрь системы паравиртуализированное ядро (вместе с модулями) и загружать систему под его управлением. Модфикации программ (userlevel) не требуется. Все изменения скрываются под уровнем ядра (если быть совсем точным, то для повышения производительности паравиртуальных систем в Linux лучше использовать glibc модифицированную специальным образом для использования с Xen: с отключенным TLS).

[править] Вопрос - Процессоры (сокеты, ядра)

[править] Вопрос

Можно ли настроить Xen таким образом, чтобы ядра в доменах виделись не как отдельные процессоры, а как один (два) многоядерных? Xen 3.3.0

[править] Ответ

Можно попробовать добиться этого при помощи такой мощной фичи как CPUID.

Например, для того чтобы в HVM-домене показать 8 процессоров как один 8-ядерный, нужно указать в конфигурационном файле домена:

cpuid=['1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx','4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx'] 

Правда, это будет работать только в 3.4-unstable. --Igor Chubin 05:06, 25 февраля 2009 (EET)