Обсуждение: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)