Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

VBoxHeadless - запуск виртуальной машины VirtualBox 4.1 в Ubuntu 12.04 Server без ГПИ

Оригинал: VBoxHeadless - Running Virtual Machines With VirtualBox 4.1 On A Headless Ubuntu 12.04 Server
Автор: Falko Timme
Дата публикации: 22 июня 2012 г.
Перевод: А. Рыженко
Дата перевода: июль 2012 г.

В данном руководстве рассматривается запуск виртуальной машины VirtualBox 4.1 в Ubuntu 12.04 Server без графического пользовательского интерфейса (ГПИ). Обычно, для управления виртуальной машиной используется графический интерфейс VirtualBox, но на сервере нет ГПИ. К счастью, в состав VirtualBox входит утилита VBoxHeadless, позволяющая управлять виртуальными машинами удаленно, по сети, а значит ГПИ не требуется.

Я не гарантирую работу описанного ниже способа.

1. Введение

Запускать ВМ я буду на машине с Ubuntu 12.04 Server и IP-адресом 192.168.0.100, зайдя как обычный пользователь с именем administrator.

2. Установка VirtualBox

Для установки VirtualBox 4.1 откроем файл /etc/apt/sources.list:

# sudo vi /etc/apt/sources.list

и добавим в него следующую строку:

deb http://download.virtualbox.org/virtualbox/debian precise contrib

Затем загрузим открытый ключ VirtualBox:

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

и обновим список пакетов:

# sudo apt-get update

Установим VirtualBox 4.1:

# sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.1 dkms

(Пакет dkms автоматически обновляет модуль VirtualBox при обновлении ядра).

Начиная с версии VirtualBox 4.0, некоторые функции, например поддержка удаленного подключения к рабочему столу (VRDP), были вынесены в пакет расширений. Удаленное подключение необходимо, чтобы управлять ВМ, поэтому нужно установить пакет расширений. Зайдите на страницу http://www.virtualbox.org/wiki/Downloads и найдите ссылку на пакет расширений:

VirtualBox 4.1.18 Oracle VM VirtualBox Extension Pack
Support for USB 2.0 devices, VirtualBox RDP and PXE boot for Intel cards.

Скачайте и установите его:

# cd /tmp
# wget http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack
# sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack

Убедитесь, что скачиваете новейшую версию пакета. Последнюю команду следует запускать с sudo, иначе будет выдано сообщение об ошибке наподобие этого:

administrator@server1:/tmp$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack
0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to install "/tmp/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack": The installer failed with exit code 127: Error creating textual authentication agent: Error opening current controlling terminal for the process (`/dev/tty'): No such device or address
administrator@server1:/tmp$

Теперь необходимо добавить пользователя, который будет запускать VirtualBox (в нашем примере administrator), в группу vboxusers:

# sudo adduser administrator vboxusers

VirtualBox установлен и готов к использованию.

3. Использование VirtualBox из командной строки

3.1. Создание ВМ

Создать ВМ можно командой VBoxManage. Для просмотра списка параметров выполните:

# VBoxManage --help

... также очень рекомендую ознакомиться с соответствующей главой руководства.

Я создам ВМ с Ubuntu 12.04 Server, 512 МБ ОЗУ и жестким диском на 10 ГБ. ISO-образ диска с ОС находится в файле /home/ubuntu-12.04-server-amd64.iso.

# VBoxManage createvm --name "Ubuntu 12.04 Server" --register
# VBoxManage modifyvm "Ubuntu 12.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
# VBoxManage createhd --filename Ubuntu_12_04_Server.vdi --size 10000
# VBoxManage storagectl "Ubuntu 12.04 Server" --name "IDE Controller" --add ide
# VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_12_04_Server.vdi
# VBoxManage storageattach "Ubuntu 12.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-12.04-server-amd64.iso

3.2 Импорт существующей ВМ

Допустим у Вас есть ВМ под названием examplevm, и Вы хотите использовать ее на другом компьютере. На компьютере с ВМ должен быть каталог .VirtualBox/Machines/examplevm/, а в нем файл examplevm.xml. Скопируйте папку examplevm/, вместе с файлом на целевой компьютер в домашнюю директорию своего пользователя. Путь к файлу должен выглядеть следующем образом: /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml . Также скопируйте в соответствующее место файл examplevm.vdi из каталога .VirtualBox/VDI/. Конечный путь должен иметь вид наподобие этого: /home/administrator/.VirtualBox/VDI/examplevm.vdi .

Наконец, зарегистрируйте импортированную ВМ:

# VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Запуск ВМ с помощью VboxHeadless

Независимо от того создали ли Вы новую ВМ или импортировали старую, ее можно запустить командой:

# VBoxHeadless --startvm "Ubuntu 12.04 Server"

указав в кавычках название ВМ.

VBoxHeadless запустит ВМ и VRDP (VirtualBox Remote Desktop Protocol) сервер, позволяющий видеть вывод ВМ на другом компьютере.

Для остановки ВМ выполните:

VBoxManage controlvm "Ubuntu 12.04 Server" poweroff

Для приостановки:

VBoxManage controlvm "Ubuntu 12.04 Server" pause

Для перезагрузки:

VBoxManage controlvm "Ubuntu 12.04 Server" reset

Узнать больше о VBoxHeadles можно, выполнив

VBoxHeadless --help

и ознакомившись с разделом руководства.

4 Подключение к ВМ через удаленный рабочий стол

4.1 Windows XP

Для подключения к ВМ можно использовать встроенную утилиту Remote Desktop Connection (Подключение к удаленному Рабочему столу):

Введите имя или IP-адрес сервера (не ВМ!):

И вот Вы уже подключились к ВМ:

4.2 Ubuntu 12.04

В настольной версии Ubuntu 12.04, чтобы подключится к ВМ можно использовать Remmina Remote Desktop Client (Клиент удаленного рабочего стола Remmina). Просто начните вводить в строку поиска remote desktop и щелкните по иконке программы:

В окне программы кликните по значку с плюсом, чтобы добавить новое удаленное подключение:

В окне настроек удаленного подключения укажите имя профиля, убедитесь, что выбран протокол RDP, в поле Server (Сервер) введите IP-адрес сервера (не ВМ!) и установите глубину цвета 8-16 бит. Щелкните по кнопке Connect (Подключиться):

И вот Вы уже подключились к ВМ:

4.3 Если удаленное подключение не работает...

Если удаленное подключение установить не удается, возможно, Вы не поставили пакет расширений VirtualBox (см. раздел 2). Установите его, затем остановите ВМ (см. раздел 3.3) и включите для нее поддержку подключения к удаленному рабочему столу (VRDE):

# VBoxManage modifyvm "Ubuntu 12.04 Server" --vrde on

(Если во время создания ВМ пакет расширений уже установлен, то поддержка VRDE будет включена автоматически).

Снова запустите ВМ.