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: