Приобретение в 2003 году компании Connectix позволило корпорации Microsoft расширить свой портфель предложений средствами для виртуализации. Новый импульс развития решения по виртуализации получат с выходом Windows Server Longhorn x64 Edition, когда будет выпущен новый монитор виртуальных машин.

 На рынке технологий виртуализации корпорация Microsoft предлагает несколько продуктов. Наибольшую известность получил Microsoft Virtual Server — серверное приложение для ОС Windows, предоставляющее возможность одновременного запуска на одном физическом сервере нескольких различных операционных систем, включая Windows Server 2003, Windows 2000 Server, Linux, Unix и OS/2. Функциональные возможности Microsoft Virtual Server сейчас расширяют инструментальные наборы Virtual Server MOM Management Pack и Virtual Server Migration Toolkit, а в ближайшее время станет доступно специализированное решение на базе Microsoft System Center Virtual Machine Manager. Второй продукт — Microsoft Virtual PC, предназначен для обеспечения одновременной работы на настольном компьютере нескольких операционных систем (Windows XP, Windows 2000, Windows NT, Windows 98, Windows 95, Windows 3.1, MS-DOS, OS/2, NetWare и Linux). В начале 2007 года компания Microsoft объявила о выходе окончательной версии Microsoft Virtual PC 2007, до этого времени уже существовавшей в бета-версии для платформ Apple Mac и х86, доступной для свободной загрузки. Подобно предыдущей версии Microsoft Virtual PC 2004, новая дает возможность моделировать на операционной системе-хозяине практически все популярные гостевые ОС. Для этой цели Virtual PC для каждого гостя внутри себя эмулирует процессор Intel Pentium 4 с BIOS, графической, звуковой и сетевой картами. В версию Microsoft Virtual PC 2007 внесены дополнения, связанные с исправлением отдельных ошибок, обусловленных выполнением недокументированных команд и ускорением работы гостевых операционных систем. Кроме того, в Virtual PC 2007 включены: оптимизация для операционной системы Windows Vista; возможность моделирования 16- и 32-разрядных гостевых операционных систем на 64-разрядной операционной системе-хозяине; поддержка Windows Vista звуковых устройств гостевых операционных систем.

Еще одно направление виртуализации, развиваемое компанией, относится к сфере виртуализации приложений и ведет свою родословную от разработок компании SoftGrid, которая в 2003 году выпустила специализированный сервер и средства для управления SoftGrid Virtual Application Server. Это решение позволяет развертывать программные приложения, доступные по требованию пользователя независимо от его местоположения и не предполагающие установки непосредственно в систему.

Полный список решений Microsoft по виртуализации таков:

  • виртуализация серверных систем (Microsoft Virtual Server; Windows Server code name Longhorn);
  • виртуализация рабочих станций (Microsoft Virtual PC);
  • виртуализация приложений (Microsoft Softgrid);
  • виртуализация уровня представлений (Microsoft Terminal Services).

Связующим звеном для этих компонентов является решение по управлению на базе Microsoft System Center.

Virtual Server

Microsoft Virtual Server 2005 R2 можно представить как многопотоковое приложение, где каждая виртуальная машина интерпретируется как независимый системный сервис, выполняющийся в своем изолированном потоке. Одновременно Virtual Server 2005 R2 можно отнести к системному ПО, поскольку сервер «отбирает» от гостевых операционных систем часть их функций — распределение ресурсов центрального процессора и управление драйверами внешних устройств. В целом Virtual Server 2005 R2 реализует функции монитора виртуальных машин (Virtual Machine Monitor,VMM), который создает инфраструктуру для виртуальных машин и обеспечивает взаимодействие с гостевыми операционными системами (рис. 1).

Рис. 1. Архитектура виртуализованной системы на базе Virtual Server 2005 R2
Обычные отношения между аппаратным и программным обеспечением предполагают, что на сервере выполняется только одна операционная система и разработанные для нее приложения. Технология, реализованная в Virtual Server, позволяет на одном сервере функционировать нескольким операционным системам и связанным с ними приложениям. Виртуальная машина использует программное обеспечение и выбранные аппаратные устройства для создания имитации обычной среды работы операционной системы. На данный момент при развертывании на Virtual Server 2005 R2 поддерживаются следующие ОС в качестве гостевых: Windows Server 2003 и R2 (все редакции), Windows Small Business Server 2003 (все редакции), Windows 2000 Server и Windows 2000 Advanced Server, Windows NT Server 4.0 with Service Pack 6a, Windows XP SP2, Red Hat Enterprise Linux 2.1, 3.0 (update 6), Red Hat Enterprise Linux 4.0, Red Hat Linux 7.3, 9.0, SuSE Linux 9.2, 9.3, 10.0, SuSE Linux Enterprise Server 9.0.

