Плюсы и минусы 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. Вполне возможно, что какие-то дополнения предложат и сторонние разработчики.

Обновленный графический интерфейс – визитная карточка Oracle VM VirtualBox 4
Рис. 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 постарались максимально оградить своих пользователей от возможных проблем и необходимости разбираться с техническими подробностями. В большинстве случаев достаточно соглашаться с предложенными по умолчанию настройками, регулируя лишь самые необходимые и очевидные из них, скажем, объем оперативной памяти. При этом программа в определенной степени будет контролировать корректность выбранных параметров и при необходимости вносить поправки или выдавать соответствующие предупреждения. Не случайно также все наиболее тонкие настройки и действия могут быть выполнены исключительно из командной строки, что, конечно, требует от пользователя определенного понимания происходящего.

Использование

При инсталляции Oracle VM VirtualBox 4 можно смело оставлять все компоненты
Рис. 2. При инсталляции Oracle VM VirtualBox 4 можно смело оставлять все компоненты

Развертывание Oracle VM VirtualBox в Windows (на примере Windows 7) проходит достаточно быстро и просто, пользователь может несколько скорректировать состав установки, в чем, впрочем, совершенно нет необходимости — на самом деле, все предлагаемые компоненты могут действительно пригодиться в процессе эксплуатации, за исключением разве что поддержки Python (необходимой для управления ПО посредством скриптов). При этом инсталлируются несколько системных драйверов, о чем операционная система выдаст соответствующие предупреждения. Перезагрузки не потребуется. Сразу же имеет смысл установить стандартный Extension Pack — даже если вам не нужны средства удаленного управления (по умолчанию они остаются отключенными), расширенная поддержка USB наверняка не будет лишней. Процедура развертывания Oracle VM VirtualBox в других операционных системах может иметь свои особенности и требовать дополнительных действий, к примеру, проверку наличия необходимых пакетов в случае Linux.

Подобная предупредительность делает честь разработчикам и проявляется довольно часто
Рис. 3. Подобная предупредительность делает честь разработчикам и проявляется довольно часто

Extension Pack от Oracle – безусловно полезный компонент, который стоит установить сразу же после Oracle VM VirtualBox
Рис. 4. Extension Pack от Oracle — безусловно, полезный компонент, который стоит установить сразу же после Oracle VM VirtualBox

Следующий этап — создание собственно виртуальных машин. Здесь удобно то, что пользователь может выбрать один из предопределенных шаблонов гостевых ОС, — соответственно программа автоматически настроит большинство параметров, прежде всего, подберет максимально совместимое виртуальное оборудование. Однако каждый из параметров можно регулировать и вручную, но при этом полезно сверяться с документацией. Скажем, в моем случае добавление второго виртуального процессора в целом, скорее, ухудшало производительность, причем и ВМ, и хоста — достаточно ожидаемый результат, с учетом использования древнего Pentium D.

Широкая поддержка гостевых ОС – сильная сторона Oracle VM VirtualBox. Ubuntu 10.10 после обновлений будет полностью готова к работе в ВМ и установке дополнений гостевой машины
Рис. 5. Широкая поддержка гостевых ОС — сильная сторона Oracle VM VirtualBox. Ubuntu 10.10 после обновлений будет полностью готова к работе в ВМ и установке дополнений гостевой машины

Также в большинстве случаев имеет смысл согласиться и с выбором по умолчанию виртуального дискового контроллера. Для современных гостевых ОС обычно предлагается IDE для привода оптических дисков и SATA в режиме AHCI для жестких дисков. По утверждению самих разработчиков, использование SCSI или SAS выигрыша в производительности не дает, так что эти варианты пригодятся разве что в каких-то специальных ситуациях. Аналогично вполне разумным выбором представляется динамически расширяемый виртуальный диск, указание фиксированного размера обычно дает незначительный выигрыш в производительности, но сразу отнимает дисковое пространство хоста. Естественно, необходимо предоставить достаточно пространства для роста файлов-образов и контролировать их фрагментацию. Oracle VM VirtualBox также допускает использование iSCSI-таргетов или локальных физических жестких дисков/разделов. Выгоды от последнего варианта не вполне очевидны, так как его выбор исключает механизмы кэширования ОС хоста, влияние чего на общую производительность трудно предсказуемо.

Если планируется интенсивная сетевая работа ВМ, имеет смысл поэкспериментировать с сетевым интерфейсом, в частности испытать virtio-net
Рис. 6. Если планируется интенсивная сетевая работа ВМ, имеет смысл поэкспериментировать с сетевым интерфейсом, в частности испытать virtio-net

