Подписаться  на наше издание быстро и дешевле чем где-либо Вы можете прямо сейчас! Подписаться! 

 

 

ОТКРЫТЫЕ СИСТЕМЫ все больше проникают во все сферы вычислений, даже в такие сложные, как виртуализация вычислительных ресурсов. Вот и VMWARE начала сдавать свои лидирующие позиции. Причина — появление нового продукта с открытым кодом — Xen.

 

СРАЗУ СТОИТ СКАЗАТЬ, что виртуальная машина Xen пока не предназначена для установки операционных систем компании Microsoft. Теоретически они там функционируют, есть работающий прототип загружающейся системы, но это пока происходит только в лабораториях Xen Source. И, естественно, конечный продукт будет коммерческим. Главная сложность заключается во фразе: "Код ОС должен быть модифицирован для работы с Xen". Правда, можно не модифицировать код, а использовать аппаратные возможности процессора, такие как Intel VT.


Таким образом, по сути, есть три опции: Microsoft VirtualPC для систем WOW (старый термин на новый лад — Windows On Windows), Xen для UOU, то есть то же самое для Unix-подобных систем, а также VMWARE для других вариантов. Это, конечно, не совсем соответствует действительности, — на момент приобретения компанией Microsoft продукта VirtualPC он успешно работал также с Linux и BSD Unix, так что не меняя ни строки кода, приставка MS вряд ли на что-то повлияла. В документации даже упоминаются "возможно, и другие операционные системы". То же самое можно отнести и к Xen: как известно, Открытые Системы для того и существуют, чтобы любая потенциальная идея становилась реальностью. А запуск MS Windows для Xen и есть такой потенциальной идеей, так что ждать осталось недолго.

 

Вообще существует такое понятие, как "поддержка", которое подразумевает сотни часов тестирования, проверки на совместимость с сотнями приложений и так далее. Так вот, никакой гарантированной совместимости Xen и Microsoft Windows пока нет: например, загрузочный код даже самых последних версий MS Windows является 16-битным, и его приходится эмулировать в 32- и 64-битных защищенных режимах Xen. Ко всему прочему, Windows Server 2003 обладает весьма "сложным характером", так что даже VMWARE далеко не сразу смогла запустить эту систему в несобственном режиме.

 

Пресс-релиз глазами правдоискателя


На самом деле, надуманного в пресс-релизе совсем немного: Xen действительно является уникальной технологией с открытым кодом. Она разработана инженерами из более чем двадцати ведущих исследовательских центров, включая Intel, AMD, Cisco, Dell, Egenera, HP, IBM, Mellanox, Network Alliance, Novell, Red Hat, SGI, Sun, Unisys, Veritas, Voltaire и, "конечно, XеnSource".


Немного удивляет  большое количество очевидных истин: "однажды созданный, образ виртуальной машины может работать на любом сервере, притом несколько ВМ могут работать на одном сервере". Ну, так это само собой разумеется. Уровень абстракции хардвера называется "гипервизором" – сразу вспоминается "супервизор" в подобной роли на суперкомпьютерах IBM. Вообще-то новая приставка не выглядит оправданной: "супер", "гипер" – суть мало меняется. Явным промоушном выглядит характеристика "самый быстрый и самый безопасный", хотя при отсутствии реальной продукции в данном секторе с этим можно согласиться.


Также не совсем понятно выражение "накладные расходы в десять раз меньше, чем у проприетарного ПО, и составляют не более 5% против 35% у других технологий виртуализации". Все это называется "паравиртуализация" – опять какое-то сложное слово.


Что касается полезных пунктов, то здесь можно назвать поддержку до 32-канального SMP, поддержку аппаратных технологий виртуализации Intel VT-x и AMD Pacifica, поддержку расширения PAE для 32-битных серверов (это когда памяти больше 4 Гб, а ПО столько не поддерживает, то есть трансляция адресных пространств). Особым пунктом идет "реальный контроль и гарантия предоставления выделенных ресурсов". Размер кода – около 50 000 строк, что сопоставимо с каким-то средним приложением. Более того, даже драйверы для Linux используются максимально эффективно: это не последняя причина эффективности. Также предусмотрено "горячее перемещение".


Наконец, хотя продукт и имеет коммерческого VAR-близнеца, очень отрадным является тот факт, что система безопасности, как это часто бывает, не имеет секретности и открыто исследуется мировым сообществом хакеров.

 

Внутренний мир Xen


Важное свойство Xen – это уровень, на котором он работает, а именно уровень эмуляции хардвера. По сути, Xen не эмулирует хардверные прерывания и порты в системные вызовы, как происходит в VMWARE Desktop Edition, а наоборот, мультиплексирует доступ к устройствам. Но делается это не под драйверами, как можно было подумать. Ведь очень сложно работать под драйверами в защищенном режиме, когда каждый драйвер надеется, что устройство хранит состояние, которое он установил. К тому же "перепрошивка" аппаратных устройств при смене контекста, то есть сохранение и восстановление состояния, не имеет общего решения, не эффективна и не переносится между платформами.


