Сравнение Microsoft Virtual Server 2005 и VMware GSX Server

Прошедший 2004 год запомнится многим как год виртуализации. Сначала ИТ-специалисты признали достоинства технологий виртуализации для тестирования и демонстрационных целей. Однако благодаря появлению более мощных систем и постоянному совершенствованию технологий виртуальной машины VM (virtual machine), виртуализация превратилась в средство консолидации серверов производственного уровня.

В 2001 г. компания VMware первой выпустила на рынок виртуализации свой продукт VMware GSX Server. В октябре 2004 г. компания Microsoft вышла на рынок виртуализации с Virtual Server 2005, который вызвал большой интерес, особенно среди потребителей, использующих на своих предприятиях технологии VM. Сравнение двух основных инструментов виртуализации позволяет четко определить, какой из продуктов больше подойдет конкретной организации.

Архитектура VM

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

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

Критерии оценки

Оба продукта обладают похожей функциональностью, но между ними есть ряд серьезных различий. Первое, на что я обращал внимание при оценке продукта, — совместимость с базовыми (host) и гостевыми (guest) операционными системами. Базовые операционные системы — платформы, на которых можно устанавливать программное обеспечение VM. Гостевые операционные

системы - это операционные системы, которые запускаются виртуальными серверами. Я также сравнивал простоту использования и общее удобство управления, рассматривая процесс создания новых VM и возможность управления виртуальным сервером и виртуальными машинами.

Наконец, я сравнивал производительность VM, запущенных на каждым продукте. Для измерения общей производительности гостевых операционных систем использовались эталонные тесты SiSoftware Sandra 2005 Lite (http://www.SiSoftware.net). Я сравнивал результаты тестовых прогонов VM, созданной с помощью каждого виртуального сервера — типового экземпляра Windows Server 2003, Enterprise Edition, с результатами эталонных тестов на физической машине. Все тесты проводились на компьютере HP ProLiant ML350 с двумя процессорами Intel Xeon на 3,2 ГГц, 2 Гбайт оперативной памяти, двухканальным контроллером Ultra320 SCSI, подключенным к четырем жестким дискам по 36 Гбайт на 15 000 об./мин, и базовой операционной системой Windows 2003.

Microsoft Virtual Server 2005

Компания Microsoft выпускает две версии Virtual Server 2005: Standard Edition и Enterprise Edition. Standard Edition работает на хост-серверах, число процессоров в которых не превышает четырех; Enterprise Edition совместима с машинами с числом процессоров до 32. Однако продукт не поддерживает симметричную мультипроцессорную обработку (SMP) для виртуальных машин, работающих на сервере Virtual Server 2005.

Благодаря расширению физических адресов (Physical Address Extension, PAE), Virtual Server может работать с памятью до 64 Гбайт, и каждая VM адресует до 3,6 Гбайт памяти. Обе версии позволяют разместить на хост-компьютере до 64 виртуальных машин. Компания Microsoft рекомендует использовать Virtual Server только на 32-разрядных хост-платформах.

Неудивительно, что Virtual Server совместим с базовыми и гостевыми операционными системами только компании Microsoft, как видно из сравнительной сводки характеристик (см. таблицу). Я использовал продукт и для запуска других операционных систем, в частности Linux, но делать этого в производственной среде не рекомендуется из-за отсутствия поддержки со стороны Microsoft.

Я привык работать с Microsoft Virtual PC, но Virtual Server заметно отличается, и, чтобы привыкнуть к нему, требуется время. Вместо консоли управления на базе Windows для управления Virtual Server используется консоль Administration Website (экран 1). Для вызова программы управления нужно выбрать Administration Website на сервере Virtual Server 2005 или указать в браузере адрес http://server:1024/VirtualServer/VSWebApp.exe.

Мне потребовалось некоторое время, чтобы полностью освоиться с консолью, но с ее помощью очень просто управлять Virtual Server через сеть. Administration Website предоставляет сведения о состоянии построенных VM, в том числе текущие данные о производительности и даже мини-вид экрана. Мне понравилось, что Administration Website не занимает места на жестком диске, но, к сожалению, платой за консоль будет запуск IIS 6.0 на хост-компьютере. В процессе установки автоматически настраивается конфигурация IIS и назначаются разрешения для сайта, но администратору приходится управлять лишним объектом.

В отличие от GSX Server, Virtual Server не располагает мастером, который проводил бы пользователя по процессу создания виртуальных машин. Вместо мастера приходится пользоваться ссылками на Administration Website, чтобы вручную создать виртуальный жесткий диск (virtual hard disk, VHD), виртуальную сеть и VM, которая работает с VHD и виртуальной сетью. Освоив процесс, я убедился, что работать с интерфейсом довольно просто, но в нем отсутствуют некоторые удобные функции, привычные для пользователя программ Windows, такие как возможность просматривать файловую систему при создании виртуальных жестких дисков. Приятное впечатление оставляют функции Administration Website для дистанционного доступа ко всем VM. Создав VM, полезно развернуть Virtual Machine Additions — программные драйверы, которые повышают разрешение экрана (через дополнительный SVGA-драйвер) и облегчают работу с мышью.

Virtual Server поддерживает четыре типа виртуальных жестких дисков: динамически расширяемые, фиксированного размера, дифференциальные (differencing) и связанные (linked). Базовая операционная система воспринимает динамически расширяемые и фиксированные виртуальные диски как большой .vhd-файл, содержащий файловую систему гостевой VM. Динамически расширяемые диски поначалу невелики и автоматически увеличиваются по мере того, как гостевой VM требуется дополнительное пространство памяти. Как и физический жесткий диск, динамически расширяемый диск может расти только до определенного предела. Естественно, что при расширении VHD в работе гостевой операционной системы происходит задержка. Пространство под виртуальные диски фиксированного размера выделяется при их создании и впоследствии не увеличивается.

В VM с динамическими, фиксированными и дифференциальными дисками можно использовать факультативный диск отмены (undo disk). С помощью дисков отмены можно аннулировать все изменения, внесенные в динамический, фиксированный или дифференциальный диск. В дисках отмены хранятся все изменения конфигурации и данных, сделанные в ходе сеанса VM. По завершении работы с VM система спрашивает, сохранить изменения или отказаться от них. При использовании дифференциальных дисков можно изолировать изменения, происходящие внутри гостевого VHD; все изменения в родительском VHD сохраняются в дифференциальном диске. В отличие от диска отмены, который ассоциируется со всей виртуальной машиной, дифференциальный диск связан с конкретным VHD. Создавать встроенные дифференциальные диски Virtual Server гораздо проще, чем дифференциальные диски GSX Server.

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

Виртуальный сетевой адаптер можно настроить на использование сетевой платы хост-машины и заданной пользователем виртуальной сети, доступ к которой имеют только VM. Если используется сетевая плата хост-компьютера, то любая VM, соединенная с виртуальной сетью, может получить доступ к сети, к которой подключен хост-компьютер. В остальных случаях VM может обращаться только к внутренней виртуальной сети. Virtual Server также предоставляет виртуальный DHCP-сервер, поэтому пользователю не приходится настраивать гостевую VM во внутренней сети для работы в качестве DHCP-сервера.

Особенно удачная функция Virtual Server — возможность настроить конфигурацию разделяемых виртуальных дисков SCSI, чтобы охватить службой Microsoft Cluster два узла VM. Другая удобная функция обеспечивает перенос виртуальных машин, построенных с помощью Virtual PC 2004, на Virtual Server. Досадное ограничение Virtual Server состоит в том, что, как и Virtual PC, он несовместим с устройствами USB. Можно пользоваться клавиатурой и мышью USB, но устройство флэш-памяти USB с Virtual Server виртуальными машинами не распознается. Virtual Server располагает мощным набором API на базе COM, которые можно использовать в сочетании с VBScript для подготовки собственных специализированных сценариев управления.

Компания Microsoft предлагает инструментальный набор Virtual Server Migration Toolkit (VSMT) в качестве бесплатного дополнения для Virtual Server. Набор можно загрузить по адресу http://www.microsoft.com/widowsserversystem/ virtualserver/evaluation/vsmt.mspx. С помощью VSMT можно преобразовать физические машины в VM, а виртуальные машины VMware VM — в совместимые с Virtual Server. Компания VMware предлагает аналогичный продукт VMware P2V Assistant, но его нужно приобретать отдельно.

VMware GSX Server 3.1

В третьей версии VMware GSX Server предусмотрено два уровня лицензирования: один для компьютеров с одним или двумя процессорами, другой — для систем с числом процессоров до 32. Как и конкурент, GSX Server не обеспечивает SMP-поддержку для гостевых операционных систем и позволяет запускать одновременно не более 64 VM на одном хост-компьютере, в зависимости от ресурсов, необходимых для VM. GSX Server поддерживает до 64 Гбайт памяти на PAE-совместимых системах с Windows, а адресное пространство каждой виртуальной машины может достигать 3,6 Гбайт.

Во время подготовки данного обзора GSX Server был официально совместим только с 32-разрядными базовыми платформами. Однако продукт «экспериментально поддерживает»64-разрядные базовые операционные системы. В сущности, это значит, что они работают, но их не рекомендуется использовать в производственной среде. Я полагаю, что компания VMware официально объявит о поддержке 64-разрядных базовых операционных систем после выпуска в 2005 г. Microsoft Windows 2003 for 64-bit Extended Systems.

GSX Server имеет очевидное преимущество перед Virtual Server с точки зрения совместимости с различными базовыми и гостевыми операционными системами. Помимо совместимости со всеми операционными системами Windows, в качестве базовых систем для GSX Server могут использоваться разнообразные варианты Linux (см. таблицу). Столь же обширен список клиентских операционных систем, совместимых с продуктом.

Пользователям VM Workstation или предыдущих версий GSX Server будет легко работать с GSX Server. На экране 2 показана консоль Virtual Machine Console. Она явно менее информативна, чем Administration Website из Virtual Server, но более гибко реагирует на действия пользователя и работать с ней легче.

Организовать новые VM с помощью GSX Server намного проще, чем в ходе отрывочного процесса Virtual Server. Мастер New Virtual Machine Wizard с удобным интерфейсом проводит пользователя по этапам создания VM, VHD и сети. На всех виртуальных машинах полезно установить инструментальный набор VMTools компании VMware. VMTools располагает высокопроизводительным видеодрайвером и функциями вырезания и вставки текста между виртуальными и базовой системой.

VMware обеспечивает несколько режимов дистанционного управления GSX Server. Из консоли Virtual Machine Console на базе Windows можно установить соединение с сетевыми системами GSX Server. Web-интерфейс обеспечивает основные функции управления VM, в частности мониторинга и управления виртуальными машинами. Можно использовать набор API для Perl и COM, именуемых vmPerl и vmCOM соответственно.

GSX Server поддерживает виртуальные диски двух основных типов: непосредственные (raw) и виртуальные. Непосредственные диски напрямую обращаются к разделу локального диска. Базовая операционная система GSX Server воспринимает виртуальные диски как файл. В этом файле с расширением .vmdk хранится вся файловая система VM. Файлы виртуального диска можно динамически расширять или задавать их размеры во время создания.

С помощью дисков отмены GSX Server в конце сеанса можно сохранить или удалить все изменения, сделанные в VM, а функция моментальных снимков позволяет получить «моментальный снимок» текущего состояния виртуального диска. GSX Server поддерживает дифференциацию, но соответствующим процессом приходится управлять вручную, и он далеко не так прост, как дифференциация дисков Virtual Server.

Существует три типа виртуальных сетей для виртуальных машин GSX Server: хост-сеть (host-only), Network Address Translation (NAT — трансляция сетевых адресов) и мостовые (bridged). В хост-сеть входят только внутренние VM без внешних связей. В сети NAT виртуальные машины могут соединяться с внешней сетью с использованием IP-адреса хост-компьютера. GSX Server располагает встроенным DHCP-сервером для хост-сетей и NAT-сетей. Мостовые сети обеспечивают доступ виртуальных машин к внешней сети. В режиме None сетевые аппаратные средства блокируются.

GSX Server позволяет организовать службу Microsoft Cluster с использованием разделяемых виртуальных жестких дисков SCSI. Можно также перенести в GSX Server любые VM, построенные с помощью VMware Workstation. Важное преимущество GSX Server перед Virtual Server 2005 — полная поддержка устройств USB. Можно свободно переносить данные между виртуальными машинами GSX Server и устройствами флэш-памяти USB.

Рабочие характеристики

Для определения рабочих характеристик был использован комбинированный индекс производительности, полученный с помощью эталонной тестовой программы Sandra на заново установленной системе Windows 2003, Enterprise Edition. Я тестировал многочисленные параметры системной производительности, в том числе базовое быстродействие дисплея, скорость доступа к памяти, файлового доступа и обращений в сеть.

Все тесты для Virtual Server 2005 были выполнены на локальном сервере, работающем с Virtual Server, с использованием Virtual Machine Remote Control Client в полноэкранном режиме. Я настроил VM на работу с оперативной памятью объемом 384 Мбайт и фиксированным виртуальным жестким диском SCSI, чтобы динамическое расширение не влияло на тест. VHD и базовая операционная система располагались на различных физических дисках. Чтобы оценить влияние Virtual Machine Additions на производительность, сначала было проведено тестирование без Virtual Machine Additions, а затем — повторное тестирование после установки расширений.

Во всех тестах виртуальные машины Virtual Server работали медленнее, чем машины GSX Server. На тесте арифметических операций процессора (Рис. 1) результат Virtual Server был хуже GSX Server почти на 20%. Похожими были итоги теста мультимедиа (Рис. 2). Различия на других тестах были менее заметны, но преимущество GSX Server в скорости обращений к файловой системе составило 17,5 % (Рис. 3), а к сети — 5 % (Рис. 4). Virtual Machine Additions в большей степени способствовали повышению скорости доступа Virtual Server к файлам и сети, чем арифметических и мультимедиа-операций.

Виртуальная машина GSX Server была настроена на использование 384 Мбайт оперативной памяти, а виртуальный жесткий диск SCSI располагался не на том же физическом диске, что и базовая операционная система. Были проведены два набора тестов: первый — без VMTools, а второй — с VMTools. Как видно на рис. 1-4, производительность виртуальных машин GSX Server была значительно выше, чем у VM, работающих с Virtual Server. Учитывая, что GSX Server представлен третьей версией, а Virtual Server — первой, неудивительно, что быстродействие GSX Server выше.

Очевидный выбор

Оба продукта — превосходного качества, и ни один не вызвал серьезных проблем. Для работы с Linux или другими гостевыми операционными системами в производственной среде VMware GSX Server подходит как нельзя лучше. Компания VMware официально поддерживает большинство широко распространенных дистрибутивов Linux. По адресу http://www.vmware.com/products/server/ gsx_features.html можно получить более подробную информацию о продукте и загрузить 30-дневную пробную версию VMware GSX Server 3.1.

Однако для предприятий, ориентирующихся на продукты Microsoft, больше подойдет Virtual Server 2005. Цена продукта значительно ниже, чем у GSX Server, при этом он обеспечивает те же возможности для гостевых операционных систем Windows, хотя и с более низким быстродействием. По адресу http://www.microsoft.com/virtualserver можно получить более подробную информацию о продукте и загрузить 180-дневную пробную версию Virtual Server 2005.


Microsoft Virtual Server 2005

Контактная информация: Microsoft

Адрес: http://www.microsoft.com/windowsserversystem/ virtualserver/default.mspx

Цена: 499 долл. за Standard Edition; 999 долл. за Enterprise Edition.

Достоинства: дистанционное управление на базе Web; простота использования дифференциальных дисков.

Недостатки: ограниченная поддержка базовых и гостевых операционных систем; отсутствие совместимости с устройствами флэш-памяти USB.

Оценка по пятибалльной шкале: 4,5.

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

VMware GSX Server 3.1

Контактная информация: VMware

Адрес: http://www.vmware.com

Цена: 1400 долл. за лицензию для двух процессоров; 2800 долл. за лицензию для неограниченного числа процессоров.

Достоинства: отличная поддержка разнообразных операционных систем; легкость использования; высокое быстродействие VM.

Недостатки: высокая цена; функции миграции для VMware P2V Assistant реализованы в модуле расширения.

Оценка по пятибалльной шкале: 4,5.

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


Старший технический редактор Windows & .NET Magazine и президент компании TECA. С ним можно связаться по адресу: mikeo@teca.com