Virtual Server предоставляет следующие преимущества.

Поддержка широкого спектра оборудования. Список устройств, которые прошли тестирование на совместимость с серверным программным обеспечением Windows Server, известен под названием списка HCL (Hardware Compatibility List — список совместимого оборудования). Он содержит наименования тысяч серверов, периферийных устройств и часто обновляется, что означает — Virtual Server может выполняться практически на любом компьютере с Intel-совместимой архитектурой. Это предоставляет пользователям гибкость в выборе способа переноса или объединения приложений и гарантирует, что инвестиции в Virtual Server не будут напрасными.

Масштабируемость. Самая большая коммерчески доступная система Intel имеет сегодня 32 процессора и 64 Гбайт оперативной памяти, а в ближайшем будущем появятся еще более мощные системы, например 64-разрядный сервер с 64 процессорами и 512 Гбайт памяти, работающий под управлением Windows Server 2003 редакции Datacenter. Такой класс масштабируемости позволяет организациям объединять с помощью Virtual Server любое количество серверов приложений, необходимых для работы предприятия.

Поддержка кластерных технологий. Virtual Server обеспечивает поддержку кластеризации для гостевых операционных систем и физических узлов, на которых он работает, позволяя реализовывать отказоустойчивые сценарии. При выходе из строя оборудования узлового сервера работающие на нем виртуальные машины будут автоматически переведены на другой узел, с действующей службой Virtual Server 2005 R2. Поддержка служб кластеризации для гостевых систем позволяет развернуть приложения и сервисы (использующие эту технологию) на различных виртуальных машинах на любом из узлов Virtual Server.

Использование стандарта VHD для виртуальных машин. Microsoft позиционирует формат файлов VHD как доступный разработчикам по свободной лицензии стандарт для виртуальных машин и работы с Virtual Server 2005. С помощью Virtual Server можно создавать новые виртуальные жесткие диски VHD, использовать готовые или подключать существующие диски к работающей гостевой системе. Средства администрирования Virtual Server позволяют создавать VHD-файлы в любом хранилище, доступном базовой ОС, включая IDE, SCSI, RAID, SAN, NAS и т.п. Формат VHD предоставляет следующие возможности по работе с виртуальными дисками: динамически расширяемый размер, файл фиксированного размера, подключение физических дисков в качестве виртуальных, дифференциальные виртуальные диски (позволяющие использовать общий родительский образ нескольким дочерним виртуальным дискам в разных виртуальных машинах, при этом родительский диск открывается только для чтения, а все изменения накапливают дочерние диски), диски с возможностью отмены изменений или отложенной записи. Кроме того, Virtual Server поддерживает возможность преобразования различных типов дисков.

Расширение технической поддержки. Операционные системы Windows проходят полное тестирование на Virtual Server, и компания Microsoft предоставляет поддержку для своих продуктов, функционирующих в этой конфигурации.

Управление на основе стандартов. Virtual Server использует стандартные в отрасли технологии, такие как протоколы HTTP, RDP, расширяемый язык разметки XML и PerfMon для обработки обычных задач управления. Конфигурации виртуальной машины хранятся в XML-файлах, а текущий контроль серверов и конфигурирование выполняются через HTTP/HTML-интерфейс. Virtual Server предоставляет пользователям возможность управлять серверами через любой браузер.

Упрощенная расширяемость. Virtual Server поддерживает полнофункциональную COM-модель (Component Object Model) исполнения сценариев, которая позволяет управлять всей функциональностью продукта. Пользователи не привязаны к конкретному языку написания сценариев и могут выбирать между Visual Basic, C#, Perl, Java и др. Более того, сценарии могут «запускаться» определенными событиями, происходящими в Virtual Server.

Особенности лицензирования виртуализированных систем

Виртуализация дает определенные выгоды при лицензировании. Например, продукт Microsoft Virtual Server 2005 Enterprise Edition год назад стал бесплатным, как и Virtual PC 2007. Кроме того, недавно были внесены необходимые изменения в правила лицензирования серверных приложений. Это, во-первых, новые условия использования лицензии на программное обеспечение. Теперь в ней указывается число, ограничивающее количество экземпляров программного обеспечения, одновременно запускаемого на сервере, а не количество копий ПО, которые можно установить и использовать на сервере. Во-вторых, модернизированная лицензия позволяет создавать и хранить любое количество экземпляров, для того чтобы было удобно запускать эти экземпляры на любом из лицензированных серверов.