Чтобы отчасти решить проблему состояния устройств, обычная ВМ вынуждена патчить ядро ОС при загрузке, чтобы исключить код доступа к устройствам. Такой способ, применяемый другими ВМ, поглощает до 50% вычислительных ресурсов: если средняя нагрузка на сервер составляет 15%, и мы хотели бы утилизировать остальные 85%, то после "удачной" виртуализации этих процентов просто не останется. Конечно, ВМ не будет показывать накладные расходы, индикатор загрузки продемонстриурет 100%, и все будет хорошо. Прибавьте к этому еще стоимость самого ПО виртуализации...


А в Xen как раз используется "паравиртуализация" – система коллаборации Xen и ядра ОС, чтобы Xen мог использовать драйверы для доступа к устройствам, но при этом доступ был мультиплексирован для каждой "гостящей" системы. Гипервизор выглядит как один из драйверов, то есть работает в адресном пространстве каждого ядра, так что никакого переключения контекста не происходит, нет никаких вызовов API – Xen перехватывает управление устройствами. Перехват не происходит методом "хака", просто Xen предоставляет "гипер API", а система должна использовать модифицированные драйверы для вызова этого API.


Впрочем, Xen может использовать другой путь: если вы применяете Intel VT-x процессор или AMD c поддержкой Pacifica, Xen может управлять процессором и памятью с помощью этих интерейсов, и таким образом взаимодействовать с немодифицированными драйверами. Кстати, обе технологии разрабатывались в контакте с XenSource, так что Xen поддерживает их, или они поддерживают Xen – уже даже сложно сказать. Большой производительности при такой "железной" виртуализации не будет, но зато это "честный" метод, применяемый, например, и для MS Windows без модификации кода.


Аналогично обстоит дело и с драйверами других устройств: вместо того, чтобы притворяться каким-то существующим устройством, как делают некоторые ВМ, Xen представляется сам собой и просит каждую ОС иметь при себе соответствующий драйвер. Именно здесь и проявляется разница: для Linux, BSD Unix и Plan9 такие драйверы есть, а для остальных – науке не известно.

 

Установка или инсталляция?


Вообще-то установку Xen сложно назвать инсталляцией, лучше назвать это "развертыванием" или каким-то другим словом. А все потому, что вы должны пропатчить ОС, изменить загрузочные скрипты, модифицировать драйверы. Правда, есть очень простой вариант – демо-CD, с которого вы загружаетесь. Тогда не надо ничего инсталлировать и можно проверить свою систему на предмет соответствия поддерживаемого хардвера.


Другой вариант – это действительная установка на существующую систему.  Для этого есть тоже несколько вариантов, и самый простой из них – скачать скрипты, которые исследуют вашу систему и в зависимости от ее  конфигурации поставят недостающие пакеты. Официально поддерживаются Fedora Core 4 и Red Hat Enterprise Linux. Лучше всего устанавливать Xen  на FC4 – тогда все недостающие пакеты будут "затянуты" с помощью yum. А вот в случае с RHEL вы просто получите список недостающих пакетов, и вам придется их ставить руками.


Если вы – корпоративный пользователь, платящий за Linux, то для вас существуют версии RHEL и Novell SUSE, на которых Xen уже установлен. Кроме того, есть фришные тарболы для SLES 9.4, RHEL 4.1 и FC4. В процессе инсталляции будет установлена дружественная Xen версия libc, обновлены некоторые другие пакеты, ядро будет перестроено в XenLinux, будет создан initrd и обновлены меню GRUB, чтобы новое ядро стало выбором по умолчанию. Как вы понимаете, если что-то пойдет не так, вам придется восстанавливать систему вручную: деинсталлер работает только для хорошо установленного Xen'а.


Наконец, последняя опция – тест-CD. Это тот аварийный вариант, который вы должны использовать, если ничего другого на вашей системе не работает. Не то чтобы после этого что-то заработало, но вы хоть получите вразумительные объяснения. Мы инсталлировали на FC4 через yum, так что никаких Xen-специфических сложностей не встретили. Можно констатировать, что yum закачал такие пакеты:

 

xen   i386   3.0.0-7.1_fc4   XenSource 1.9 M
xen-kernel   i686   2.6.12-xen3_7.1_fc4  XenSource 18 M
Installing for dependencies:
bridge-utils  i386   1.0.4-6   base  26 k
sysfsutils  i386   1.2.0-4   base    58 k

 

Что касается глюков самого yum, то это иллюстрация принципа "Отличная идея – плохая реализация". Эта программа использует  метод закачки URLGrabber(). Закачка происходит в /usr/lib/python2.4/site-packages/yum/ repos.py в методах Repository:SetupGrub() для закачки каталогов репозитерия и в методе Repository:get() для закачки самих RPM. Вообще говоря, метод не так безнадежен, как настройки по умолчанию: в файле конфигурации стоит всего шесть "ретри эттэмпс", и тайм-аут по умолчанию – 30 секунд, что работает только на совершенно чистой линии. Любая сетевая активность тут же приведет к ошибке закачки.


