Unix-way → Установка и настройка виртуальной машины VirtualBox без GUI на сервер с GNU/Linux

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

В статье используется Ubuntu 11.10 server с IP адресом 192.168.0.100. Залогинюсь как обычный пользователь, а не как root (в примере пользователь — administrator). Эта статья актуальна для любого дистрибутива, только потребуется правка пункта «Установка VirtualBox», вы поняли почему и с этим легко справитесь.

Установка VirtualBox

Для установки VirtualBox на Ubuntu 11.10 server открываем /etc/apt/sources.list:

sudo nano /etc/apt/sources.list


В конце добавляем репозиторий:

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


Теперь скачаем и добавим ключ:

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


Обновим базу данных APT:

sudo apt-get update


Установим VirtualBox следующим образом:

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


Пакет dkms даст гарантии что модули ядра VirtualBox правильно обновятся, если система изменит версию ядра.

Начиная с VirtualBox версии 4.0, был введен так называемый «Extension Pack», куда например и была перенесена ранее доступная в самом VirtualBox функция поддержки удаленного подключения к рабочему столу (VRDP). Потому нужно установить соответствующий пакет расширений.

Идем на www.virtualbox.org/wiki/Downloads, находим Extension Pack:

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


Скачиваем и устанавливаем Extension Pack:

cd /tmp
wget http://download.virtualbox.org/virtualbox/4.1.8/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack


Последняя команда должна быть обязательно с повышением привилегий sudo, иначе получим ошибку:

administrator@server:/tmp$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.vbox-extpack
0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to install "/tmp/Oracle_VM_VirtualBox_Extension_Pack-4.1.8-75467.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@server:/tmp$


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

sudo adduser administrator vboxusers


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

Создание виртуальной машины (VM)

Для этого можно воспользоваться командой VBoxManage. Подробнее:

VBoxManage --help


>>>Список доступных параметров<<<

Буду создавать VM — Ubuntu 11.10 Server: RAM 512 Мб, жесткий диск 10 Гб, ISO-образ хранится в /home/ubuntu-11.10-server-amd64.iso):

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


Импорт существующих VM

Предположим у нас есть VM под называнием examplevm. На старом хосте в каталоге VirtualBox должен быть каталог Machines/examplevm с файлом examplevm.xml.

Нужно скопировать каталог examplevm в Machines на новый хост (если имя пользователя administrator, это /home/administrator/.VirtualBox/Machines, должно получиться /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml).

Также нужно скопировать файл examplevm.vdi из старого каталога VDI в новый, например /home/administrator/.VirtualBox/VDI/examplevm.vdi.

После этого регистрируем импортированную VM:

VBoxManage registervm Machines/examplevm/examplevm.xml


Запуск VM с VBoxHeadless

VBoxHeadless --startvm "Ubuntu 11.10 Server"


Ubuntu 11.10 Server это имя VM. VBoxHeadless запустит VM и VRDP (VirtualBox Remote Desktop Protocol) сервер.

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

VBoxManage controlvm "Ubuntu 11.10 Server" poweroff


Приостановить VM:

VBoxManage controlvm "Ubuntu 11.10 Server" pause


Перезагрузить VM:

VBoxManage controlvm "Ubuntu 11.10 Server" reset


Подробности:

VBoxHeadless --help


И на www.virtualbox.org/manual/ch07.html#vboxheadless

Удаленное подключение к VM

В Windows можно использовать встроенную утилиту удаленного подключения к рабочему столу. В окне утилиты введите имя хоста или его IP адрес, например 192.168.0.100:

В Linux можно использовать команду rdesktop:

rdesktop -a 16 192.168.0.100


Если подключение не работает, вероятней всего был пропущен этап установки пакета с расширениями VirtualBox (extension pack). Установите пакет и активируйте подключение:

VBoxManage modifyvm "Ubuntu 11.10 Server" --vrde on
  • avatar
  • pashtuun
  • 12169
  • +20
  • 23 января 2012, 12:19

Комментариум (14)

RSS свернуть / развернуть
+
-1
avatar

Anonymous

  • 23 января 2012, 15:37

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Только убунтуебам придет в голову использовать VirtualBox для впсов, есть замечательные KVM или менее православный OpenVZ.
+
+5
avatar

