Pull to refresh

Управление VirtualBox с помощью консоли

Reading time3 min
Views16K
Виртуализация… виртуализация…
Сейчас все пытаются выжать из своих аппаратных ресурсов как можно больше. Иметь несколько отдельных компьютеров с различными ОС немного накладно и не все организации пойдут на это. Но выход есть, можно использовать виртуальные машины. И возможно, что многие используют для этих целей замечательный продукт от Sun «VirtualBox». Я уверен, что большинство для настройки используют GUI интерфейс, т.к. это очень наглядно и удобно. Но многие ли задумывались о возможности управления VirtualBox через консоль.
Была поставлена задача: На один сервер поставить две ОС (Ubuntu и Windows). При этом был работающий сервер под управлением Ubuntu 9.04 Server Edition. Поэтому было решено ставить Windows XP в качестве гостевой системы.
Но возникла проблема на Ubuntu НЕ УСТАНОВЛЕНА никакая графическая среда, т.е. там есть только голая консоль.

Итак, что у нас есть:
  • Хост система: Ubuntu 9.04 Server Edition
  • VirtualBox 2.2.2
  • Гостевая система: Windows XP

Установка VirtualBox


Скачиваем с официального сайта VirtualBox пакет для Ubuntu 9.04
После того, как скачали, выполняем комманду:
dpkg -i virtualbox-2.2_2.2.2-46594_Ubuntu_jaunty_i386.deb
VirtualBox должен установится. Если возникла проблемы при установке пакета, изучите сообщение об ошибках. Возможно у вас не установлены необходимые пакеты. В моем случае у меня не был установлен пакет libxslt1.1, что моментально было исправлено командой sudo apt-get install libxslt1.1.
Добавляем себя в группу vboxusers
sudo usermod -a -G vboxusers имя_пользователя

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


Для начала стоит отметить, что для управления виртуальными машинами через консоль используется одна команда VBoxManage (правда у неё очень много параметров).
Начнем.
  1. Для начала создадим машину и сразу её зарегистрируем
    VBoxManage createvm -name имя_виртуальной_машины -register
  2. Далее необходимо создать диск для машины
    VBoxManage createhd --filename имя_диска --size размер_диска_в_мегабайтах
    Существует возможность выбрать тип диска VDI (VirtualBox), VMDK (VMWare), VHD (Microsoft Virtual PC). По умолчанию, конечно же, VDI :).
  3. Делаем дополнительные настройки нашей виртуальной машины. Укажем:
    • Тип гостевой ОС. Для получения списка поддерживаемых ОС выполните команду VBoxManage list ostypes
    • Размер выделяемой памяти
    • Наименование главного диска
    • Возможность использовать VRDP (VirtualBox Remote Desktop Protocol)
    VBoxManage modifyvm имя_виртуальной_машины --ostype тип_ОС --memory размер_памяти_в_мегабайтах --hda имя_диска --vrdp on
  4. Подключим образ диска, с которого будем ставить Windows XP
    • Зарегестрируем DVD с образом дистрибутива системы
      VBoxManage openmedium путь_до_образа
    • Вставим наш диск в виртуальный привод
      VBoxManage modifyvm WindowsXP --dvd путь_до_образа

  5. Посмотрим на настройки нашей машины. Убеждаемся, что все нас устраивает и…
    VBoxManage showvminfo имя_машины


… Запуск… Поехали


Чтобы запустить виртуальную машину надо выполнить
VBoxManage startvm имя_машины --type vrdp
Параметр --type vrdp нужен, чтобы подключиться к машине с помощью VRDP
Все, теперь осталось подключится к нашей машине, с помощью удаленного рабочего стола. Это можно сделать с помощью стандартных утилит: для windows это mstsc, для никсовых систем rdesktop.Т.к. у нас есть только консоль, то надо воспользоваться компьютером, имеющим графический рабочий стол.
Чтобы подключится, надо указывать IP хост машины и порт для данной виртуальной машины. В моем случае, я ничего не менял и использовал порт по умолчанию (3389). Чтобы изменить порт, выполните VBoxManage --vrdpport порт. Если у Вас установлено несколько виртуальных машин, то для того, чтобы подключаться к каждой их них, необходимо в настройках указать различные порты, например, для первой машины 3389, для второй 3390 и т.п.


Вместо эпилога


Теперь у нас запущена виртуальная машина и мы к ней спокойно можем подключаться используя протокол VRDP. Я спокойно установил Window XP, находясь за своим рабочим компьютером.

P.S. Windows XP была нужна только по одной причине. В проекте нужно было использовать MS SQL Server.

Полезные ссылки:


Документация по VBoxManage

UPD: bsdemon предложил ещё один способ. Использовать libvirt
Tags:
Hubs:
+9
Comments8

Articles

Change theme settings