ОБЗОРЫ

Технологии виртуальных машин (VM) для платформы Wintel присутствуют на рынке с начала 90-х годов прошлого столетия, но до недавнего времени они были предназначены в основном для клиентских компьютеров. Однако в последние годы началось активное освоение серверных платформ VM-технологиями, нацеленными в первую очередь на решение задач обеспечения работоспособности унаследованных приложений, поддержки неоднородных вычислительных сред и оптимизации используемого оборудования.

По-видимому, за точку отсчета современного этапа развития виртуальных серверных систем для компьютеров архитектуры x86 можно принять конец 2002 г., когда лидер этого направления компания VMWare* в дополнение к своему популярному продукту VMware Workstation для настольных систем выпустила решения GSX Server для создания среды уровня отдела и коллективов разработчиков, занимающихся написанием и тестированием ПО, и ESX Server, реализующее технологию виртуальных машин для центров обработки данных.

А еще спустя несколько месяцев на поле VM-технологий для ПК появился еще один перспективный игрок - Microsoft, которая купила у компании Connectix (занимавшей вторую позицию после VMware) технологию виртуальных машин для платформ Windows и Macintosh и приняла к себе на работу ее ключевых сотрудников. В самом конце 2003-го корпорация выпустила продукт MS Virtial PC 2004 для настольных компьютеров, который пришел на смену прежнему варианту Connectix Virtual PC for Windows (см. PC Week/RE, N 48/2003, с. 27). Тогда же стало известно, что планы Microsoft предусматривают расширение сферы "виртуальных" интересов компании в направлении серверных систем (также на базе технологий Connectix).

В нынешнем сентябре эти планы стали реальностью: семейство Windows Server пополнилось еще одним членом - первым продуктом Microsoft для создания виртуальных серверных вычислительных сред, получившим название Microsoft Virtual Server 2005 (MVS). Представлен он в двух редакциях: Standard и Enterprise.

Архитектура и функциональные возможности

С архитектурной точки зрения MVS - это многопотоковое приложение, запускаемое в виде службы основной (host) ОС, в которой каждая виртуальная машина под управлением гостевой ОС работает в своем отдельном потоке (см. рис. 1). Его главным компонентом является Virtual Machine Monitor. Он обеспечивает управление виртуальными машинами и их взаимодействием с системными аппаратно-программными ресурсами. В качестве основных ОС в MVS могут применяться все редакции Windows Server 2003, а для целей тестирования - Windows XP Professional. В качестве гостевых - практически все x86-совместимые серверные ОС, но служба Microsoft Product Support Services распространяет свою поддержку только на Windows Server версий 2003, 2000 и NT 4.0 (MVS оптимизирован под работу с этими ОС). Возможное количество виртуальных машин (ВМ) на одном MVS ограничивается аппаратными возможностями компьютера, но не может быть более 64.

Рис. 1. Архитектура Microsoft Virtual Server

 

Наиболее критичный ресурс - оперативная память: MVS использует до 64 Гб ОЗУ, однако допускается его расширение за счет применения специальных средств Physical Addressing Extensions. Каждая виртуальная машина задействует до 3,6 Гб оперативной памяти и до четырех виртуальных сетевых адаптеров. MVS обеспечивает поддержку многопроцессорных систем (Standard - 4 процессора, Enterprise - 32), но отдельная BM работает пока только на одном процессоре, многопроцессорный режим обещан в следующих версиях MVS.

С позиции MVS каждая ВМ рассматривается как отдельное серверное приложение, под которое после инсталляции гостевой ОС создается собственное виртуальное программно-аппаратное окружение. Пользователь может загружать нужные ему виртуальные машины по мере необходимости, а также выгружать, запоминая их текущее состояние. Все настройки ВМ хранятся в файлах формата XML, что облегчает создание идентичных конфигураций ВМ на различных компьютерах. Следует также отметить совместимость виртуальных машин, создаваемых для настольных Virtual PC и серверных Virtual Server, хотя есть ряд нюансов, которые нужно учитывать при работе с этими двумя продуктами.

Основные спецификации продукта:

Хост-система д Основная ОС - Windows Server 2003.

