Допиливаем VirtualBox

January 21st, 2010

При выборе системы виртуализации для меня одним из основных критериев была возможность автоматического запуска и останова виртуальных машин при старте и выключении основной системы. Из рассматриваемых кандидатов нативно это умеют делать только Hyper-V и VMWare Server.

Пока на домашней машине был Windows Server 2008 решение напрашивалось само собой — Hyper-V. Не без танцев с бубном, но всё же удалось установить FreeBSD amd64, на то время выполнявшей только роли почтового, jabber и веб-сервера. Но в отличии от 2003-го сервера, который весьма успешно можно использовать как рабочую станцию, 2008-й на каждом шагу пытался напомнить, что он является серверной операционной системой. Последней каплей стали частые проблемы со звуком — это и «обычные» для Windows Server 2008 заедания, и BSOD-ы в драйвере к моей Juli@.

С переходом на Windows 7 пришлось закрыть глаза на чудовищный интерфейс веб-морды у VMWare Server и поставить на неё FreeBSD x86 (64-разрядная система для моих задач всё же ни к чему). Также было принято решение не выставлять свою машину «голым задом» в интернет и добавить к виртуальному серверу роль маршрутизатора. Получилась вполне стабильная система, которая без проблем маршрутизировала канал в 100 Мбит. Даже IPSec туннель в мир наливал 10 МБ/с с 70-80% загрузкой виртуальной машины, работающей на одном ядре E6600. Всё бы хорошо, если бы не одно но — опять проблемы со звуком (предположительно от большой сетевой нагрузки, от которой VMWare Server начинал гадить в звуковой тракт).

Вот на этом этапе и возникло желание попробовать VirtualBox. Беглое тестирование проблем со звуком не выявило. А эмулирование сетевой карты Intel PRO/1000 внушало уверенность, что проблем с сетью быть не должно. Осталось только заставить VirtualBox работать как сервис для автоматического старта виртуальных машин.

И к этому времени уже появилось готовое решение — VBoxVmService. Но вот почти 6 МБ в архиве, требование Visual C++ Runtime 2005 и .NET Framework 2.0 для такой простейшей программы отбило всякое желание ей пользоваться, не смотря на то, что эти библиотеки уже давно у всех стоят. Значит пишем своё.

За один день в перерывах между работой был написан сам сервис, и ещё такой же день ушел на выяснение некоторых особенностей в архитектуре VirtualBox. На выходе получаем программу в 13.5 КБ и маленький конфигурационный файл. Детальное описание, инструкция по конфигурации и сам сервис — на странице VirtualBox Control Service.

Но по классике жанра должна быть какая-то ложка г. Так и есть — VirtualBox по IPSec туннелю смог налить мне максимум 8 МБ/с. Да и вообще сложилось впечатление, что в VMWare всё работало немного быстрее. Но нормальный звук важнее. Будет время — проведу более тщательное тестирование.

6 Comments »

teo
2010-01-31 05:06:31

1. Могу помочь в тестировании

2. В данный момент VirtualBox Control Service не доступен для скачивания – переделываете/переписываете?

2010-01-31 10:27:44

Да, переписываю. Оказалось, что при завершении работы нет гарантии, что сервис нормально завершится. Скоро будет доступна новая версия.

Правда полностью решить проблему можно только для Vista/7. В XP/2003 гарантировать корректное завершение сервиса похоже невозможно.

 
2010-02-01 21:16:03

Доступна версия 0.2.0

 
 
teo
2010-01-31 12:54:32

ок. С выходом новой версии испробую. С нетерпением жду! Удачи!

 
teo
2010-01-31 12:58:59

Ок! С Нетерпение жду и желаю удачи!

p.s. на днях выходит версия 3.1.4

 
artyv
2010-03-19 07:39:21

Круто! Потестю, отпишу если что не так. Спасибо!

 

Name (required)
E-mail (required, never shown publicly)
OpenID
Your Comment (smaller size | larger size)