Более серьезно на данном этапе стоит задуматься разве что о настройке сетевого интерфейса. В частности, интересным вариантом представляется выбор паравиртуализационного сетевого адаптера virtio-net из проекта KVM (драйверы имеются и для Windows), который не имитирует реальное оборудование, а представляет собой достаточно простой интерфейс непосредственно к управляющему гипервизору. Традиционно паравиртуализационный подход сулит рост быстродействия, так что и в данном случае можно ожидать повышения скорости сетевого взаимодействия. Кроме того, нужно обратить внимание на метод организации виртуальной сети. Предлагаемый по умолчанию NAT не позволит использовать ВМ в локальной сети и имеет ряд других ограничений, избавиться от которых поможет Сетевой мост. При отсутствии необходимости выхода ВМ во внешнюю сеть можно также выбрать Внутреннюю сеть (коммуникации будут возможны только между ВМ) или Виртуальную сеть в рамках хоста.

После настройки параметров ВМ достаточно запустить установку гостевой ОС, к примеру, подключив привод физического компьютера или ISO-образ с дистрибутивом. По сути процедура ничем не отличается от установки на физический компьютер и занимает, в общем, соизмеримое время.

Настройки виртуального дисплея одни из самых интересных. Здесь включается аппаратное ускорение графики, а на вкладке Удаленный дисплей активируется VDRP
Рис. 7. Настройки виртуального дисплея одни из самых интересных. Здесь включается аппаратное ускорение графики, а на вкладке Удаленный дисплей активируется VDRP

Графика

Практически единственной особенностью настройки гостевых ОС является установка так называемых Дополнений гостевой ОС, рекомендуемая в любых сколько-нибудь серьезных применениях. Это обеспечит «сквозное» использование указание мыши на хосте и в ВМ, синхронизацию времени, поддержку разделяемых папок (синтаксис доступа: \VBOXSVR) и буфера обмена, а также ряд других полезных возможностей, среди которых стоит особо выделить улучшенную поддержку графики. Благодаря специальным драйверам 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/51950/33
ФМ365/64280/72

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

Настройки виртуального дисплея одни из самых интересных. Здесь включается аппаратное ускорение графики, а на вкладке Удаленный дисплей активируется VDRP
Рис. 7. Настройки виртуального дисплея одни из самых интересных. Здесь включается аппаратное ускорение графики, а на вкладке Удаленный дисплей активируется VDRP

Для использования в ВМ с Windows аппаратного ускорения графики Дополнения гостевой машины необходимо устанавливать в Safe Mode и собственноручно пометить опцию Direct3D Support
Рис. 8. Для использования в ВМ с Windows аппаратного ускорения графики Дополнения гостевой машины необходимо устанавливать в Safe Mode и собственноручно пометить опцию Direct3D Support

К сожалению, поддержка Direct3D пока «хромает» во всех смыслах – и качественно, и с точки зрения производительности. OpenGL реализован намного лучше
Рис. 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

Среди прочего Oracle VM VirtualBox отличается качественной поддержкой USB-периферии, которую можно подключать оперативно или жестко закрепить за конкретной ВМ
Рис. 10. Среди прочего Oracle VM VirtualBox отличается качественной поддержкой USB-периферии, которую можно подключать оперативно или жестко закрепить за конкретной ВМ

Заключение

Итак, Oracle VM VirtualBox, безусловно, имеет свои слабые и сильные стороны. Однако уникальное положение этого ПО на современном рынке средств виртуализации делает его оправданным выбором во многих случаях. Тем более, что проект продолжает развиваться, Oracle явно не собирается его сворачивать, а открытый подход традиционно привлекает заинтересованных сторонних разработчиков. В качестве полезного примера деятельности последних можно привести phpVirtualBox — еще один способ удаленного доступа к Oracle VM VirtualBox, на этот раз через веб-сервер.

7 апреля 2011 Г.

Oracle VM VirtualBox 4

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. , - .

      Oracle VM VirtualBox 4
. 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 . , , , . . , , , .

  Oracle VM VirtualBox 4
. 2. Oracle VM VirtualBox 4

Oracle VM VirtualBox Windows ( Windows 7) , , , , — , , Python ( ). , . . Extension Pack — ( ), USB . Oracle VM VirtualBox , , Linux.

. 3.

Extension Pack  Oracle    ,       Oracle VM VirtualBox
. 4. Extension Pack Oracle — , , Oracle VM VirtualBox

— . , , — , , . , . , , , , , — , Pentium D.

       Oracle VM VirtualBox. Ubuntu 10.10
. 5. — Oracle VM VirtualBox. Ubuntu 10.10

. IDE SATA AHCI . , SCSI SAS , - . , , . , - . Oracle VM VirtualBox iSCSI- /. , , .

     ,      ,    virtio-net
. 6. , , virtio-net

. , virtio-net KVM ( Windows), , . , . , . NAT , . ( ) .

, , ISO- . , , .

      .     ,       VDRP
. 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/51950/33
365/64280/72

, , , , , .

      .     ,       VDRP
. 7. . , VDRP

     Windows          Safe Mode     Direct3D Support
. 8. Windows Safe Mode Direct3D Support

 ,  Direct3D  «»      ,     . OpenGL
. 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

  Oracle VM VirtualBox    USB-,
. 10. Oracle VM VirtualBox USB-,

, Oracle VM VirtualBox, , . . , , Oracle , . phpVirtualBox — Oracle VM VirtualBox, -.