Концепция виртуальных машин (VM) была впервые реализована еще в 70-е годы прошлого столетия корпорацией IBM на ее мэйнфреймах System 360/370. Ее применение понадобилось тогда в основном для поддержки работы различных версий ОС (в том числе устаревших на тот момент) в системах коллективного пользования. Казалось бы, прогресс в области аппаратных средств сделал эту проблему неактуальной: гораздо проще пользоваться подходом "каждому экземпляру OC - по выделенному компьютеру". Однако в последние годы одной из наиболее заметных "движущих сил" развития ИТ является значительный рост заинтересованности заказчиков в использовании VM-технологий, причем, как ни странно, именно для персональных ПК (мы сейчас говорим только о платформе Intel).

Объяснение этому очень простое - ведь одновременно с увеличением числа версий клиентских ОС постоянно растет и число людей (разработчиков ПО, тестеров, специалистов по технической поддержке, экспертов по софту), которым в силу специфики их профессии нужно иметь на своей рабочей станции сразу несколько копий различных ОС.

Рис. 1. Архитектура VM и VE

С начала 90-х годов сразу несколько компаний приступили к продвижению собственных продуктов, используемых при создании виртуальных машин для персональных ПК. Среди них лидирующее положение занимает VMware (www.vmware.com)*1 со своим популярным продуктом VMware Workstation. Но в последние два-три года идет активное освоение технологиями VM серверных платформ, при этом решаются задачи обеспечения работоспособности унаследованных приложений, поддержки неоднородных вычислительных сред и оптимизации используемого оборудования (программная консолидация и виртуализация серверов). Та же компания VMware еще год назад представила свои серверные продукты GSX Server и ESX Server (см. PC Week/RE, N 10/2003, с. 31).

_____

*1 Буквально перед отправкой этой статьи в печать, 15 декабря, стало известно, что компанию VMware приобрела корпорация EMC (см. врезку "EMC продолжает скупку софтверных компаний").

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

Столь же очевидно, что виртуальная машина всегда будет более ресурсоемкой и менее быстродействующей, чем автономная ОС. При этом нужно иметь в виду и то, что одновременная работа разнородных ОС ведет к снижению производительности и эффективности использования ресурсов. Соответственно в зависимости от того, какой класс задач ставят перед собой разработчики VM, производится выбор того или иного технологического подхода. (Речь идет в первую очередь о серверных системах; для рабочих станций все обстоит проще: там обычно решается один класс задач - тестирование.) Например, та же VMware делает акцент на поддержку широкого спектра ОС (Windows, Linux, NetWare), в том числе и унаследованных. Но и в этом случае она предлагает два продукта, реализуемых на разных технологических принципах: GSM Server устанавливается поверх основной ОС и распределяет реальные компьютеры для гостевых ОС, а ESX Server создает в аппаратных системах логические вычислительные пулы напрямую, что обеспечивает более высокую производительность, хотя и отрицательно сказывается на гибкости управления.

Другой заметный игрок на этом рынке, российская компания SWsoft (www.swsoft.ru), в своем подходе, который она называет не VM, а Virtual Environment, ориентируется на оптимизацию управления вычислительными ресурсами на базе моносистем - Linux или FreeBSD (см. PC Week/RE, N 1/2003, с. 22). Ключевая идея ее базовой технологии Virtuozzo состоит в создании набора уникальных сред на основе одной копии ОС (рис. 1). Такой подход обеспечивает более эффективное использование ресурсов компьютера (одно ядро ОС для всех пользователей) и не требует эмуляции аппаратных средств, поэтому ее накладные расходы не превышают нескольких процентов.

Разными технологическими подходами определяются и различные возможности по масштабированию. Например, GSW Server может выделить под виртуальную машину только один процессор, а Virtuozzo - 64. Казалось бы, полное преимущество Virtuozzo. Ан нет! Ведь она не решает другую задачу - поддержку работы разнородных ОС и унаследованных систем.

И тут появляется Microsoft...

Есть очень простой критерий определения перспективности той или иной технологии: показателем решающего перелома в истории любых технологий является момент, когда в борьбу между специализированными инновационными компаниями вмешиваются ведущие ИТ-поставщики. В 2003 г. на поле VM-технологий для аппаратной платформы Intel вышел еще один игрок - Microsoft.

EMC продолжает скупку софтверных компаний. На этот раз - VMware

