Хозяева виртуальных ПК

Технологии, позволяющие создать из одного компьютера несколько аппаратно-программных пространств, в которых могут независимо выполняться несколько операционных систем, издавна привлекали компьютерных инженеров. Уж очень много выгод это сулит. Для серверов это означает сразу несколько достижений. С точки зрения безопасности мы получаем возможность на одном физическом сервере создать два, а то и три виртуальных сервера. И даже если хакеру удастся взломать один из них, то он не получит доступа к другим, а значит, не будут скомпрометированы сервисы, работающие в этих программных окружениях. Возможен выигрыш и в эффективности использования процессорных ресурсов.

Известно, что простои - это бич современных CPU. И все из-за несовершенства программного кода, который, по сути, до сих пор является x86-ориентированным и игнорирует прогрессивные возможности многопоточности. Запуская на одном процессоре (или нескольких, что неважно) две операционные системы, можно не беспокоиться о рациональности выполняемого кода - виртуальная машина сама решит, как нагрузить процессор (пока следует говорить именно о возможности, поскольку сами программы виртуализации на сегодняшний день очень несовершенны и вместо того, чтобы оптимизировать расход аппаратных ресурсов, растрачивают их). Еще одна привлекательная сторона виртуализации состоит в возможности запуска на сервере различных ОС, например, Windows и Linux. Это означает, что нет необходимости приобретать два аппаратных сервера, если возникла необходимость выполнения сервисов на разных программных платформах.

Интересно рассмотреть, как обстоят дела по внедрению виртуализации сегодня. Если еще недавно данная технология реализовывалась исключительно программно, то недавно производители процессоров решили подключиться к делу.

VMWare

Данный программный продукт является классикой жанра и уже давно используется разработчиками для тестирования работы своих продуктов в различных средах. VMWare представляет собой программный эмулятор аппаратной части компьютера, по сути, это операционная система, работающая ближе к "железу", чем запускаемые ею ОС. Этот эмулятор использует прямое выполнение кода на процессоре, если это возможно. Если нет, то будет использована динамическая рекомпиляция кода. Гостевые операционные системы, так же как и в стандартной ситуации, требуют установки драйверов, хотя работают в кольце приложений (user-mode) микропроцессора IA-32.

Считается, что VMWare может обеспечить 80% эффективности выполнения производительности, по сравнению с их обычной работой. Сама компания утверждает, что ее продукт лишь на 5-6% замедляет работу компьютера. Основные трудности при эмуляции аппаратного обеспечения состоят в предоставлении совместного доступа гостевых ОС к совместным ресурсам - портам, памяти, периферии. Также невозможно напрямую выполнять код ядра операционной системы на уроне кольца приложений, поэтому VMWare оперативно модифицирует выполняемые инструкции так, чтобы ядро ОС могло получить доступ к системному контексту.

Сегодня данный продукт является одним из самых популярных средств виртуализации работы серверов, и с ним конкурирует разве что Microsoft Virtual Server. Вместе с тем, VMWare заручилась поддержкой многих производителей ОС - Microsoft, RedHat, Novell и др.

Xen

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

Данное решение принято называть гипервизором, он занимается мультиплексированием ресурсов компьютера. То есть драйверам не приходиться бороться за общие устройства, каждый из них получает свою копию требуемого ему ресурса. В этом случае отпадает необходимость в трудоемких процессах запоминания и восстановления контекста драйвера. Ключевым моментом виртуализации с помощью Xen есть поддержка со стороны ОС. В этом плане обнадеживает то, что проект разрабатывается совместно с ведущими производителями -  Intel, AMD, HP, IBM, Novell, Red Hat, Sun и др.

Как видно, в этом ряду не хватает Microsoft. Это и понятно, ведь софтверный гигант сам производит средства виртуализации, а переделывать ядро Windows — дело неблагодарное. Но ведь без возможности запуска самой популярной ОС интерес к Xen теряется больше чем на половину. К счастью, с внедрением поддержки виртуализации в процессоры, работа Xen с Windows стала возможной независимо от желания Microsoft.

Intel VT

Сложности реализации виртуализации на программном уровне вынудили гиганта компьютерной индустрии компанию Intel попробовать решить проблему кардинально. В результате была создана Intel Virtualization Technology, которая в своей основе имеет специальный модуль VMM - Virtual Machine Monitor. По сути, данный модуль — это очень маленькая программа, которая имеет исключительные привилегии. Сам процессор взаимодействует с этим модулем в тот момент, когда возникают события, определяющие состояние ОС. В этом случае процессор сообщает о случившемся VMM и ждет от него дальнейших указаний. Основную же работу по урегулированию взаимоотношений параллельно работающих операционных систем берет на себя VMM. Так, например, он произведет подмену таблицы виртуальной памяти, прежде чем процессор предоставит ОС запрашиваемую страницу памяти. Когда событие обработано, то модуль опять вернет управление CPU. Данная технология позволяет поделить компьютер между операционными системами независимо от их желания.

На сегодня о поддержке VT заявило множество разработчиков: VMware, Microsoft, XenSource и др. Но особая дружба сложилась у этой аппаратной виртуализации с открытым проектом XenSource. Уже сегодня есть практика запуска Linux и Windows под Xen на компьютерах с процессорами, поддерживающими Intel VT.

AMD Pacifica

Так уж получается, что все события, связанные с AMD, происходят в тени ее конкурента. С другой стороны, разработчики всегда со страхом воспринимали различные инициативы лидеров производства CPU, поскольку это практически всегда означало войну форматов, технологий, платформ. Все вышесказанное относится и к реализации виртуализации. В нашем случае AMD пошла тем же путем, что и Intel, но сделала все проще и лучше. Pacific имеет дружественный для программистов интерфейс, а также несколько выигрышных по сравнению с Intel VT моментов. Так, например, в ней не производится трудоемкая подмена таблиц виртуальной памяти. Вместо этого используется вложенность таблиц - ведь на самом деле физический адрес в логический преобразовывает сам процессор. Еще более оптимизирует работу с виртуальной памятью прием, называемый тегированным кэшем трансляции адресов. Он позволяет один раз вычислить соответствие линейной и физической памяти, запомнить его и использовать несколько раз, пока не возникнет необходимость обнулить все значения системного контекста.

Виртуализация - это веяние времени. Очень долго индустрия компьютеров была привязана к архитектуре x86. Только в последнее время наблюдается попытка перевести процессоры на новый принцип работы. Если это удастся, то для разработчиков программ и системных инженеров откроется возможность более эффективного использования ресурсов компьютера с помощью виртуализации.

— Николай Ткаченко

2006.11.06
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 ИД "Комиздат".