- Минимальные требования к компьютеру: процессоры Celeron, Pentium III, Pentium 4, Opteron, Athlon или Duron (минимум 550 МГц, рекомендуется не менее 1 ГГц); не менее 256 Мб ОЗУ и 2 Гб дисковой памяти.

- Может использовать до 32 процессоров и до 64 Гб оперативной памяти.

Виртуальная машина д Может использовать один процессор и до 3,6 Гб оперативной памяти.

- В качестве гостевой ОС могут применяться все основные x86-совместимые серверные ОС. Система оптимизирована для работы с Windows Server версий 2003, 2000 и NT 4.0.

Поставка д Standard (поддержка до 4 процессоров) - 500 долл.

- Enterprise (до 32 процессоров) - 1000 долл.

Механизм виртуальных жестких дисков (Virtual Hard Disk, VHD) служит для создания внешней памяти виртуальной машины, которая с точки зрения хост-системы представлена в виде отдельного файла. Каждый VHD создается с помощью Virtual Server Virtual Disk Manager, используя любые устройства хранения памяти, доступные основной файловой системе компьютера, включая IDE, SCSI, RAID, SAN, NAS и пр.

Средства поддержки виртуальных сетей обеспечивают взаимодействие ВМ с внутренними и внешними сетями. Virtual Networking Manager позволяет создавать неограниченное число виртуальных сетей на базе следующих топологических схем:

- внешняя: виртуальные машины работают с физической машиной как автономные серверы и могут общаться с любыми узлами сети, включая другие ВМ, сконфигурированные во внешней сети;

- ВМ - ВМ: виртуальная машина взаимодействует с другими ВМ, расположенными на этом же компьютере, через имитируемый Ethernet и Virtual DHCP-сервер, используя передачу данных через системную память;

- ВМ - хост-система: ВМ работает напрямую с основной системой.

Администрирование MVS выполняется с помощью стандартных серверных инструментов управления, а также специализированной MVS-консоли с Web-интерфейсом - Virtual Server Administration Website (рис. 2). Программный набор COM API (42 программных интерфейса и несколько сот функций) позволяет создавать различные сценарии для автоматического развертывания и конфигурирования подключенных ВМ.

Рис. 2. Управление режимами работы виртуального сервера с помощью Virtual Server Administration Website

 

Сценарии применения

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

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

Поддержка и миграция унаследованных приложений. Чаще всего эта задача возникает при замене оборудования, когда используемое в организациях ПО нужно переносить на новые серверы, работающие под управлением современных ОС. К концу года Microsoft представит специальный набор Virtual Server Migration Toolkit для упрощения переноса приложений с физических машин на виртуальные (кандидат-релиз набора уже сейчас доступен на корпоративном сайте).

Демонстрации и изучение нового ПО. Эксперты, изучающие новые продукты (особенно в их бета- или ознакомительных версиях), могут не опасаться, что их установка и последующее удаление повлияют на работоспособность основной системы и приведут к заполнению внешней памяти информационным мусором.

Консолидация серверов. Это наиболее динамично развивающаяся область применения VM-технологий, направленная на повышение эффективности использования ИТ-ресурсов. Выигрыш здесь получается за счет как экономии аппаратуры, так и снижения затрат на администрирование и управление систем. Подобный вариант часто применятся в случае параллельной работы нескольких экземпляров одной и той же ОС, когда каждая ВМ выполняет отдельную функцию (почтовый сервер, сервер базы данных и пр.) или обслуживает разные группы пользователей.

Однако следует подчеркнуть, что использование MVS не приводит к снижению затрат на приобретение ПО: на каждую устанавливаемую BM нужно иметь отдельную лицензию гостевой ОС. Даже если вы хотите установить Windows Server 2003 в качестве одной ВМ, вам нужно иметь две лицензии на эту систему: одну для основной ОС, другую - для гостевой. Эти требования распространяются и на серверные приложения. Правда, лицензии Microsoft Operations Manager 2005 и Systems Management Server 2003 привязаны к использованию аппаратного, а не виртуального оборудования.*VMWare была куплена в декабре прошлого года производителем систем хранения корпорацией EMC и теперь, являясь подразделением этой компании, продолжает работать под собственной торговой маркой.