Решения виртуализации стали чрезвычайно актуальной темой: сведения о новых продуктах и услугах в этой области поступают со всех сторон: после серверов и систем хранения производители занялись виртуализацией рабочего стола. Однако, как и прежде, в результате использования новой технологии самые значительные изменения происходят с серверами. Целые центры обработки данных проверяются на пригодность для превращения в «виртуальные машины» (см. Ри-сунок 1), а производители пытаются превзойти друг друга в перечислении преимуществ и потенциала экономии своих решений.

Рисунок 2. Быстрое развитие: виртуализация получила всеобщее признание и берет на себя все больше задач.

Рекламные преувеличения присутствуют всегда, но даже при максимально реалистичном подходе к этому вопросу виртуализация очень выгодна предприятиям. Повышение эффективности использования процессора, облегчение управления виртуальными машинами по сравнению с физическими, открывающиеся возможности в плане избыточности —все это, безусловно, чрезвычайно привлекательно и находит отражение на рынке. В частности, по данным Gartner, в конце 2006 г. количество виртуальных машин в мире составляло 540 тыс., а в 2009 г. аналитики прогнозируют увеличение их числа до более чем 4 млн. И все-таки, добавляют они, речь идет лишь о незначительной доле потенциального рынка.

МНЕ ДОЛЮ РЫНКА, И ПОБОЛЬШЕ!

Лихорадочная спешка, с которой производители скупают компании, технологии и продукты, свидетельствует о том, что они оценили перспективы виртуализации. После первичного публичного размещения на бирже лидер рынка компания VMware стала стоить 64 млрд долларов, а Citrix завершила сделку стоимостью 0,5 млрд долларов и приобрела другого серьезного игрока — XenSource. Теперь на относительно молодом рынке идет ожесточенная борьба за лучшие исходные позиции. Оба производителя пока выигрывают от пассивности Microsoft, чьи продукты для виртуализации — Virtual Server и Virtual PC — распространяются бесплатно и являются своего рода «фиговыми листочками», временно заменяющими «настоящее» решение для виртуализации (под кодовым названием Viridian). Viridian изначально рассматривался как элемент Windows Server 2008, однако в полном объеме это решение будет доступно лишь в пакете обновлений серверной операционной системы.

Собственно, мы уже назвали почти всех самых значимых производителей. Сюда следует добавить Virtual Iron, чье решение виртуализации базируется на Xen, а также SWsoft и Parallels. Две последние компании занимаются приблизительно одним и тем же. SWsoft предлагает коммерческий продукт Virtuozzo, который особо интересен для масштабных сред в сфере провайдерских услуг и хостинга. Существует также версия этого решения с открытыми исходными кодами — OpenVZ. SWsoft принадлежит также контрольный пакет акций Parallels, последняя сделала себе имя благодаря своим продуктам виртуализации для Mac. Но и Parallels анонсировала выход бета-версии серверного продукта до конца 2007 г. Полная версия, появление которой ожидается в начале 2008 г., будет поддерживать Windows, Linux и MacOS X в качестве операционных систем хостов.

Однако помимо программной платформы не менее важно и аппаратное обеспечение: в прошлом году AMD и Intel выпустили процессоры x86 с поддержкой виртуализации, а Power5 Server от IBM уже давно умеет обращаться с виртуальными машинами. Новейшее поколение Itanium (двухъядерный процессор 9100) тоже включает поддержку виртуализации. К примеру, Virtuozzo 4.0 от SWsoft задействует эту функцию.

Когда речь идет о выборе наиболее подходящего решения, то сначала следует определиться с принципиально важным вопросом: какой вид виртуализации выбрать? До сих пор применялись две разновидности: полная виртуализация и паравиртуализация. В первом случае гостевая операционная система работает на полностью имитируемом виртуальном ПК. Реальные свойства хоста остаются скрытыми, виртуальный ПК оснащен типовым аппаратным обеспечением. При наличии соответствующих драйверов на хосте можно таким образом виртуализовать любую операционную систему. Главный недостаток: существенная потеря производительности, из-за чего снижется скорость работы хостов и виртуальных машин. Самые известные представители этой разновидности — VMware и Virtual PC.

Паравиртуализация предполагает наличие гипервизора — это программное обеспечение располагается под операционной системой хоста в виде тонкого уровня абстракции и распределяет ресурсы памяти и процессора. Гостевая операционная система использует большую часть системы хоста, а гипервизор заботится о разделении на отдельные процессы. Очевидный недостаток состоит в ограничении гостевых систем операционной системой хоста. Однако поддержка виртуализации (Virtualization Technology, VT) в современных процессорах, устранила этот недостаток: так, XenSource, называемый теперь Citrix XenServer, позволяет устанавливать на процессор с поддержкой VT все виды гостевых операционных систем, в том числе и Windows.

ТРИ ПУТИ К ВИРТУАЛИЗАЦИИ

В настоящее время существует и третий подход: «родная» виртуализация. Она имеет много сходства с полной виртуализацией, а важнейшее отличие заключается в том, что в соответствии с данной концепцией виртуальная машина предоставляет гостевой операционной системе только отдельные области аппаратного обеспечения хоста в виде виртуального устройства. Этой псевдосреды оказывается достаточно, чтобы обеспечить функционирование неизмененной гостевой системы даже с 32- и 64-разрядными вариантами одной и той же операционной системы. «Родная» виртуализация активно задействует поддержку VT процессоров. Virtual Iron — один из представителей указанной категории.

