Ярлыки

понедельник, 4 июня 2012 г.

Виртуализация на VirtualBox

Название темя поста я написал, конешно, глобальное, но здесь есть очень много моментов, которые я постепенно буду добавлять в этот пост.
Вот тут много написано про виртуализацию на VB
Момент первый: установка. 
Устанавливается VB естественно на Linux, так как стабильнее и удобнее в управлении как с командной строки, так и удаленно.
Установочный бинарник качается сразу с официального сайта Oracle, так как в репах всегда старые версии. Оттуда же качается пакет дополнения для работы с USB.
Момент второй: настройка сети.
 На машине-хосте имеются несколько виртуальных машин: каждая под свою роль. Одни системы для серверов - шлюз, DHCP, файловый, веб-сервер и так далее, а так же  их клоны на случай сбоя.
Так же имеются несколько тестовых систем разных виндовз и линукс.
 Требуется: каждая виртуальная машина должна видеть по сети другую виртуальную, а так же компы внешней сети. Компы из внешней сети должны видеть виртуальные.
 Решение: на виртуальном шлюзе ставим прокси, DHCP и два сетевых интерфейса. Один интерфейс связан сетевым мостом с физическим сетевым интерфейсом машины-хоста, который, в свою очередь смотрит в инет. Второй интерфейс шлюза настроен так - сетевой мост на другой физический сетевой интерфейс машины-хоста, причем обязательно установить "неразборчивый режим" в позицию "разрешить всё".
Сетевые интерфейсы других виртуальных машин настроить так же как второй интерфейс шлюза и на тот же  физический сетевой интерфейс машины-хоста.
Момент третий: установка веб-морды для VirtualBox.
Здесь указано как устанавливать. От меня небольшое дополнение. Тупо копипастить не получится. Надо подстраивать под себя. Я долго сидел разбирался. Скачиваем, распаковываем как указано в статье. Переименовываем папку со скриптами в phpvirtualbox. Далее делаем как описано здесь:

VBOXWEB_USER='пользователь под которым запущен VB'
VBOXWEB_HOST=127.0.0.1
VBOXWEB_PORT=18083
Дальше лезем в /var/www/phpvirtualbox/config.php (его копируем из config.php-example) .
Изменения, которые я проделал:

var $username = 'пользователь под которым запущен VB';
var $password = 'пароль этого пользователя';
var $language = 'ru';
var $consoleHost = '192.168.1.3'; // IP сервера, на котором запущен VB
Далее запускаем/перезапускаем VB:
/etc/init.d/vboxweb-service start/restart
Лезем в браузер по адресу: http://192.168.1.3/phpvirtualbox/
В окне входа пишем admin и admin
Если всё нормально, то увидим страницу VB.
У меня была ошибка Error logging in to vboxwebsrv
Решил так:
В консоли дал команду
VBoxManage setproperty websrvauthlibrary null
Далее перезапустил VB из консоли и снова зашел.

Подсмотрел решение ошибки тут

USB

Для того чтобы усб-устройства работали, нужно ставить версию программы с поддержкой USB (не OSE)
ПО идее правильно подключать усб-устройство к виртуальной машине надо так: добавляем фильтр конкретного устройства в список фильтров и виртуальная машина при загрузке сразу перехватит это устройство. Если сделать пустой фильтр, то машина перехватит любое устройство (так можно если устройство одно).
НО, в линуксе как всегда всё через одно место...Фильтр поставил, устройство подключено, но не видится, перевоткнул в другой порт - заработало. То ли машина видит усб без фильтров, то  ли порт был говеный, то ли какой-другой вариант, о котором я не ведаю.

Автоматический запуск виртуальных машин при загрузке/перезагрузке сервера.

Тут два пути:
1. Сделать исполняемый скрипт, в котором команды будут запускать виртуальные машины и сунуть его в автозагрузку.
2. Прописать команды в оболочке Gnome - запускаемые приложения

У меня получился второй путь. В Параметры - Запускаемые приложения вписал
vboxmanage startvm Имя виртуальной машины
Если имя виртуальной машины содержит пробелы, то в команде имя писать в кавычках.

Моменты, которые будут рассмотрены в будующем: 
  • настройка автоматического запуска виртуальных машин при загрузке/перезагрузке сервера, 
  • подключение к серверу и VB из инета  (скоро отпуск и неохота ездить на работу из-за мелочей). 

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

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