terra

  • 23 января 2012, 16:45

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Гы, понравился предыдущий коммент, от себя-же добавлю:
какому админу-ламеру придет в голову ставить на сервер ubuntu да еще и без гуя, если для этих нужд есть куда более стабильные дебиан и центнерось? Тада уж лучше сразу Windows Server лепить, коли знаний в этом деле с гулькин хер.
И вот эта строчка не особо сурьезна:
Пакет dkms даст гарантии что модули ядра VirtualBox правильно обновятся, если Linux измененит версию ядра.
Итак что значит выражение: если Linux измененит версию ядра? Linux это и есть ядро и само себя оно измененять ну никак не может=)) Да и Dynamic Kernel Module Support придуман далеко не для отслеживания изменений в ядрах и не заточен он остро на заботу о нормальном функциклировании VB. dkms это своеобразная «розетка» в ядре для быстрого подключения сторонних модулей-драйверов.
+
+4
avatar

Anonymous

  • 23 января 2012, 19:26

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
"какому админу-ламеру придет в голову ставить на сервер ubuntu да еще и без гуя"

ubuntu Server != ubuntu Desktop не путай. Конечно Debian будет предпочтительней, но нет ничего плохого если стоит ubuntu Server. От Гуя все беды, а сервер с гуем это как раз придет в голову админу-ламеру.
+
+3
avatar

Anonymous

  • 23 января 2012, 19:34

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Никто не мешает поставить VB на Debian или CentOS.
+
+4
avatar

terra

  • 24 января 2012, 10:27

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Интересно чем это бубунту сервер сильно отличается от дектопа, десятком дополнительных пакетов. А вот новое ядро не прибавляет серверу стабильности да и более ресурсоемкое.
+
+1
avatar

pashtuun

  • 24 января 2012, 10:50

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Установить можно на что угодно, а настройка подходит для любого дистрибутива. В заголовке топика «Убунту» из за этого? Можно убрать если не православно как выразились выше )) Поправил немного статью ))
+
+2
avatar

terra

  • 24 января 2012, 18:04

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Да уж, бубунту это скорее вуду, чем православие=)) Однако это я ответил на «ubuntu Server != ubuntu Desktop не путай».
+
0
avatar

pashtuun

  • 24 января 2012, 10:25

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Пакет dkms даст гарантии что модули ядра VirtualBox правильно обновятся, если Linux измененит версию ядра.

Под Linux имел ввиду ОС
+
0
avatar

pashtuun

  • 24 января 2012, 10:26

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
какому админу-ламеру придет в голову ставить на сервер ubuntu да еще и без гуя, если для этих нужд есть куда более стабильные дебиан и центнерось? Тада уж лучше сразу Windows Server лепить, коли знаний в этом деле с гулькин хер.

Каждому свое
+
+3
avatar

Anonymous

  • 23 января 2012, 19:32

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
В первые вижу человека использующего для этих целей VirtualBox. Чем он лучше XEN? Сделал бы пост как VB себя ведет в продакшине, было бы крайне интересно прочесть о тонкостях, а не об установке. Очень скептически отношусь.
+
+2
avatar

pashtuun

  • 24 января 2012, 10:34

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Это всего лишь демонстрация установки и работы VirtualBox без GUI а использовать для каких то целей или нет каждый сам решает

Чем он лучше XEN?


Определенно ни чем

Сделал бы пост как VB себя ведет в продакшине


Увы на личном опыте не знаю. Читал жуткий тормоз. Лучше использовать XEN или KVM или OpenVZ
+
0
avatar

Anonymous

  • 12 ноября 2013, 21:57

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
В продакшине для несложных задач (специфическая CMS, с некоторыми модулями на ASM) ведет себя вполне сносно (не падает).
+
+3
avatar

makenskiy

  • 24 января 2012, 19:55

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
А я думал VirtualBox создан как песочница для просмотра новых дистров :)
+
+2
avatar

Gleb

  • 26 января 2012, 16:22

  • Warning: Smarty error: unable to read resource: "cmtedit_button.tpl" in /home/m/makenskiy/itbuben.org/public_html/engine/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
видел я сервера в одной компании с VB (без GUI, debian). коекакеры ставили, даже мне было ясно) цензурно — это был мрак — сплошные перезагрузки. VB очень хорош для личного компа, прост.

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.