Тем временем все очевиднее становятся различия в двух основных подходах. С одной стороны, решения VMware Workstation или Virtual PC устанавливаются, как и любое другое приложение, на существующую операционную систему. С другой стороны, при подходе с выделенным сервером последний превращается в специализированный хост виртуализации, работающий только под управлением изолированной и модифицированной операционной системы (как, к примеру, в Citrix XenServer, Virtual Iron или VMware ESX Server). Это благоприятно сказывается на стабильности и производительности, однако таким решениям необходимы собственные драйверы для аппаратного обеспечения. Продукты на базе Xen базируются на Linux и могут использовать существующую базу кодов, тогда как VMware ESX Server в этом отношении приходится сложнее, однако, поскольку этот продукт весьма требователен к ресурсам, то палитра пригодного аппаратного обеспечения относительно узкая. Исключительный контроль над аппаратным обеспечением имеет свои преимущества: так, ESX Server предлагает множество функций подключения к сети (например, VLAN или Teaming) в собственном исполнении, поэтому для их использования гостевой системе не надо обладать ни знаниями, ни поддержкой данных функций.

Все очевиднее, что в будущем виртуализация станет использоваться намного шире (см. Рисунок 2); как следствие, производители все больше внимания уделяют сопряжению программного и аппаратного обеспечения. Так, XenServer от Citrix доступен в виде встроенной версии (XenExpress OEM Version), которая устанавливается на карте памяти или на жестком диске вместе с драйверами для аппаратного обеспечения. VMware нацеливается на ту же нишу: недавно лидер рынка представил встроенный гипервизор объемом всего 32 Мбайт. Таким образом, новое ПО помещается и на самые маленькие карты памяти или на флэш-память. Даже такие разработчики BIOS, как Phoenix, пробуют себя в виртуализации. Phoenix занимается HyperCore, монитором виртуальных машин (Virtual Machine Monitor, VMM), запускаемым непосредственно из BIOS. Благодаря этой технологии виртуализация начинается уже при загрузке компьютера, что может защитить от вредоносных программ наподобие Blue Pill, которые используют функции виртуализации для маскировки.

Рисунок 1. Множество приложений, множество ресурсов: виртуализация уже охватывает целый серверный ландшафт.

ПРОЦЕССОР — НАЧАЛО ВСЕХ НАЧАЛ

Один из главных доводов в пользу виртуализации — улучшение загрузки процессора за счет виртуальных машин, работающих на хосте. Но для этого процессор должен поддерживать требования гостевых операционных систем. Поэтому при выборе следует остановиться на процессоре AMD или Intel с поддержкой виртуализации и несколькими ядрами. Для очень масштабных сценариев применения рекомендуется модульный сервер, в иных случаях — сервер с двумя процессорами. Заранее сложно определить, сколько виртуальных машин поместится на хост. В таких приложениях, как базы данных, главная нагрузка приходится на подсистемы ввода/вывода, и самым узким местом являются интерфейсы с сетью и системами хранения. Фильтр спама и вирусов, напротив, предъявляет высокие требования к процессорам: для таких задач слишком быстрых процессоров не бывает. С помощью программного обеспечения управления профессиональные решения позволяют выделять вычислительные мощности или целые процессорные ядра отдельным виртуальным машинам. Кроме того, от вида виртуализации зависят непроизводительные потери вычислительной мощности для каждой виртуальной машины (см. Рисунок 3): у паравиртуализации она составляет менее 2% , у полной виртуализации — 15% и более.

Рисунок 3. Быстрый доступ: если решение виртуализации имеет прямой доступ к аппаратному обеспечению, то высокая производительность гарантирована.

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

Еще более существенным фактором является оперативная память хоста. Здесь правило одно: чем больше, тем лучше. Ограничениями служат только физическая емкость сервера и, как и в случае с процессорами, условия лицензионного соглашения. Часто верхний предел для виртуальных машин составляет 1 Гбайт, и лишь приобретение дополнительных лицензий обеспечивает доступ к памяти объемом свыше 1024 Мбайт.

Однако поддержка аппаратного обеспечения не заканчивается памятью и процессором. Многие пользователи заинтересованы в доступе виртуальной системы к различным подключениям, к примеру, к параллельному порту или порту USB. Это чревато проблемами даже с такими «безобидными» устройствами, как записывающий привод для оптических дисков, подключаемый через USB, и трудности обязательно возникнут, если приложениям, которые должны работать на виртуальной машине, необходимы электронные ключи-заглушки.

В РЕАЛЬНОСТИ ВСЕ ПОД КОНТРОЛЕМ

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

Производители программного обеспечения виртуализации часто предлагают собственные продукты, к примеру, компания VMware выпускает VirtualСenter. Между тем, на рынке появляется все больше «сторонних» производителей. Так, продукт VKernel в виде выделенного устройства от одноименного производителя автоматически исследует виртуальную среду и подготавливает статистику. Затем, после интеграции в VirtualСenter, пользователь может создавать отчеты об использовании лицензии и расходах на нее, о загрузке системы и других параметрах. Аналогичную информацию предоставляет и PowerRecon Virtual Infrastructure Edition от PlateSpin. Вариант PowerRecon с функциональностью управления инвентаризацией распространяется бесплатно. С помощью таких инструментов можно правильно рассчитать машинное время. Для виртуализации не действует классическая формула «один сервер, одно приложение, одно место возникновения затрат»: так называемый возврат (Chargeback) вполне может создать проблемы администраторам крупных компаний.

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

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

Для большинства программ резервного копирования виртуальная машина является ничем иным как большим открытым файлом, и ПО должно уметь обращаться с подобными файлами. Иногда для виртуальных машин доступен специальный агент резервного копирования, но это может привести к необходимости покупки лицензии у разработчика. Поддержка виртуализации будет развиваться и далее: так, Backup Exec от Symantec уже «умеет» конвертировать резервные данные реального сервера, а потом монтировать их в виде виртуальной машины: идеальное решение при полном отказе сервера.


Эльмар Торок — независимый автор.


© Awi Verlag