Технологии виртуализации вчера, сегодня, завтра

       

Другие подходы к виртуализации. Виртуальная машина Xen


Проект Xen (произносится как «Зен») - пожалуй, самый динамично развивающийся и современный пакет виртуализационного ПО, яркий пример того, на что, при соответствующей поддержке, способно сообщество Open Source. Начатый Кэмбриджским университетом как открытая реализация относительно несложной технологии паравиртуализации, Xen вскоре стал одним из наиболее популярных виртуализационных проектов, и получил богатейшую функциональность, включающую в себя систему обеспечения взаимной безопасности виртуальных машин, систему управления их ресурсами, систему обеспечения «гарантированного уровня обслуживания» (Quality of Service, QoS), систему «незаметной миграции» (за 50-300 мс возможно «перебросить» работающую виртуальную систему с одного физического компьютера на другой), и многое другое. Как и любое другое ПО, реализующее технологию паравиртуализации, Xen выступал в качестве прослойки между операционными системами и физическим оборудованием, и требовал, чтобы операционная система была адаптирована к работе не с реальным «железом», а с этой виртуализационной прослойкой. Соответствующие патчи, обеспечивающие необходимую поддержку для Xen со стороны операционной системы были разработаны для Linux, FreeBSD, NetBSD и экзотической Plan 9, и многие крупные вендоры включили эту поддержку, вместе с самим Xen, в свои дистрибутивы соответствующих операционных систем. И всё это - за два года, с 2003 по 2005 год!

Следующий этап развития проекта был связан с именем Intel, решившей использовать Xen в качестве основного «популяризатора» своей технологии виртуализации VT. Разработчики Intel дописали для Xen соответствующий модуль, обеспечивающий сопряжение на VT-совместимых процессорах произвольной ОС с внутренним интерфейсом Xen. Модуль был включен в общий проект, и таким образом Xen «неожиданно» обрёл способность работать с произвольными операционными системами - благо, что вся необходимая для этого инфраструктура в проекте уже присутствовала.
AMD, тоже не осталась в стороне, от данного вопроса, и к настоящему моменту Xen получил экспериментальную поддержку и технологии аппаратной виртуализации Pacifica, еще не «включённой» ни в одном из продаваемых ныне процессоров AMD, но зато более современной и более удобной с точки зрения реализации. А поскольку «родительской» операционной системы для Xen не требуется, то вот так, в одночасье, из игрушки сообщества Open Source, этот проект превратился в бесплатный универсальный менеджер виртуальных машин для новейших процессоров AMD и Intel, пригодный для использования широким кругом пользователей. Скорее всего, благодаря активной поддержке обоих «грандов процессоростроения», именно Xen, а не продукция Microsoft или VMWare, ляжет в основу будущего стандарта на VMM и станет «традиционным выбором пользователей». К сожалению, случится это, похоже, в сравнительно отдалённом будущем, ибо установить, настроить, и заставить как-то работать Xen прямо сейчас сможет, боюсь, далеко не каждый даже довольно опытный пользователь.

Технические характеристики Xen выглядят следующим образом: поддерживаются все специально адаптированные к Xen операционные системы, либо любые x86-совместимые операционные системы (Itanium-совместимые - в стадии бета-версии Xen) при наличии средств аппаратной поддержки виртуализации (Intel VT-x «Vanderpool» / AMD SVM «Pacifica»). На момент написания статьи (Xen 3) для установки Xen-а требовалось наличие работающей версии Linux с загрузчиком GRUB, а конфигурация проводилась ручной правкой конфигурационных файлов; причём Xen включал в себя самостоятельное ядро Linux, загружаемое в этой «родной» системе взамен основного, что, к примеру, могло потребовать перекомпиляции для этого ядра имеющихся в системе модулей LKM. Для дистрибутивов, в которые Xen изначально был включён, особой проблемы подобное своеобразие установки не создаст (в SuSe Linux Professional 10 управление Xen-ом было даже включено в графическую утилиту YAST Control Center), всем остальным - придётся дожидаться выхода соответствующих пригодных к использованию обычным пользователем пакетов.Правда, к сожалению, даже тогда всерьез запустить на платформе Xen операционную систему MS Windows удастся лишь с большим скрипом - предоставляемые Xen возможности по имитированию оборудования виртуального компьютера сегодня, мягко говоря, недоразвиты, а работать по сетевому протоколу из-под Linux с запущенной где-то там, в глубинах компьютера, MS Windows, доступной разве что в виде виртуального сетевого хоста, на котором из «железа» присутствует лишь жёсткий диск, процессор, оперативная память, да сетевая карточка, задача не из тривиальных. Юниксоида такой набор устроит вполне, «домашнего пользователя» - вряд ли.

Однако это вряд ли сильно помешает светлому будущему Xen: с драйверами Intel и AMD проекту наверняка поспособствуют, а появление удобного для конечного пользователя дистрибутива, устанавливаемого на «голую» или даже уже работающую машину - это лишь вопрос времени. Подождём ближе к концу 2006 года Xen версии 4?


Содержание раздела