Важные изменения коснулись возможностей, учитывающих особенности лицензирования:

  • каждая лицензия клиентского доступа (CAL) позволяет любому количеству ОС на отдельном устройстве (например, на клиентском устройстве) получать доступ к серверному ПО, не требуется отдельной клиентской лицензии для каждой запущенной на нем ОС, на устройстве;
  • каждая лицензия на управление (например, OML, CML) позволяет управлять с помощью серверного ПО любым количеством сред ОС на отдельном устройстве, не требуется отдельной лицензии на управление для управления каждой средой ОС, запущенной на управляемом устройстве;
  • ПО, запускаемое в виртуальной среде ОС, лицензируется на основе количества виртуальных процессоров, используемых в виртуальной среде ОС, а не по числу физических процессоров в сервере.

Если, например, в виртуальной среде развернуто пять систем и одна работает в физической среде (основная), то потребуется только одна клиентская лицензия для подключения к серверным продуктам (CAL). В случае, когда несколько инфраструктурных серверов средствами виртуализации используют ресурсы только одного физического сервера, для управления всеми ими потребуется только одна лицензия на управление. Если же на физическом четырехпроцессорном сервере устанавливается, скажем, Microsoft SQL Server 2005, то требуется иметь лицензии на все четыре процессора, это слишком накладно, особенно в тех случаях, когда подобная процессорная мощность для одной задачи избыточна. В этом случае, перенося работу Microsoft SQL Server 2005 в виртуальную среду, можно ограничиться одной лицензией на единственный доступный ему процессор.

Расширение прав на использование продуктов Windows Server 2003 R2 и SQL Server 2005 может оказаться выгодно корпоративным заказчикам Microsoft:

  • для систем на базе Windows Server 2003 R2 Enterprise Edition каждая лицензия позволяет запускать в любой определенный момент времени один экземпляр серверного ПО в физической среде ОС и до четырех экземпляров серверного ПО в средах виртуальных ОС на определенном сервере;
  • для систем на базе Windows Server 2003 R2 Datacenter Edition каждая лицензия позволяет запускать в любой определенный момент времени один экземпляр серверного ПО в физической среде ОС и любое количество экземпляров серверного ПО в средах виртуальных ОС на определенном сервере;
  • для систем, на которых установлены Microsoft SQL Server 2005 Workgroup Edition, Standard Edition и Enterprise Edition, каждая лицензия позволяет одновременно запускать любое количество экземпляров серверного ПО в одной физической или виртуальной среде ОС на определенном сервере.

Если провести перерасчет затрат на лицензирование решений с виртуализацией, то несложно убедиться в том, что переход от модели построения инфраструктуры с выделенными серверами к виртуальным технологиям позволяет добиться значительной экономии на лицензионных отчислениях. Для упрощения такого рода расчетов даже создан специализированный калькулятор Windows Server Virtualization Calculator.

Виртуализация приложений

Функцию виртуализации приложений реализует компонент Microsoft SoftGrid (рис. 2), который по сравнению с традиционной методикой установки ПО дает следующие преимущества:

  • ИТ-администраторы получают возможность создания динамического предприятия с помощью виртуальной ИТ-среды, в которой приложения управляются и используются как виртуальные службы, доступные по запросу;
  • конечные пользователи могут обращаться к своим приложениям с любого настольного компьютера под управлением копии Windows, как к обычной Web-странице;
  • ИТ-подразделения могут быстро вводить в эксплуатацию новые компьютеры, поскольку для всех пользователей применяется один образ. Замена оборудования также не отнимает много времени, так как приложения и конечные пользователи не привязаны к конкретным компьютерам;
  • упрощается создание планов обеспечения непрерывной работы, поскольку пользователи могут получить мгновенный доступ к своим приложениям с любого компьютера в сети.

Слой абстрагирования, создаваемый SoftGrid, находится между операционной системой и приложениями. Главное преимущество SoftGrid заключается в том, что приложения предоставляются динамически в виде служб, которые можно добавлять и удалять, не оставляя каких-либо следов в клиентской системе, это, в свою очередь, снижает общие расходы на развертывание и поддержку приложений и систем. SoftGrid за счет инновационной системы централизованного развертывания приложений помогает повысить скорость установки программного обеспечения и обновлений. Вместо того чтобы загружать и устанавливать все приложения, при первом запросе приложения клиент SoftGrid загружает с центрального сервера только минимальную часть кода, необходимую для запуска приложения, позволяя пользователю быстро приступить к работе. Например, чтобы запустить такое приложение, как Visio, и начать с ним работать, необходимо загрузить всего 20 Мбайт. При этом не происходит ограничения функциональности или быстродействия приложения — его запуск занимает несколько секунд. После окончания сеанса работы параметры настройки приложения и профили записываются в кэш на жестком диске, который сохраняется при перезагрузках локального компьютера. Это позволяет мгновенно получать доступ к приложению при следующем использовании, практически не занимая пропускную способность сети.

