Эффективность центров обработки данных далека от идеальной. Часто используется слишком большое количество серверов, поскольку каждое устройство выполняет одно-единственное приложение или предоставляет одну-единственную услугу. Такая концепция неэкономична, прежде всего в связи с низкой нагрузкой на машины. Решение этой проблемы предлагает технология виртуализации. Благодаря ей предприятия смогут разделить ресурсы своих компьютерных систем и, с одной стороны, сократить свой серверный парк, а с другой — повысить загруженность серверных ресурсов до 80%. Кроме того, это позволит предприятиям упростить систему управления и снизить стоимость лицензий. Виртуализация может проводиться двумя путями: программная (с помощью продуктов VMware, Microsoft Virtual Server или Xen) и аппаратная — на базе технологии виртуализации Intel.

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

В случае этого варианта виртуализации на сервере создаются так называемые виртуальные машины. Каждая из них представляет собой программную конструкцию, предлагающую функциональный эквивалент сервера. Таким образом, виртуальная машина обладает теми же компонентами, что и сервер: процессором, слотами, сетевыми картами, жесткими дисками и т. д. — но все это в «виртуальном» виде, эмулируемом программным обеспечением.

Для реализации виртуальных машин используется одно из двух проверенных решений: ESX Server разработки VMware и Microsoft Virtual Server 2005. В случае ESX Server уровень виртуализации для создания виртуальных машин устанавливается непосредственно на аппаратное обеспечение. Каждая виртуальная машина имеет собственную операционную систему, приложения и услуги. Поскольку такие машины изолированы друг от друга, на одном и том же сервере могут параллельно работать разные приложения и операционные системы. Но это не все: любую виртуальную машину можно останавливать и запускать без нанесения вреда другим виртуальным машинам. Каждое приложение работает на собственной виртуальной машине, поэтому пользователь, внося соответствующие исправления и обновления, не помешает работе других приложений.

Кроме того, администраторы могут перемещать виртуальные машины с одного сервера на другой без каких-либо задержек — данная операция выполняется без прерывания работы. Перемещение виртуальных машин в целях балансировки нагрузки или для проведения обслуживания не скажется на работе пользователей с нужными им приложениями, установленными на виртуальных машинах. Преимущество виртуализации с помощью ESX Server заключается в том, что доступ со стороны виртуальных машин к аппаратному обеспечению обычно только обозначается, что ведет к увеличению производительности.

Рисунок 1. Эволюция моделей программирования: сначала приложения выполнялись на аппаратном обеспечении (слева). В современной модели (в середине) осталась лишь зависимость от операционной системы. Следующая модель программирования (справа) отделит приложения и операционную систему от аппаратного обеспечения. Связь с аппаратным обеспечением реализуется при помощи уровня виртуализации.
Уровень виртуализации для MS Virtual Server 2005 состоит из комбинации общей операционной системы (Microsoft Windows) и приложения виртуализации. Поскольку для них доступны все услуги хоста, этот вариант обеспечивает очень хорошую совместимость с имеющейся аппаратной инфраструктурой.

Бесперебойная работа гостевых систем поддерживается благодаря наличию многочисленных виртуальных устройств. В качестве коммуникационных интерфейсов служат последовательные и параллельные порты. Включение их в локальную сеть происходит при помощи виртуальных адаптеров Ethernet, которые используются не только для обмена данными с существующей сетью, но и для коммуникации между двумя виртуальными машинами.

Областью применения решения Microsoft является предоставление виртуальных машин Windows. Сначала создается виртуальная машина, а затем настраивается новая операционная система. Для миграции имеющихся серверов, к примеру на серверный модуль, Microsoft выпускает соответствующий инструментарий: он упаковывает сервер Windows в образ на жестком диске, который после этого импортируется в Virtual Server 2005. Данную процедуру поддерживают Windows 2000 Server, Windows 2000 Advanced Server, Windows Server 2003, а также Windows Server 2003 Enterprise Edition.

Технология виртуализации Xen с открытым исходным кодом не имитирует все аппаратное обеспечение с виртуальной графической картой, жестким диском и сетевыми адаптерами, а предлагает для этих функций ввода/вывода настоящий программный интерфейс (Application Programming Interface, API). Через эти интерфейсы гостевая система гораздо эффективнее обменивается данными. Таким образом, Xen позволяет запускать несколько гостевых операционных систем с высокой скоростью и максимальным уровнем изоляции, чего невозможно добиться при ином подходе. Многие современные дистрибутивы Linux изначально содержат Xen. Кроме того, это решение поддерживает несколько процессоров на гостевую систему, а также 64-разрядные операционные системы. Заметим, что XEN работает корректно только с технологией виртуализации Intel, в противном случае на ядро необходимо установить исправление.

АППАРАТНАЯ ВИРТУАЛИЗАЦИЯ

Сегодня уж нет необходимости эмулировать виртуальные машины программным образом, как это свойственно для классических методов виртуализации при помощи VMware, Xen или Virtual Server. Новая технология виртуализации Intel предоставляет команды процессора, что заметно ускоряет выполнение виртуализации.

На одной части корпоративного персонального компьютера или сервера могут выполняться службы управления или обеспечения безопасности, не причиняя неудобства пользователям. Кроме того, при этом обеспечивается более высокий уровень защиты от вирусов и червей, поскольку сетевой трафик фильтруется через отдельный раздел еще до того, как данные достигают приложений. Заметно упрощается и администрирование: привычные приложения остаются доступными в любой момент — даже в процессе тестирования и внедрения новых системных сред. В настоящее время Intel интегрирует свою технологию виртуализации во все серверные платформы и, кроме того, поддерживает VMware ESX Server 3.0, MS Virtual Server 2005 и Xen.

Аппаратные технологии являются идеальным дополнением к программной виртуализации. Последняя оправдывает себя в любом случае, но особенной ценностью она обладает в случае консолидации, стандартизации и тиражирования серверов. Консолидация означает, что несколько физических серверов будут работать в качестве логических виртуальных машин на одной системе. Важный эффект заключается в экономии места, а также в необходимости администрировать лишь один сервер вместо нескольких.

Петер Дюмиг — системный консультант, сотрудник компании Dell.


© AWi Verlag


Два метода виртуализации серверов: уровень виртуализации как собственная операционная система (слева) и уровень виртуализации как приложение хостовой операционной системы (справа).