И это было бы нормально, если бы искомые файлы находились на нескольких серверах, но Xen находится только на одном, что делает закачку в таких условиях почти невозможной. Лучше в файле /etc/yum.conf установить пареметр retries=0, что обозначает try forever, а также поставить timeout=1000, чтобы "попытка" была достаточно репрезентативной, длиной в шестнадцать минут. После этого yum станет работать как следует (вообще, а не только в данном случае), и Xen окажется на вашем компьютере. Далее, как и было обещано, система перезагружается, и можно говорить о первых впечатлениях.

 

Первые впечатления


Итак, первый и главный совет: когда инсталлятор предложит вам перезагрузиться, откажитесь немедленно. После этого отредактируйте grub.conf, где поставьте тайм-аут на 30 секунд и ваше старое ядро по умолчанию. Кстати, было бы очень корректно со стороны Xen Source делать именно так по умолчанию во время инсталляции. Причина проста: после перезагрузки вы можете потерять какой-то очень критичный ресурс. Например, мы на ноутбуке в первый раз не обнаружили клавиатуры для KDE, а это поставило под большой вопрос редактирование grub.conf. Также мы не обнаружили и своей звуковой карты, но это уже не было так критично. Нормально виртуализировались процессор, память, диски, USB-устройства, в том числе хот-плаг. Без особых проблем поднялась и сеть, если не считать 30-секундной задержки при загрузке Bridged Networking.


Когда вы будете создавать новые виртуальные машины, они будут присоединятьcя к dom0 через vifX. Сетевые виртуальные интерфейсы dom0 называются vethX, и их по умолчанию восемь штук – кто знаком c VMWARE, разберется. "Иксы" стартовали тоже успешно, хотя и не спешно: на нашей весьма умеренной конфигурации ноутбука, а именно PIII-850MHz и 256 Мб, при перемещении мыши и других операциях, таких, как копирование и вставка, были заметны явные торможения. В общем, субъективно время загрузки возросло в два раза, а скорость интерактивной работы упала раза в полтора, а никак не на 5%.


Впрочем, возможно, это не касается работы вычислительных приложений: как уже было сказано, сложные тесты в наши планы не входили. Преимуществом можно назвать то, что установленные Xen'ом библиотеки libc не помешали работать старой системе. А вот недостатком является большое сообщение об использовании tls, которое вы увидите при загрузке ядра Xen. Рекомендация переименовать /lib/tls в /lib/tls.disabled эффекта не возымела. На этом, то есть на запуске dom0, наш эксперимент и закончился: установка гостевых систем с урезанным ядром была невозможна по причине отсутствия дискового пространства. Да и перестроение минимального ядра не вписывалось в ресурсы.


Обратите внимание, что далеко не все версии, даже Linux, могут выступать в качестве dom0, то есть первой загружаемой системы. Мы уже говорили об "условной поддержке" MS Windows, но и другие системы не очень предназначены для dom0: понять соотношение поможет таблица на сайте wiki.xensource.com/xenwiki/OSCompatibility.


Собственно, ясно одно: Xen 3.0 еще далеко не готовый продукт, но находится в стадии активной разработки. В сети вы найдете еще огромное количество дискуссий, в частности, на тему защиты частного пространства виртуальных машин.  Поддержка известных компаний является, конечно, хорошим гарантом, но вполне вероятно, что, сыграв на повышение, Xen Source скоро окажется в составе RHEL или Novell. В любом случае, технология интересная, открытая, частично работающая и частично полезная. А главное – бесплатная и доступная.

2006.04.28
19.03.2009
В IV квартале 2008 г. украинский рынок серверов по сравнению с аналогичным периодом прошлого года сократился в денежном выражении на 34% – до $30 млн (в ценах для конечных пользователей), а за весь календарный год – более чем на 5%, до 132 млн долл.


12.03.2009
4 марта в Киеве компания Telco провела конференцию "Инновационные телекоммуникации", посвященную новым эффективным телекоммуникационным технологиям для решения задач современного бизнеса.


05.03.2009
25 февраля в Киеве компания IBM, при информационной поддержке "1С" и Canonical, провела конференцию "Как сохранить деньги в условиях кризиса?"


26.02.2009
18-19 февраля в Киеве прошел юбилейный съезд ИТ-директоров Украины. Участниками данного мероприятия стали ИТ-директора, ИТ-менеджеры, поставщики ИТ-решений из Киева, Николаева, Днепропетровска, Чернигова и других городов Украины...


19.02.2009
10 февраля в Киеве состоялась пресс-конференция, посвященная итогам деятельности компании "DiaWest – Комп’ютерний світ" в 2008 году.


12.02.2009
С 5 февраля 2009 г. в Киеве начали работу учебные курсы по использованию услуг "электронного предприятия/ учреждения" на базе сети информационно-маркетинговых центров (ИМЦ).


04.02.2009
29 января 2009 года в редакции еженедельника "Computer World/Украина" состоялось награждение победителей акции "Оформи подписку – получи приз!".


29.01.2009
22 января в Киеве компания "МУК" и представительство компании Cisco в Украине провели семинар для партнеров "Обзор продуктов и решений Cisco Small Business"

 

 
 
Copyright © 1997-2008 ИД "Комиздат".