Рис. 2. Схема архитектуры технологии SoftGrid
Доступ к приложениям обеспечивается даже в тех случаях, когда сеть не работает или компьютер пользователя не подключен к сети. Код, загруженный на клиентские компьютеры, позволяет запускать приложения локально без ограничения функциональности. Кроме того, воспользоваться всеми возможностями виртуализации приложения можно даже без использования сети. Компонент Microsoft SoftGrid Application Portability, предназначенный для тех, кто использует подключения с низкой пропускной способностью, позволяет развертывать виртуальные приложения с помощью флэш-памяти USB, компакт-дисков или съемных жестких дисков.

Для виртуализации приложений применяются две основные технологии SoftGrid: SystemGuard и Microsoft SoftGridSequencer. Технология SystemGuard позволяет каждому приложению использовать собственный набор параметров настройки и выполняться в изолированной области защищенной виртуальной памяти клиентского компьютера. Поэтому работа приложений не зависит от параметров настройки компьютера, на котором выполняется приложение, и не влияет на эти параметры. Однако, поскольку приложения выполняются локально, они обладают полным быстродействием и функциональностью и получают доступ к локальным службам, включая возможность копирования и вставки данных, функций OLE, печати, доступа к сетевым дискам и подключенным устройствам.

Сейчас Microsoft предлагает две разновидностивиртуализации приложений: SoftGrid Application Virtualization for Terminal Services — служба, лицензируемая через клиентские лицензии наподобие терминальных, и SoftGrid Application Virtualization for Desktops — часть пакета Microsoft Desktop Optimization Pack (Microsoft DOP) for Software Assurance, использующая компоненты для конечных рабочих станций.

Microsoft недавно анонсировала программу VHD Test Drive Program, которая, используя возможности виртуальных машин, позволяет быстро ознакомиться и протестировать конфигурацию, опираясь на заранее установленные и настроенные решения, размещенные на виртуальных жестких дисках VHD. Чтобы воспользоваться ими, необходимо скачать файлы с соответствующими VHD и запустить их в виртуальной среде собственной инфраструктуры. При этом нет необходимости выделять отдельное оборудование и тратить время на изучение руководств по установке и собственно развертыванию.

Ближайшие перспективы

Модернизированная версия Microsoft Virtual Server 2005 R2 SP1 будет поддерживать ОС Windows Vista, Intel Virtualization Technology, AMD Virtualization и технологии теневых копий (VSS). В этой версии будет возможность подключения виртуальных жестких дисков VHD «на лету», а также планируется увеличить производительность для гостевых систем Linux при более высокой надежности работы сервиса.

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

Рис. 3. Архитектура Windows Server Virtualization
Второе поколение средств виртуализации представит продукт Windows Server Virtualization (рис. 3), который будет реализован в составе операционной системы в Windows Server «Longhorn» x64 Edition и позволит запускать на каждом физическом узле столько виртуальных машин, сколько позволят ресурсы физического сервера. Ядром этого решения будет компонент-гипервизор (Hypervisor), вносящий существенные изменения в режимы управления виртуальной инфраструктурой. Как и другие аналогичные решения, построенные на «голом железе», гипервизор представляет собой небольшое ядро, управляемое одним родительским разделом, в котором находится основной стек компонентов для управления как самим гипервизором, так и дочерними виртуальными разделами. Отличительной особенностью этого гипервизора будет микроядерная структура, упрощающая управление виртуальными разделами и повышающая надежность всей системы в целом. В гипервизоре не будет содержаться никаких компонентов сторонних разработчиков — все необходимые модули для работы виртуальных систем будут вынесены в сами разделы, таким образом, драйверы устройств будут развернуты в каждой системе отдельно.

Владимир Елисеев (Vladimir.Eliseev@microsoft.com)— специалист по технологиям, партнерский отдел, Microsoft Россия.


Истоки виртуализации от Microsoft

Появлением в номенклатуре продуктов Microsoft средств для виртуализации она обязана компании Connectix, купленной в 2003 году и предлагавшей на рынке свои решения Virtual PC и Virtual Server. Начальный этап истории Connectix, которая была пионером в области виртуализации, очень напоминает «путь наверх» другой компании — VMware. Фирма Connectix, как и более успешная VMware, была основана двумя аспирантами престижных университетов Йоном Гарбером и Бонни Фогтом, но на десять лет раньше. (Connectix вошла в историю, в частности, тем, что лично Гарбер изобрел популярные ныне Web-камеры.) Через 15 лет компания Connectix прекратила свое существование — часть бизнеса, относящаяся к виртуализации, во главе с техническим директором Эриком Траутом перешла в Microsoft, и продукты Virtual PC и Virtual Server были последними самостоятельными разработками компании. Сосредоточившись на виртуализации продуктов Apple, Connectix опоздала на рынок x86, и, хотя на ее счету были выдающиеся работы, связаны они были с виртуализацией гораздо меньшего по объему рынка компьютеров.