воскресенье, 23 ноября 2014 г.

Использование VirtualBox с образами машин на USB накопителе

Я использую для разработки виртуальные машины, созданные при помощи замечательной программы VirtualBox. Все здорово и замечательно. Получаешь "чистую" систему, есть возможность потестировать под различными версиями операционных систем (не буду приукрашивать, использую только различные версии Windows, разрабатываю под них), можно создавать снимки, возвращаться к предыдущим состояниям (ранее сделанным снимкам). Красота, одним словом.


Но, как и всегда, есть ложка дегтя в бочке меда. Разработку я веду на нескольких компьютерах. Тут и ноутбук, два десктопа, даже нетбук. На всех, естественно, установлен VirtualBox. Первое время я копировал с одного компьютера на другой файлы с виртуальными машинами. Длилось это не долго (не копирование, а такой режим синхронизации; копирование, как раз, было долгим). Каждый файл с виртуальной машиной занимает несколько гигабайт, а если еще снимки. Кроме того, при создании новой виртуальной машины или снимка, приходилось вручную редактировать XML файл настроек VirtualBox-а. Так что вскоре файлы виртуальных машин перекочевали на USB диск, а вот редактировать файл настроек так и приходилось вручную.

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

Однако, и от этого способа "синхронизации" удалось избавиться. К счастью, у VirtualBox оказалась переменная окружения, которая определяет, где находится файл конфигурации, описывающий виртуальные машины, снимки и т.д. Устанавливаем эту переменную окружения так, чтобы она указывала на каталог, находящийся на USB накопителе, и теперь и сами виртуалки, и их описания стали мобильными. На нужном компьютере устанавливаем VirtualBox, прописываем переменную окружения и запускаем нужную виртуалку. Да... параметр называется VBOX_USER_HOME, создавал я его как системную переменную окружения.

В качестве послесловия. В принципе, можно пойти еще дальше. Есть такой ресурс - http://www.vbox.me. Там выкладываются версии Portable VirtualBox. Эта разработка из себя представляет загрузчик (loader) для VirtualBox. С ее помощью можно установить VirtualBox на USB диск, и запускать его без установки на каждом конкретном компьютере. Однако, тут есть некоторые ограничения. Во-первых, для работы с сетью, отслеживания USB подключений нужны драйвера, работающие в режиме ядра (kernel mode). Это, в свою очередь, означает, что запустить VirtualBox, которому требуются данные драйвера, можно только под учетной записью, обладающей нужными правами, проще говоря, работая с правами администратора. Во-вторых, для некоторых полезных функций VirtualBox-а, например, для возможности использования на виртуальной машине каталогов, размещенных на физическом компьютере, требуется установка так называемых расширений (extensions). Честно говоря, я не проверял, нужно ли устанавливать Extension Pack на каждом физическом компьютере, на котором планируется использовать VirtualBox, но такая вероятность существует.

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

Комментариев нет:

Отправить комментарий