igor@0: \section{Xen}
igor@0:
igor@0:
igor@0: \textbf{Xen} — это монитор виртуальных машин (VMM, Virtual Machine Monitor) или гипервизор (hypervisor) с поддержкой паравиртуализации (para-virtualization) для процессоров x86 архитектуры, распространяющийся с открытым исходным кодом (opensource). Xen может организовать совместное безопасное исполнение нескольких виртуальных машин на одной физической системе с производительностью близкой к непосредственной (native).
igor@0:
igor@0: Xen обладает функциональностью ПО корпоративного уровня; в нём, в частности, обеспечивается:
igor@0: \begin{itemize}
igor@0: \item Производительность виртуальных машин близкая к производительности при непосредственном исполнении на железе;
igor@0: \item Возможность живой миграции работающих виртуальных машин между хостами;
igor@0: \item Поддержка до 32 виртуальных процессоров на одну гостевую машину с возможностью горячего добавления (hotplug) процессоров;
igor@0: \item Поддержка платформ x86/32, x86/32 с PAE и x86/64;
igor@0: \item Поддержка аппаратной виртуализации для запуска немодифицированных операционных систем (включая Microsoft Windows);
igor@0: \item Отличная поддержка оборудования (поддерживаются практически все драйверы устройств Linux).
igor@0: \end{itemize}
igor@0:
igor@0: \subsection{Что это}
igor@0: \subsubsection{Что может виртуализация}
igor@0: \begin{enumerate}
igor@0: \item Запуск множества операционных систем одновременно
igor@0: \item Гарантированная изоляция ОС друг от друга
igor@0: \item Возможность гибкого разделения ресурсов между машинами
igor@0: \end{enumerate}
igor@0:
igor@0: \subsubsection{Зачем это надо}
igor@0:
igor@0: \subsubsection{Примеры использования}
igor@0: Список примеров не полный.
igor@0:
igor@0: Консолидация серверов хостинг-провайдеров:
igor@0: \begin{itemize}
igor@0: \item Одна виртуальная машина на пользователя;
igor@0: \item Динамическое создание виртуальных машин;
igor@0: \item Миграция VM в пределах кластера;
igor@0: \item Плавный апгрейд критических серверов.
igor@0: \end{itemize}
igor@0:
igor@0: \subsection{Виртуализация и паравиртуализация}
igor@0: Принципы действия виртуальных машин/эмуляторов/сред ограниченного исполнения:
igor@0:
igor@0: \begin{itemize}
igor@0: \item \textbf{интерпретация} и \textbf{динамическая рекомпиляция} -- Bochs -- PearPC -- QEMU -- VirtualPC for MAC;
igor@0: \item \textbf{виртуализация на уровне ОС} -- Jail -- Linux-VServer -- OpenVZ -- Virtuozzo -- Zones;
igor@0: \item \textbf{виртуализация} -- VMware -- VirtualPC -- Virtual Server 2005 -- QEMU с модулем kqemu;
igor@0: \item \textbf{паравиртуализация} и \textbf{портирование} -- Xen -- UML .
igor@0: \end{itemize}
igor@0:
igor@0: Идеальная виртуальная среда абсолютно прозрачна
igor@0: для гостевых систем.
igor@0: Ключевые особенности виртуализации:
igor@0: \begin{itemize}
igor@0: \item Общие принципы построения мейнфреймов
igor@0: \item Практически невозможно для процессоров семейства i386
igor@0: \item Запуск немодифицированных ОС выполняется сложно
igor@0: \begin{itemize}
igor@0: \item Перехват привилегированных вызовов
igor@0: \item Динамическое изменение кода
igor@0: \end{itemize}
igor@0: \item В результате в некоторых случаях производительность страдает.
igor@0: \end{itemize}
igor@0:
igor@0: Xen не скрывает себя от гостевых ОС.
igor@0: Наоборот, они должны быть подготовлены к работе с этой системой.
igor@0: Для этого выполняется:
igor@0: \begin{itemize}
igor@0: \item Портирование операционной системы для работы с Xen
igor@0: \item Гостевым операционным система даётся возможность использования драйверов хост-системы, но только под её присмотром.
igor@0: \end{itemize}
igor@0:
igor@0: В настоящий момент модифицированный код гостевых ОС
igor@0: доступен для Linux и NetBSD. Ведётся работа по портированию
igor@0: FreeBSD, OpenSolaris и Plan9.
igor@0:
igor@0: Xen полностью интегрирован с Linux:
igor@0: \begin{itemize}
igor@0: \item Существует отдельная архитектура ядра (ARCH=xen)
igor@0: \item Xen работает как гипервизор
igor@0: \item Ядро обращается к гипервизору для получения ресурсов
igor@0: \item Гипервизор использует драйверы Linux.
igor@0: \end{itemize}
igor@0:
igor@0: \subsubsection{Дополнительная информация}
igor@0: \begin{itemize}
igor@0: \item http://en.wikipedia.org/wiki/Virtualization
igor@0: \item http://en.wikipedia.org/wiki/X86\_virtualization
igor@0: \item Технологии виртуализации: вчера, сегодня, завтра -- статья Сергея Озерова и Александра Карабуто в журнале \dq{}Экспресс Электроника\dq{}
igor@0: \item http://www.xensource.com/xen/xen/index.html
igor@0: \item http://en.wikipedia.org/wiki/Xen
igor@0: \item Paravirtualization is a Dead-End Approach -- критика паравиртуализации в блоге VirtualIron
igor@0: \end{itemize}
igor@0:
igor@0: \subsection{Сравнение с другими виртуальными машинами}
igor@0: Сравнение виртуальных машин, сред ограниченного исполнения
igor@0: и эмуляторов производится на странице \textit{Сравнение виртуальных машин}.
igor@0:
igor@0: \subsection{Производительность}
igor@0:
- \textit{Основная страница: \textbf{Производительность Xen}}
igor@0:
igor@0:
igor@0: Портирование ОС на Xen позволяет добиться большей эффективности
igor@0: в сравнении с виртуализацией, основанной на перехвате
igor@0: несработавших инструкций, или тем более использовании интерпретатора
igor@0: или JIT-компилятора кода гостевой ОС.
igor@0: Минусом этого подхода является необходимость в портировании ОС,
igor@0: но опыт показал, что это можно сделать довольно быстро.
igor@0:
igor@0: Операционные системы, работающие в Xen, исполняются
igor@0: с уровнем привилегий 1 вместо 0, который зарезервирован для Xen.
igor@0: В результате гостевые ОС не могут использовать привилегированные
igor@0: инструкции для запрета/разрешения прерываний, изменения таблиц адресов
igor@0: и т.д. Вместо этого они должны выполнять соответствующее обращение (hypercall)
igor@0: к гипервизору Xen с просьбой выполнить необходимую операцию.
igor@0: При правильной разработке интерфейса между виртуальными машинами и гипервизором,
igor@0: накладные расходы на выполнение операций малы.
igor@0:
igor@0: Вместо того чтобы пытаться эмулировать существующее аппаратное обеспечение,
igor@0: Xen предоставляет специально подготовленные блочные устройства
igor@0: и сетевые интерфейсы гостевых операционным системам, и требуя
igor@0: соответствующий драйвер.
igor@0: Преимущество такого подхода заключается в том, что производительность
igor@0: гостевой ОС практически не страдает:
igor@0: например, скорость передачи данных по Gigabit Ethernet каналу
igor@0: из машины, работающей под Xen, такая же как и у родной операционной системы.
igor@0:
igor@0: Группа разработчиков Xen провела исследование производительности этой системы.
igor@0: Для этого система с ядром Linux 2.4.22 была запущена в различных режимах
igor@0: и в ней выполнялся ряд тестов.
igor@0: Проводилось сравнение системы работающей на реальной машине,
igor@0: с работой в виртуальных машинах с такими системами виртуализации:
igor@0: \begin{itemize}
igor@0: \item VMware workstation 3.2;
igor@0: \item User Mode Linux (UML).
igor@0: \end{itemize}
igor@0:
igor@0:
igor@0: Тесты, на которых проводилось сравнение:
igor@0: \begin{itemize}
igor@0: \item Набор тестов SPEC CPU2000 Integer;
igor@0: \item Полная сборка Linux 2.4.22 в конфигурации по умолчанию на локальном диске;
igor@0: \item PostgreSQL выполняющая тест OSDB Information Retrieval (IR);
igor@0: \item PostgreSQL выполняющая тест OSDB On-Line Transaction Processing (OLTP);
igor@0: \item Однопользовательский тест файловой системы dbench 2.0;
igor@0: \item Тест SPWCWeb99 для Web-сервера Apache 1.3.27 с модулем `mod\_specweb99\rq{} для динамического создания контента.
igor@0: \end{itemize}
igor@0:
igor@0: На рисунке изображены уровни производительности
igor@0: для Linux (L), Xen/Linux (X), VMware Workstation 3.2 (V)
igor@0: и User Mode Linux (U).
igor@0:
igor@0: Тест SPEC INT2000 наиболее требователен к процессору CPU, но практически не выполняет
igor@0: ввода/вывода и требует минимум работы от самой операционной системы,
igor@0: и вследствие этого все три техники виртуализации показали практически одинаковые
igor@0: хорошие результаты.
igor@0:
igor@0: В других тестах, наоборот, требуется большее участие ОС, больше переключений контекста
igor@0: и больше операций по созданию процессов.
igor@0: Производительность Linux внутри Xen практически не отличается
igor@0: от производительности Linux, работающего непосредственно на железе.
igor@0: В наихудшем случае, при выполнении теста OSDB-IR, отставание составило 8\%.
igor@0: При использовании других техник виртуализации,
igor@0: результаты не были настолько хорошими. В некоторых случаях
igor@0: замедление составило до 88\%.
igor@0: В работе \url{http://www.cl.cam.ac.uk/netos/papers/2003-xensosp.pdf}
igor@0: приведены дополнительные результаты, в частности касающиеся одновременного
igor@0: запуска большого количества виртуальных машин.
igor@0:
igor@0: Представленные выше результаты были проверены и подтверждены
igor@0: независимой группой Кларксоновского Университета (Clarkson University).
igor@0: С результатами исследования, проведённого этой группой, можно ознакомиться
igor@0: в работе \dq{}Xen and the Art of Repeated Research\dq{},
igor@0: которая также включает результаты сравнения производительности Xen
igor@0: и машины IBM zServer.
igor@0:
igor@0: \subsubsection{Дополнительная информация}
igor@0: \begin{itemize}
igor@0: \item Xen Performance -- статья группы разработчиков Xen, сравнивающая производительность Linux, Xen, UML, VMWare
igor@0: \item Xen and the Art of Virtualization -- статья группы разработчиков Xen, в которой описывается архитектура Xen
igor@0: \item Xen and the Art of Repeated Research -- результаты исследования производительности, выполненного независимой группой Кларксоновского Университета
igor@0: \end{itemize}
igor@0:
igor@0: \subsection{Новые возможности Xen}
igor@0: - \textit{Основная страница: \textbf{Новости Xen}}
igor@0:
igor@0:
igor@0: Текущяя версия: \textit{Xen 3.2.0}, релиз сделан 16 января 2008 года.
igor@0:
igor@0: \subsubsection{Возможности Xen 3}
igor@0: Xen 3 значительно отличается от своего предшественника Xen 2.
igor@0: Повышены устойчивость к сбоям, безопасность, производительность.
igor@0: Появился ряд принципиально новых возможностей.
igor@0:
igor@0: Наиболее значимые изменения:
igor@0: \begin{itemize}
igor@0: \item Intel (Physical Addressing Extensions) PAE для поддержки 32битных серверов с >4G ОЗУ
igor@0: \item Поддержка x86/64 (Intel EM64T, AMD Opteron)
igor@0: \item Поддержка Intel VT-x для запуска немодифицированных гостевых ОС (Windows XP/2003, немодифицированный Linux)
igor@0: \item Усовершенствованные инструменты управления
igor@0: \item Улучшенная поддержка ACPI
igor@0: \item AGP/DRM графика
igor@0: \end{itemize}
igor@0:
igor@0: Начиная с версии 3.1 появились следующие возможности:
igor@0: \begin{itemize}
igor@0: \item Поддержка XenAPI 1.0
igor@0: \begin{itemize}
igor@0: \item Конфигурационные файлы виртуальных машин в XML;
igor@0: \item Управление жизненным циклом виртуальных машин;
igor@0: \item Безопасная привязка XML-RPC для многих языков
igor@0: \end{itemize}
igor@0: \item Предварительная поддержка save/restore/migrate для HVM-доменов (в частности, Windows);
igor@0: \item Динамическое управление памятью для HVM-доменов;
igor@0: \item Поддержка 32-на-64 паравиртуальных гостевых систем (запуск паравиртуальных систем PAE на 64-битном Xen);
igor@0: \item Поддержка copy-on-write для дисковых устройств blktap.
igor@0: \end{itemize}
igor@0:
igor@0: \subsubsection{Ограничения Xen 2}
igor@0: В предыдущей версии Xen (Xen 2.0) наиболее сильно были заметны следующие недостатки:
igor@0: \begin{itemize}
igor@0: \item Не поддерживалась многопроцессорность в гостевых ОС
igor@0: \item Поддерживалась только архитектура i386; x86\_64 поддерживает только в режиме i386
igor@0: \end{itemize}
igor@0:
igor@0: \subsection{Аппаратные требования}
igor@0: - \textit{Основная страница: \textbf{Аппаратные требования Xen}}
igor@0:
igor@0:
igor@0: В настоящий момент Xen
igor@0: работает на платформах \textbf{Intel x86} и \textbf{Intel x86\_64} (в режиме совместимости i386)
igor@0: и требует процессора не ниже P6.
igor@0: Выполняется поддержка многопроцессорных машин (в том числе и машин с процессорами с архитектурой Hyper-Threading).
igor@0: В ближайшее время Xen будет работать на процессорах архитектуры IA64.
igor@0: Также ведутся работы по подготовке Xen для работы на процессорах с архитектурой PPC и ARM.
igor@0:
igor@0: Для использования \textit{модифицированных}
igor@0: операционных систем -- подготовленных к использованию в паравиртуальной машине Xen -- никаких дополнительных требований к аппаратному обеспечению
igor@0: компьютера, на котором будут выполняться виртуальные машины, не предъявляется.
igor@0:
igor@0: Использование операционных систем \textit{в неизменном
igor@0: виде} возможно при использовании
igor@0: процессоров с поддержкой виртуализации.
igor@0:
igor@0: \subsection{Поддержка Xen различными операционными системами}
igor@0: - \textit{Основная страница: \textbf{Поддержка Xen операционными системами}}
igor@0:
igor@0:
igor@0: В домене 0 может использоваться ОС:
igor@0: \begin{itemize}
igor@0: \item Linux
igor@0: \item NetBSD
igor@0: \item OpenSolaris
igor@0: \end{itemize}
igor@0:
igor@0: В паравиртуальном режиме в домене domU работают:
igor@0: \begin{itemize}
igor@0: \item Linux
igor@0: \item NetBSD (без PAE)
igor@0: \item FreeBSD (начиная с 7, без поддержки PAE и с большим количеством ограничений)
igor@0: \item Plan9 (без PAE)
igor@0: \item OpenSolaris (build 44).
igor@0: \end{itemize}
igor@0:
igor@0: В режиме аппаратной виртуализации поддерживаются Windows XP, Windows 2003 Server.
igor@0:
igor@0: \subsection{Инсталляция, конфигурирование и использование Xen}
igor@0: \subsubsection{Как начать?}
igor@0: Для того чтобы попробовать Xen в действии, не нужно много времени.
igor@0: При благоприятных обстоятельствах
igor@0: (вы ясно соображаете, уверенно чувствуете себя в командной строке,
igor@0: у вас хороший канал в Интернет, и вы используете Linux -- обычно эти качества
igor@0: встречаются вместе)
igor@0: вы увидите приглашение гостевой ОС меньше чем через
igor@0: десять минут после того как начнёте экспериментировать.
igor@0:
igor@0: Возможно, вы используете систему,
igor@0: которая уже поддерживает Xen из коробки.
igor@0:
igor@0: Если так, то вы можете получить образ из Интернета,
igor@0: описанным здесь способом.
igor@0:
igor@0: Если ваша система не поддерживает Xen,
igor@0: а вы не хотите сейчас заниматься сборкой и инсталляцией
igor@0: Xen вручную, можно использовать Live CD с Xen.
igor@0: Его образ можно получить здесь.
igor@0:
igor@0: \subsubsection{Инсталляция операционной системы в domU}
igor@0: Существует несколько способов
igor@0: подготовки образа гостевой системы.
igor@0: \begin{enumerate}
igor@0: \item Инсталляция средствами базовой операционной системы
igor@0: \item Использование готового образа
igor@0: \item Использование инсталлятора гостевой ОС
igor@0: \item Использование диска реальной машины
igor@0: \end{enumerate}
igor@0:
igor@0: \paragraph{Инсталляция средствами базовой операционной системы}
igor@0: Этот способ является основным для Xen.
igor@0:
igor@0: Подготовка образа для использования
igor@0: в качестве дискового раздела в домене domU
igor@0: состоит из двух этапов:
igor@0: \begin{enumerate}
igor@0: \item Создание собственно файла/раздела образа и файловой системы внутри него
igor@0: \item Наполнение образа операционной системой
igor@0: \end{enumerate}
igor@0:
igor@0: Создание собственно образа выполняется
igor@0: очень просто.
igor@0:
igor@0: \begin{verbatim}
igor@0: # dd if=/dev/zero of=domU-disk.img bs=1024k count=<размер_в_MB>
igor@0: # mkfs.ext3 domU-disk.img
igor@0: \end{verbatim}
igor@0:
igor@0: Затем этот образ монтируется и
igor@0: наполняется.
igor@0:
igor@0: Вот, например, как это можно сделать в Debian GNU/Linux:
igor@0:
igor@0: \begin{verbatim}
igor@0: # mount -o loop domU-disk.img /mnt
igor@0: # debootstrap etch /mnt
igor@0: \end{verbatim}
igor@0:
igor@0: В результате, в каталоге \texttt{/mnt}
igor@0: будет установлена операционная система \textbf{Debian GNU/Linux},
igor@0: дистрибутив \textbf{etch}.
igor@0:
igor@0: Подробнее процедура инсталляции описана здесь.
igor@0:
igor@0: \paragraph{Использование готового образа}
igor@0: Если вы создаете не первый домен,
igor@0: вы можете взять образ существующего домена за основу.
igor@0: Можно подготовить образцовые домены
igor@0: разного предназначения и при необходимости
igor@0: копировать и дорабатывать их.
igor@0:
igor@0: В Интернете доступно огромное количество образов дисковых
igor@0: разделов, готовых для использования в качестве основных
igor@0: дисковых разделов в пользовательских доменах Xen.
igor@0:
igor@0: В этом случае подготовка дискового раздела сводится
igor@0: к простому выкачиванию файла из сети.
igor@0: После того как образ получен, нужно создать конфигурационный
igor@0: файл домена, в котором указать этот образ в качестве
igor@0: дискового раздела. Затем, стартануть новый домен.
igor@0:
igor@0: Как правило, в комплекте с образом уже есть готовый к использованию
igor@0: конфигурационный файл домена. Можно использовать его,
igor@0: но только перед этим проверить и при необходимости изменить
igor@0: пути в именах файлов, в частности, в имене ядра,
igor@0: и параметры домена -- память, сетевые интерфейсы и другие.
igor@0:
igor@0: Этот способ может использоваться как для экспериментов,
igor@0: так и для создания полноценных гостевых доменов.
igor@0: Готовые образы поддаются доработке и расширению.
igor@0:
igor@0: Подробнее о источниках образов в Сети,
igor@0: смотрите здесь.
igor@0:
igor@0: \paragraph{Использование инсталлятора гостевой операционный системы}
igor@0: Этот способ требует наличия аппаратной виртуализации
igor@0: базовой системой (подробнее здесь)
igor@0: или поддержки архитектуры Xen инсталлятором гостевой ОС.
igor@0: На сегодняшний день список инсталляторов ОС, готовых
igor@0: к использованию в паравиртуальном режиме Xen, пуст.
igor@0:
igor@0: В режиме аппаратной виртуализации все выглядит
igor@0: так же, как и при подготовке обычной виртуальной машины
igor@0: в других системах.
igor@0:
igor@0: Процесс подготовки нового домена состоит из трех этапов:
igor@0: \begin{enumerate}
igor@0: \item Создание конфигурационного файла домена.
igor@0: \item Подготовка пустого образа для дискового раздела гостевого домена.
igor@0: \item Запуск виртуальной машины.
igor@0: \end{enumerate}
igor@0:
igor@0: После того как виртуальная машина стартанёт,
igor@0: будет запущен инсталлятор операционной системы,
igor@0: и дальше инсталляция будет проходить обычным способом.
igor@0:
igor@0: Когда инсталляция будет завершена, необходимо отредактировать
igor@0: конфигурационный файл домена: указать загрузку с диска
igor@0: вместо загрузки с CD.
igor@0:
igor@0: \paragraph{Использование диска реальной машины}
igor@0: Существующую реальную машину можно запускать
igor@0: в виртуализированной среде Xen.
igor@0: (верно и обратное: пользовательский домен Xen
igor@0: можно очень легко превратить в реальную машину; об этом ниже).
igor@0:
igor@0: Это можно сделать следующим образом:
igor@0: \begin{itemize}
igor@0: \item побайтно скопировать дисковые разделы реальной машины в файлы или дисковые разделы Xen-системы;
igor@0: \item переставить диск из реальной машины в Xen-систему.
igor@0: \end{itemize}
igor@0:
igor@0: После чего создать конфигурационный файл домена,
igor@0: в котором указать соответствующие дисковые разделы.
igor@0:
igor@0: При загрузке нового домена нужно использовать не старое ядро системы,
igor@0: а ядро подготовленное для Xen.
igor@0: Поэтому, при необходимости, не забудьте скопировать модули
igor@0: нового ядра на диск гостевой системы:
igor@0:
igor@0: \begin{verbatim}
igor@0: # mount /dev/hdb1 /mnt
igor@0: # cp -r /lib/modules/2.6.16-xenU /mnt/lib/modules
igor@0: \end{verbatim}
igor@0:
igor@0: Здесь:
igor@0: \begin{itemize}
igor@0: \item \textbf{/dev/hdb1} -- корневой дисковый раздел гостевой системы;
igor@0: \item \textbf{2.6.16-xenU} -- точное название ядра, под управлением которого будет работать гостевой домен.
igor@0: \end{itemize}
igor@0:
igor@0: Этот способ, выполненный в обратном направлении,
igor@0: позволяет превращать виртуальные машины Xen в реальные.
igor@0: Для этого нужно:
igor@0: \begin{enumerate}
igor@0: \item Подготовить виртуальную машину Xen на отдельном диске
igor@0: \item Проинсталлировать из реальной системы на диск домена загрузчик
igor@0: \item Установить (но пока не запускать!) в виртуальной системе реальное ядро
igor@0: \item Указать в конфигурационном файле загрузчика в виртуальной системе использовать реальное ядро
igor@0: \item Отредактировать /etc/fstab с учётом того, как диск будет виден в реальной системе
igor@0: \item Вытащить диск и запустить с него реальную систему.
igor@0: \end{enumerate}
igor@0:
igor@0: \subsubsection{Образы domU различных операционных систем}
igor@0: В Интернете доступно большое количество domU-образов
igor@0: различных операционных систем, готовых для использования
igor@0: с Xen.
igor@0:
igor@0: Для того чтобы использовать образ, необходимо:
igor@0: \begin{enumerate}
igor@0: \item Настроить Xen в домене 0
igor@0: \item Получить желаемый образ domU
igor@0: \item Создать конфигурационный файл для новой виртуальной машины, указывающий на полученный образ domU
igor@0: \item Запустить новую виртуальную машину
igor@0: \end{enumerate}
igor@0:
igor@0: \textbf{Linux}:
igor@0: \begin{itemize}
igor@0: \item http://jailtime.org/
igor@0: \item http://xen-get.org/
igor@0: \end{itemize}
igor@0:
igor@0: \textbf{FreeBSD}:
igor@0: \begin{itemize}
igor@0: \item http://www.fsmware.com/xenofreebsd/7.0/download/
igor@0: \end{itemize}
igor@0:
igor@0: \textbf{NetBSD}:
igor@0: \begin{itemize}
igor@0: \item http://www.netbsd.org/Ports/xen/howto.html
igor@0: \end{itemize}
igor@0:
igor@0: \textbf{OpenSolaris}:
igor@0: \begin{itemize}
igor@0: \item http://www.opensolaris.org/os/community/xen/How-To-8-15-06/install/AugDomUs/
igor@0: \end{itemize}
igor@0:
igor@0: Также существует репозитори образов,
igor@0: предназначенных для непосредственного исполнения процессором.
igor@0: Эти образы можно использовать в Xen в режиме
igor@0: аппаратной виртуализации.
igor@0: \begin{itemize}
igor@0: \item Коллекция образов на Free OS Zoo
igor@0: \end{itemize}
igor@0:
igor@0: \subsubsection{Виртуальная машина Windows XP}
igor@0: - \textit{Основная статья: \textbf{Windows XP в Xen}}
igor@0:
igor@0:
igor@0: Процедура подготовки Xen-системы для использования в режиме аппаратной виртуализации
igor@0: и последующего запуска ОС Windows XP в виртуальной машине Xen детально
igor@0: описана на странице Windows XP в Xen (использован перевод Михаила Сгибнева).
igor@0:
igor@0: \subsubsection{Виртуализация устройств}
igor@0: \paragraph{Виртуализация дисковых систем}
igor@0: - \textit{Основная статья: \textbf{Блочные устройства в Xen}}
igor@0:
igor@0:
igor@0: \paragraph{Виртуализация сети}
igor@0: - \textit{Основная статья: \textbf{Сеть в Xen}}
igor@0:
igor@0:
igor@0: \paragraph{Виртуализация графической карты}
igor@0: \begin{itemize}
igor@0: \item http://www.cs.toronto.edu/~andreslc/xen-gl/
igor@0: \end{itemize}
igor@0:
igor@0: \subsubsection{Использование Xen}
igor@0: \paragraph{Сохранение и восстановление доменов, миграция и живая миграция}
igor@0: \paragraph{Горячее подключение устройств}
igor@0: - \textit{Основная статья: \textbf{Горячее подключение устройств}}
igor@0:
igor@0:
igor@0: \paragraph{Распределение ресурсов между виртуальными машинами}
igor@0: - \textit{Основная статья: \textbf{Распределение ресурсов между доменами}}
igor@0:
igor@0:
igor@0: \subsection{Средства управления и мониторинга виртуальных машин}
igor@0: \begin{center} \resizebox{10cm}{!}{\includegraphics{/var/lib/mediawiki/images/8/83/Enomalism.jpg}}\\ \textit{Enomalism -- Web-инструмент для управления работой виртуальных машин}\end{center}
igor@0:
igor@0: - \textit{Основная статья: \textbf{Средства управления Xen}}
igor@0:
igor@0:
igor@0: Cуществует множество различных
igor@0: средств для управления работой виртуальных машин,
igor@0: в их числе:
igor@0:
igor@0: \begin{itemize}
igor@0: \item \textbf{xm} — встроенное средство, работает в консольном режиме. Наблюдение выполнятся с помощью \textbf{xm top}.
igor@0: \item Enomalism — консоль управления и мониторинга Xen с Web-интерфейсом
igor@0: \item XenMan — программа для управление и мониторинга Xen c графическим интерфейсом пользователя
igor@0: \item virt-manager — программа для управления и мониторинга Xen с графическим интерфейсом пользователя от RedHat
igor@0: \end{itemize}
igor@0:
igor@0: Отдельно стоит отметить библиотеку \textit{libvirt}, которая предоставляет
igor@0: унифицированные механизмы управления не только для управления доменами Xen,
igor@0: но также машинами QEMU и OpenVZ. Программа \textit{virt-manager} построено на основе этой библиотеки.
igor@0:
igor@0: Другие средства управления виртуальными машинами:
igor@0: \begin{itemize}
igor@0: \item http://www.xen-tools.org/
igor@0: \item https://savannah.cern.ch/projects/vgrid
igor@0: \end{itemize}
igor@0:
igor@0: \subsection{Коммерческие системы виртуализации, основанные на Xen}
igor@0: В настоящий момент, коммерческие системы виртуализации, базирующиеся на Xen,
igor@0: предлагают следующие производители:
igor@0: \begin{itemize}
igor@0: \item XenSource (Citrix)
igor@0: \item VirtualIron
igor@0: \item Novell
igor@0: \item Oracle
igor@0: \item Sun
igor@0: \end{itemize}
igor@0:
igor@0: Как правило, они эти системы отличаются от свободных решений тем что,
igor@0: имеют:
igor@0: \begin{itemize}
igor@0: \item более развитый интерфейс инсталляции и управления виртуальными машинами
igor@0: \item более развитую драйверную поддержку гостевых операционных систем, в частности, как правило, у них есть свои собственные паравиртуальные драйверы (работающие только с конкретной модификацией системы виртуализации) для Windows, которые позволяют существенно ускорить операции ввода/вывода внутри гостевых систем (сейчас ведётся работа на свободными PV-драйверами Xen для Windows, подробнее: Паравиртуальные драйверы Xen для Windows).
igor@0: \end{itemize}
igor@0:
igor@0: \subsection{Коммерческая поддержка и хостинг на Xen}
igor@0: \subsubsection{Коммерческая поддержка решений на Xen}
igor@0: - \textit{Основная страница: \textbf{Коммерческая поддержка Xen}}
igor@0:
igor@0:
igor@0: \subsubsection{Хостинг на Xen}
igor@0: - \textit{Основная страница: \textbf{Хостинг доменов Xen}}
igor@0:
igor@0:
igor@0: \subsection{Информационные ресурсы}
igor@0: \subsubsection{Документация}
igor@0: Русскоязычная:
igor@0: \begin{itemize}
igor@0: \item Руководство пользователя Xen
igor@0: \item XenFaq — часто задаваемые вопросы по Xen
igor@0: \item man-страницы:
igor@0: \begin{itemize}
igor@0: \item man xm
igor@0: \item man xmdomain.cfg
igor@0: \end{itemize}
igor@0: \end{itemize}
igor@0:
igor@0: Англоязычная:
igor@0: \begin{itemize}
igor@0: \item The Xen™ virtual machine monitor (англ.) — сборник документации на сайте Кембриджского университета
igor@0: \item Xen users\rq{} manual (англ.) — для пользователей и администраторов
igor@0: \item Xen Interface manual (англ.) — для разработчиков
igor@0: \item Xen Wiki (англ.)
igor@0: \item XenFaq (англ.)
igor@0: \end{itemize}
igor@0:
igor@0: Немецкоязычная:
igor@0: \begin{itemize}
igor@0: \item http://www.pug.org/index.php/Xen-Installation (нем.)
igor@0: \end{itemize}
igor@0:
igor@0: \subsubsection{Другие интернет-ресурсы}
igor@0: \begin{itemize}
igor@0: \item Xen (англ.) и Xen (рус.) на wikipedia.org — статьи о Xen на Wikipedia
igor@0: \end{itemize}
igor@0:
igor@0: \subsubsection{Списки рассылки}
igor@0: Существуют несколько списков рассылки, посвящёных Xen. Наиболее важные из них перечислены ниже.
igor@0: Официальная страница списков рассылки и информация о подписке на них находится здесь:
igor@0: - http://lists.xensource.com/
igor@0:
igor@0: Поиск в архивах (и некоторый статистический анализ)
igor@0: можно выполнять с помощью MarkMail:
igor@0: - http://xen.markmail.org/
igor@0:
igor@0:
igor@0: - xen-devel@lists.xensource.com
igor@0:
- Обсуждение разработки и ошибок. Подписка здесь: http://lists.xensource.com/xen-devel
igor@0:
- xen-users@lists.xensource.com
igor@0:
- Обсуждение инсталляции и использования. Подписка здесь: http://lists.xensource.com/xen-users
igor@0:
- xen-announce@lists.xensource.com
igor@0:
- Используется только для анонсов. Подписка здесь: http://lists.xensource.com/xen-announce
igor@0:
- xen-changelog@lists.xensource.com
igor@0:
- Лента Changelog для веток unstable и 2.0 -- ориентирован на разработчиков. Подписка здесь: http://lists.xensource.com/xen-changelog
igor@0:
igor@0:
igor@0: \subsubsection{Книги}
igor@0: \begin{itemize}
igor@0: \item The Definitive Guide to the Xen Hypervisor (англ.) — наиболее серьёзная книга о \textit{внутреннем устройстве Xen}
igor@0: \end{itemize}
igor@0: