Плюсы и минусы Oracle VM VirtualBox 4
В области виртуализации для платформы x86 сложилась довольно странная
ситуация. Популярные серверные решения, основанные на гипервизорах как
первого (VMware ESX, Microsoft
Hyper-V, Citrix XenServer), так и второго (VMware Server, Microsoft
Virtual Server) типов, давно стали бесплатными в базовых комплектациях,
хотя именно они представляют наибольшую коммерческую ценность. При этом
ряд известных продуктов уровня рабочих станций (VMware Workstation,
Parallels Desktop), т. е. ориентированных по сути не на деловую среду, а
на конечных пользователей, все еще стоит вполне ощутимых денег.
Впрочем, в последнем случае все же имеются исключения — Windows
Virtual PC и виновник сегодняшнего обзора Oracle VM VirtualBox. И если
первый из этих продуктов наибольший интерес представляет в контексте
использования бесплатного Windows XP Mode и в последнее время, судя по
всему, развивается Microsoft по остаточному принципу, то второй —
технологически довольно интересен и пытается поспевать за лидерами. Но
прежде чем познакомиться с ним поближе, все же необходимо разобраться с
позиционированием всего данного класса продуктов.
Общая характеристика
Системы виртуализации для рабочих станций предполагают в основном
персональное применение, обычно прямо на рабочем ПК. Типичные примеры —
виртуальные машины (ВМ) для тестовых целей, для исполнения устаревшего
несовместимого или специфического (к примеру, для другой ОС) приложения,
для разработки и отладки ПО. В подобных случаях решения, основанные на
гипервизорах первого типа, не только избыточны, но и совершенно неудобны
в силу своей архитектуры. VMware Server или Microsoft
Virtual Server, работающие внутри ОС хоста, на первый взгляд кажутся
более подходящими. Однако они не только сложны в освоении, но и имеют
ряд проблем в области usability гостевых ОС. Таково следствие серверной
ориентации, недвусмысленно обозначенной даже в их названиях, — ведь
серверы, скажем, не предполагают подключения широкого спектра периферии,
соответственно, исключение ее поддержки не только упрощает создание и
сопровождение ПО, но и делает его более надежным. Этот факт, кстати,
иногда сильно усложняет применение серверных систем виртуализации и по
самому прямому назначению — к примеру, при использовании приложений,
защищаемых USB-ключами, приходится прибегать к различным ухищрениям
вроде USB-over-Network.
Впрочем, Oracle VM VirtualBox и в данном контексте стоит
особняком, так как сочетает в себе особенности решений и для серверов, и
для рабочих станций. К первым можно отнести технологии «баллонного»
динамического перераспределения и дедупликации оперативной памяти ВМ на
64-битных хостах, поддержку iSCSI, некую разновидность «живой» миграции
(телепортации, в терминологии Oracle VM VirtualBox), режим работы без
GUI («безголовый») и эффективный метод удаленного доступа к ВМ через
общий RDP-сервер (VRDP, VirtualBox Remote Display Protocol). Ко вторым —
качественную поддержку USB-оборудования, в том числе USB 2.0, а также
2D- и 3D-ускорение в виртуальных машинах за счет ресурсов графического
адаптера хоста.
Актуальная на текущий момент версия Oracle VM VirtualBox 4.x —
первый крупный релиз, выпущенный под эгидой Oracle с момента
приобретения ею Sun Microsystems. Нельзя сказать, что в нем произошли
какие-то кардинальные изменения, касающиеся базовой функциональности,
хотя среди прочего был расширен список доступного виртуального
оборудования, улучшены управление вычислительными ресурсами и поддержка
формата OVF и операций с виртуальными жесткими дисками. Главное же в
этом релизе — переработка графического интерфейса и изменение
внутренней архитектуры программы с тем, чтобы вынести «закрытые» блоки
функциональности в подключаемые модули, так называемые Extension Packs,
вместо того чтобы создавать ради них отдельные редакции, как это было
прежде. Соответственно, упомянутые выше поддержка USB 2.0 и VRDP
реализованы Oracle именно в таком модуле, распространяемом по
специальной лицензии VirtualBox Personal Use and Evaluation License.
Вполне возможно, что какие-то дополнения предложат и сторонние
разработчики.
Рис. 1. Обновленный графический интерфейс — визитная карточка Oracle VM VirtualBox 4
Также обращает на себя внимание, что с момента выпуска версии Oracle
VM VirtualBox 4.0 уже появились два официальных обновления — 4.0.2 и
4.0.4. С одной стороны, это вроде бы является признаком небезразличия
Oracle к данному проекту, но с другой, свидетельствует и об определенной
«сырости» ПО. Действительно, Oracle VM VirtualBox отличается некоторой
нестабильностью и многочисленными нюансами, часть из которых, впрочем,
честно отмечена в документации. В значительной степени это является
следствием сложности ПО, тем более что разработчики стараются
максимально учесть возможные ситуации и обеспечить самую широкую
поддержку операционных систем (как хоста, так и гостевых). Так, Oracle
VM VirtualBox может обеспечивать виртуализацию в чисто программном
режиме или задействовав аппаратную поддержку в современных процессорах
(для решения некоторых задач она необходима), применяет
дизассемблирование кода гостевых ОС и ряд других изощренных технических
приемов, комбинируя их по мере надобности. Поэтому надо иметь в виду,
что применению Oracle VM VirtualBox с более-менее серьезными целями
должен, безусловно, предшествовать этап тщательного тестирования.
Тем не менее разработчики Oracle VM VirtualBox постарались
максимально оградить своих пользователей от возможных проблем и
необходимости разбираться с техническими подробностями. В большинстве
случаев достаточно соглашаться с предложенными по умолчанию настройками,
регулируя лишь самые необходимые и очевидные из них, скажем, объем
оперативной памяти. При этом программа в определенной степени будет
контролировать корректность выбранных параметров и при необходимости
вносить поправки или выдавать соответствующие предупреждения. Не
случайно также все наиболее тонкие настройки и действия могут быть
выполнены исключительно из командной строки, что, конечно, требует от
пользователя определенного понимания происходящего.
Использование
Рис. 2. При инсталляции Oracle VM VirtualBox 4 можно смело оставлять все компоненты
Развертывание Oracle VM VirtualBox в Windows
(на примере Windows 7) проходит достаточно быстро и просто,
пользователь может несколько скорректировать состав установки, в чем,
впрочем, совершенно нет необходимости — на самом деле, все предлагаемые
компоненты могут действительно пригодиться в процессе эксплуатации, за
исключением разве что поддержки Python (необходимой для управления ПО
посредством скриптов). При этом инсталлируются несколько системных
драйверов, о чем операционная система выдаст соответствующие
предупреждения. Перезагрузки не потребуется. Сразу же имеет смысл
установить стандартный Extension Pack — даже если вам не нужны средства
удаленного управления (по умолчанию они остаются отключенными),
расширенная поддержка USB наверняка не будет лишней. Процедура
развертывания Oracle VM VirtualBox в других операционных системах может
иметь свои особенности и требовать дополнительных действий, к примеру,
проверку наличия необходимых пакетов в случае Linux.
Рис. 3. Подобная предупредительность делает честь разработчикам и проявляется довольно часто
Рис. 4. Extension Pack от Oracle — безусловно, полезный компонент, который стоит установить сразу же после Oracle VM VirtualBox
Следующий этап — создание собственно виртуальных машин. Здесь удобно
то, что пользователь может выбрать один из предопределенных шаблонов
гостевых ОС, — соответственно программа автоматически настроит
большинство параметров, прежде всего, подберет максимально совместимое
виртуальное оборудование. Однако каждый из параметров можно регулировать
и вручную, но при этом полезно сверяться с документацией. Скажем, в
моем случае добавление второго виртуального процессора в целом, скорее,
ухудшало производительность, причем и ВМ, и хоста — достаточно ожидаемый
результат, с учетом использования древнего Pentium D.
Рис.
5. Широкая поддержка гостевых ОС — сильная сторона Oracle VM
VirtualBox. Ubuntu 10.10 после обновлений будет полностью готова к
работе в ВМ и установке дополнений гостевой машины
Также в большинстве случаев имеет смысл согласиться и с выбором по
умолчанию виртуального дискового контроллера. Для современных гостевых
ОС обычно предлагается IDE для привода оптических дисков и SATA в режиме
AHCI для жестких дисков. По утверждению самих разработчиков,
использование SCSI или SAS выигрыша в производительности не дает, так
что эти варианты пригодятся разве что в каких-то специальных ситуациях.
Аналогично вполне разумным выбором представляется динамически
расширяемый виртуальный диск, указание фиксированного размера обычно
дает незначительный выигрыш в производительности, но сразу отнимает
дисковое пространство хоста. Естественно, необходимо предоставить
достаточно пространства для роста файлов-образов и контролировать их
фрагментацию. Oracle VM VirtualBox также допускает использование
iSCSI-таргетов или локальных физических жестких дисков/разделов. Выгоды
от последнего варианта не вполне очевидны, так как его выбор исключает
механизмы кэширования ОС хоста, влияние чего на общую производительность
трудно предсказуемо.
Рис.
6. Если планируется интенсивная сетевая работа ВМ, имеет смысл
поэкспериментировать с сетевым интерфейсом, в частности испытать
virtio-net
Более серьезно на данном этапе стоит задуматься разве что о настройке
сетевого интерфейса. В частности, интересным вариантом представляется
выбор паравиртуализационного сетевого адаптера virtio-net из проекта KVM (драйверы имеются и для Windows),
который не имитирует реальное оборудование, а представляет собой
достаточно простой интерфейс непосредственно к управляющему гипервизору.
Традиционно паравиртуализационный подход сулит рост быстродействия, так
что и в данном случае можно ожидать повышения скорости сетевого
взаимодействия. Кроме того, нужно обратить внимание на метод организации
виртуальной сети. Предлагаемый по умолчанию NAT не позволит
использовать ВМ в локальной сети и имеет ряд других ограничений,
избавиться от которых поможет Сетевой мост. При отсутствии необходимости
выхода ВМ во внешнюю сеть можно также выбрать Внутреннюю сеть
(коммуникации будут возможны только между ВМ) или Виртуальную сеть в
рамках хоста.
После настройки параметров ВМ достаточно запустить установку
гостевой ОС, к примеру, подключив привод физического компьютера или
ISO-образ с дистрибутивом. По сути процедура ничем не отличается от
установки на физический компьютер и занимает, в общем, соизмеримое
время.
Рис.
7. Настройки виртуального дисплея одни из самых интересных. Здесь
включается аппаратное ускорение графики, а на вкладке Удаленный дисплей
активируется VDRP
Графика
Практически единственной особенностью настройки гостевых ОС является
установка так называемых Дополнений гостевой ОС, рекомендуемая в любых
сколько-нибудь серьезных применениях. Это обеспечит «сквозное»
использование указание мыши на хосте и в ВМ, синхронизацию времени,
поддержку разделяемых папок (синтаксис доступа:
\\VBOXSVR\<FolderName>) и буфера обмена, а также ряд других
полезных возможностей, среди которых стоит особо выделить улучшенную
поддержку графики. Благодаря специальным драйверам Oracle VM VirtualBox
реализует в гостевых машинах 2D- (только для Windows)
и 3D-ускорение. В последнем случае речь идет об OpenGL для Windows,
Linux, Solaris и DirectX 8/9 (экспериментальная функция) для Windows,
начиная с версии 2000. Причем 3D-драйверы для Windows корректно
устанавливаются только в Safe Mode и по специальному указанию
пользователя. К сожалению, о поддержке Aero говорить не приходится,
ввиду несоответствия нынешнего драйвера нужным спецификациям. По этой же
причине, видимо, зависает процедура вычисления индекса
производительности Windows 7. Тем не менее, большинство не слишком
требовательных приложений благополучно запускаются и работают, хотя
подобрать тест производительности оказалось не так-то просто, поскольку
многие их них проверяют наличие известных им драйверов. Понятно, что
обеспечить в ВМ производительность, аналогичную физической машине,
практически невозможно, впрочем, и в равные условия их поставить
непросто. Получить общее представление в части OpenGL поможет следующая
таблица, данные по DirectX приводить нет смысла, так в среднем в ВМ
результаты получаются на порядок ниже, чем на физической машине, что по
сути исключает возможность разумного применения.
Табл. Результаты тестов производительности FurMark (1024×768)
| Radeon HD 2400 XT (баллы/AVG FPS) | Radeon HD 4890 (баллы/AVG FPS) |
ВМ | 320/5 | 1950/33 |
ФМ | 365/6 | 4280/72 |
Как видно, производительность виртуальной графики масштабируется не
линейно, хотя мощная модель видеоадаптера хоста способна обеспечить
приемлемый уровень производительности, которого хватит, скажем, для
несложных игр или тестирования ПО.
Рис.
7. Настройки виртуального дисплея одни из самых интересных. Здесь
включается аппаратное ускорение графики, а на вкладке Удаленный дисплей
активируется VDRP
Рис.
8. Для использования в ВМ с Windows аппаратного ускорения графики
Дополнения гостевой машины необходимо устанавливать в Safe Mode и
собственноручно пометить опцию Direct3D Support
Рис.
9. К сожалению, поддержка Direct3D пока «хромает» во всех смыслах — и
качественно, и с точки зрения производительности. OpenGL реализован
намного лучше
VRDP
Реализация удаленного доступа в Oracle VM VirtualBox заслуживает
особого внимания. Он обеспечивается RDP-сервером на уровне самого
гипервизора, т. е. поддержка RDP внутри гостевых ОС (любого типа!)
вообще не нужна. Достаточно лишь для каждой управляемой ВМ включить VRDP
и указать отдельный порт в настройках дисплея. При использовании же
«безголового» управляющего интерфейса VBoxHeadless поддержка VRDP
активируется автоматически, а все необходимые дополнительные действия
можно выполнять из командной строки с помощью VBoxManage. При этом в
VRDP обеспечивается несколько способов аутентификации, шифрование,
удаленное подключение USB-устройств, многопользовательский доступ, а при
использовании RDP-клиента из Windows
7 даже перенаправление видео. Причем последняя функция также
реализована на уровне VRDP-сервера, т. е. не требует поддержки от
гостевых ОС и основана на автоматическом выявлении часто обновляющейся
прямоугольной области рабочего стола (впрочем, эффективность такого
подхода еще нужно оценить). Поскольку VirtualBox RDP обратно совместим с
Microsoft
RDP, для удаленной работы могут использоваться обычные RDP-клиенты,
однако надо иметь в виду, что стандартная графическая программа в
Windows не позволяет указывать номер порта сервера, но это возможно
сделать из командной строки, примерно таким образом:
mstsc /v:1.2.3.4:5678
Рис.
10. Среди прочего Oracle VM VirtualBox отличается качественной
поддержкой USB-периферии, которую можно подключать оперативно или жестко
закрепить за конкретной ВМ
Заключение
Итак, Oracle VM VirtualBox, безусловно, имеет свои слабые и сильные
стороны. Однако уникальное положение этого ПО на современном рынке
средств виртуализации делает его оправданным выбором во многих случаях.
Тем более, что проект продолжает развиваться, Oracle явно не собирается
его сворачивать, а открытый подход традиционно привлекает
заинтересованных сторонних разработчиков. В качестве полезного примера
деятельности последних можно привести phpVirtualBox — еще один способ удаленного доступа к Oracle VM VirtualBox, на этот раз через веб-сервер.
Источник: http://www.ixbt.com |