ОБЗОРЫ
Технологии виртуальных машин (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 и теперь, являясь подразделением этой компании, продолжает работать под собственной торговой маркой.