15 декабря корпорация EMC, один из лидеров в области хранения данных с оборотом почти в 5,5 млрд. долл., сообщила о подписании соглашения, в соответствии с которым она приобретает компанию VMware (www.vmware.com) - ведущего разработчика ПО для создания виртуальных систем на базе компьютеров архитектуры Intel. Объявленная стоимость сделки - 635 млн. долл., причем выплаты будут проводиться наличными, а не путем обмена акциями, как это чаще всего делается в подобных случаях. Одна из причин - то, что VMware является частной, закрытой с точки зрения бизнеса компанией. Именно поэтому она даже не публикует данные о своих финансовых результатах. Известно только, что ее акции принадлежат небольшому числу инвесторов, а в мае 2000 г. она получила "стратегические инвестиции" от группы компаний во главе с Dell Computer (в нее вошли также Veritas Software, Azure Capital Partners, JPMorgan Partners и Goldman Sachs Group).

     Таким образом, EMC продолжает скупку софтверных фирм: в нынешнем году она уже совершила две очень крупные сделки, приобретя компании LEGATO Systems и Documentum (см. PC Week/RE, N 40/2003, с. 1). В свою очередь, VMware фактически постигла та же участь, что и другого заметного игрока на поле виртуальных систем для Intel-ПК - компанию Connectix, базовые технологии которой в феврале 2003 г. купила Microsoft. И это вполне естественно - конкурировать с Microsoft ну о-о-очень сложно.

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

     Любопытно, как будет проходить эта охота за "виртуальными" технологиями в наступающем году? В частности, как будет развиваться бизнес российской компании SWsoft, которая в отличие от VMware и Connetix делает ставку на создание виртуальных сред на базе Linux?

Корпорация двинулась в этом направлении по традиционному пути, купив у компании Connectix (она работала в области виртуальных технологий для ПК с 1988 г. и занимала здесь вторую позицию после VMware) ее технологию виртуальных машин для платформ Windows и Macintosh и приняв к себе на работу ключевых сотрудников команды разработчиков. В августе Connectix прекратила поставки продуктов Virtual PC for Windows 5.2 и Virtual PC for Mac 6.0, полностью перешедших в ведение Microsoft*1.

_____

*1 В каком состоянии находится сейчас Connectix, нам выяснить не удалось. Сразу после сделки с Microsoft эта компания объявила, что будет заниматься виртуальными игровыми станциями для PC и Mac. В течение года было сделано несколько анонсов выпуска продуктов. Но в декабре поиск Connectix по Yahoo ничего не дал - были найдены ссылки на ее продукты, продаваемые Интернет-торговцами, но все ссылки на саму компанию оказались недействительными.

В самом конце 2003 г. корпорация выпустила продукт MS Virtual PC 2004, который пришел на смену прежнему варианту Virtual PC for Windows (www.microsoft.com/windowsxp/virtualpc). В новом пакете в качестве основных ОС может применяться Windows 2000 Professional или Windows XP, а в качестве гостевых - большинство x86-совместимых операционных систем, в том числе MS-DOS и все версии Windows начиная с 1.0, IBM OS/2, Linux, Novell Netware. (Microsoft в своих документах старается не упоминать конкурирующие системы, в частности две последние, но они действительно поддерживаются.)

MS Virtual PC 2004 может использовать до 4 Гб оперативной памяти и позволяет каждой виртуальной машине работать с четырьмя сетевыми адаптерами одновременно. Объем минимально необходимой памяти зависит от того, какие ОС и в каком количестве будут применяться. Но для комфортной работы с Windows XP в качестве основной ОС желательно иметь не менее 512 Мб ОЗУ.

Рис. 2. MS Virtual PC 2004: в среде Windows XP запущены две гостевые ОС - Windows NT 4.0 и Windows 98

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

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

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

Довольно часто VPC применяются при многопользовательском варианте эксплуатации ПК, в частности в компьютерных классах общего доступа. Например, каждый студент во время занятий может иметь дело с собственной версией системы, сохраняя ее для продолжения работы в следующий раз. С возможностями бета-версии MS Virtual PC 2004 могли познакомиться сотни участников двух московских конференций Microsoft, проходивших в конце 2004 г., - "Платфор- ма 2004" и MS Office System 2003. В учебных классах занятия с новыми приложениями проводились именно с применением виртуальных технологий.

MS Virtual PC 2004 (его розничная цена - 129 долл., на 100 долл. меньше, чем стоила последняя версия пакета Connectix) будет также распространяться по схемам корпоративного и академического лицензирования, а кроме того, по подписке MSDN. Однако еще раз подчеркнем, что для создания каждой гостевой ОС нужна отдельная лицензия, а значит, если даже у вас в качестве основной и гостевой используется одна и та же Windows XP, вам понадобится две лицензии.

Но это только первые "виртуальные" шаги Microsoft - в I квартале 2004 г. корпорация обещает выпустить обновленный (также на базе технологий Connectix) пакет Virtual Server. Пока о его архитектурных и функциональных особенностях известно очень мало. Но по предварительным сведениям, MS Virtual Server будут обеспечивать поддержку различных схем функционирования, в том числе и тех, что мы перечисляли выше на примере GSX Server, ESX Server и Virtuozzo. Если в начале 2003 г. в публикациях относительно планов Microsoft в этой области говорилось в основном о проблемах поддержки унаследованных приложений, то в последних выступлениях руководителей и в документах корпорации акцент делается на вопросах консолидации и виртуализации серверов. В частности, на намерении реализовать виртуальные технологии на уровне ядра Windows Server 2003.

Посмотрим, что нас ожидает в будущем. Ждать осталось недолго.