Автор Тема: VirtualBox на сервере  (Прочитано 24359 раз)

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 956
    • Пошаговые инструкции
    • Email
VirtualBox на сервере
« : 11.04.2010 13:41:46 »
Оглавление
1. Пошаговая инструкция: Установка  VirtualBox, взятого с  http://download.virtualbox.org/virtualbox


Видеоурок V_1

VirtualBox на  сервере

Видеоурок можно скачать по адресу:
http://salomatin.ru/vb1.ogv  # часть №1
http://salomatin.ru/vb2.ogv  # часть № 2


Текст видеоурока:


Многие пробовали запускать на своем настольном компьютере VirtualBox, а там уже устанавливать гостевую ОС.
В Альт Линукс 5.0.1 Школьный Сервер это тоже можно делать. Точно также. Разница лишь в том, что каждому нажатию мышкой в графической среде Desktop'а или Windows есть заменяющая команда. А для установки самой гостевой системы включается дополнительный дисплей.

Почему именно VirtualBox, если есть KVM и OpenVZ.
Судя по форуму он уже самый популярный. А также в VB не надо предварительно создавать профили и переносить их на сервер, а можно ставить удаленно гостевую ОС с ноля. VB  позволяет это делать даже виндос компьютера, при аварии видеть  на экранчике вывод ошибки, заходить рутом напрямую.
Решает конечно каждый сам. У всех машин есть свои достоинства и недостатки.

VirtualBox — активно развивающийся проект. Работать в нем все удобнее.
В интернете появляются неплохие переводы инструкций работы с VirtualBox, такие как http://mirspo.narod.ru/vbox/

Однако надо отметить, что с каждой новой версией изменяются команды VB. Поэтому лучше  использовать справку, которая идет в самом пакете и открывается при установки VirtualBox на рабочей машине с графикой. Пусть вас не пугает английский язык. Интересовать нас будет всего один раздел, тем более ознакомившись с русским переводом, вы быстро разберётесь со структурой справки и найдёте изменившуюся команду для вашего случая.

В данном примере мы рассмотрим как запустить на (хостовой) операционной системе Альт Линукс 5.0.1 Школьный Сервер другие ('гостевые') операционные системы в изолированном и безопасном окружении на ('виртуальной машине') VirtualBox.

Создадим виртуальные машины на школьном сервере через сетевое соединение SSH, без непосредственного контакта с сервером. Мы будем устанавливать VirtualBox, взятый c сайта http://www.virtualbox.org/ и используя VRDP соединение установим гостевую ОС.

Нам необходимы:

Хост, назовём его «Реальный сервер»: Системный блок с установленным на нем Альт Линукс 5.0.1 Школьный Сервер;

SSH соединение с удаленного рабочего компьютера (удаленный) на реальный сервер;

Файл VirtualBox-3.1.6-59338-Linux_x86.run с официального сайта.

Файл ISO на реальном сервере с программой установки гостевой ОС (мы будем использовать в данном примере ALT Linux 4.0 Server);
« Последнее редактирование: 20.02.2016 12:38:37 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 956
    • Пошаговые инструкции
    • Email
Re: VirtualBox на сервере
« Ответ #1 : 11.04.2010 13:42:47 »
Устанавливаем VirtualBox.

Шаг № 1: Обновляем ядро.

Для этого запускаем специальный скрипт.

[root@server ~]#update-kernel -t std-def
и загружаемся с нового ядра, просто перегрузив компьютер.

Далее устанавливаем:

[root@server ~]#apt-get install kernel-headers-modules-std-def
Подгружаем:
[root@server ~]#apt-get install make

Шаг № 2: Удаляем установленные версии VirtualBox

[root@server ~]#apt-get remove virtualbox-*
система готова к установке VirtualBox c сайта http://www.virtualbox.org/


Шаг № 3:Скачиваем любым способом VirtualBox в отдельный каталог

http://download.virtualbox.org/virtualbox/3.1.6/VirtualBox-3.1.6-59338-Linux_x86.run

заходим простым пользователем в этот каталог и делаем скрипт исполняемым

[vova@server ~]$chmod +x VirtualBox-3.1.6-59338-Linux_x86.run
рутом запускаем скрипт

[root@server ~]#./VirtualBox-3.1.6-59338-Linux_x86.run
машина установлена
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 956
    • Пошаговые инструкции
    • Email
Re: VirtualBox на сервере
« Ответ #2 : 11.04.2010 13:44:08 »
Задаем параметры виртуального сервера  (собираем железо)

На реальном сервере создаем виртуальную машину, назовем ее virt1

ВНИМАНИЕ: Команды изменяются. Проверены для версии 3.1.6. Для других версий могут не подходить. Обращайтесь к справке своей версии.

От имени простого пользователя:

[vova@server ~]$VBoxManage createvm --name virt1 --ostype Linux26 --register
Установим необходимые настройки ВМ, требующиеся устанавливаемой гостевой ОС.

[vova@server ~]$VBoxManage modifyvm virt1 --memory 512 --vram 11 --acpi on
Создаем виртуальный контроллер PIIX4 для ВМ и зарегистрируем его в VirtualBox:

[vova@server ~]$VBoxManage storagectl virt1 --add ide --controller PIIX4 --name PIIX4
Создаем виртуальный жесткий диск для ВМ (в данном случае, размером 20GB) и зарегистрируем его в VirtualBox:

[vova@server ~]$VBoxManage createhd --filename aaaa.vdi --size 20000 --remember
Установим созданный файл VDI первым виртуальным жестким диском:

[vova@server ~]$VBoxManage storageattach virt1 --storagectl PIIX4 --port 0 --device 0 --type hdd --medium aaaa.vdi
Подключим ISO к виртуальной машине, с которого она будет загружаться:

[vova@server ~]$VBoxManage storageattach virt1 --storagectl PIIX4 --port 0 --device 1 --type dvddrive --medium /home/vova/iso/altlinux-4.0.1-server-i586-install-cd.iso
Подключаем виртуальную сетевую карту eth0. Включаем на реальном сервере «Адаптер 1» в режиме сетевой адаптер хоста (hostonly)

[vova@server ~]$VBoxManage modifyvm virt1 --nic1 hostonly
Указываем сетевой интерфейс хоста, который будет использоваться виртуальным интерфейсом

[vova@server ~]$VBoxManage modifyvm virt1 --hostonlyadapter1 vboxnet0
Подключаем виртуальную сетевую карту eth1. Включаем на реальном сервере «Адаптер 2» в режиме сетевой мост (bridged)

[vova@server ~]$VBoxManage modifyvm virt1 --nic2 bridged
Указываем сетевой интерфейс хоста, который будет использоваться виртуальным интерфейсом. В нашем случае eth0 реального сервера подключается сетевым мостом к eth1 виртуального.

[vova@server ~]$VBoxManage modifyvm virt1 --bridgeadapter2 eth0
таким образом мы можем связать все остальные сетевые карты реального сервера с виртуальным и в сети у нас уже будет два сервера, каждый со своим IP.
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 956
    • Пошаговые инструкции
    • Email
Re: VirtualBox на сервере
« Ответ #3 : 11.04.2010 13:48:57 »
Устанавливаем гостевую OC через встроенный сервер VRDP.

VirtualBox содержит встроенный сервер VirtualBox Remote Desktop Protocol (VRDP). Он позволяет вам увидеть графический вывод виртуальной машины и управлять ею удаленно, так если бы виртуальная машина находилась на самом удаленном компьютере. VRDP является обратно совместимым расширением Microsoft's Remote Desktop Protocol (RDP). Обычно с удаленной машины посылается обновление графического вывода клиенту, а события клавиатуры и мыши посылаются серверу. В результате вы можете использовать стандартных клиентов RDP для управления удаленными ВМ.

Запускаем виртуальную машину в режиме: поддержка с пользовательского интерфейса, т.е. протокол rdp включен: vrdp=on

VBoxHeadless --startvm virt1 --vrdp=on
Видим сообщение, что порт 3389 открыт. Консоль не закрываем, иначе виртуальная машина будет остановлена.

Теперь, в новом окне, удаленно попытаемся увидеть графический дисплей виртуальной машины. Для этого необходимо подключится к серверу клиентом RDP

Можно использовать любой стандартный клиент RDP для подключения к удаленной виртуальной машине. Вы должны указать IP адрес вашей хост системы (не виртуальной машины!) - использующейся как сервер к которому подключаются, а также номер порта который использует RDP сервер. По умолчанию , сервер VRDP использует стандартный RDP порт TCP 3389 . Номер порта может быть изменен с помощью параметра --vrdpport в команде VBoxManage modifyvm. Изменяют порт если используют более одного VRDP сервера, так как он может быть уже занят.

В Windows XP : Пуск - Все программы - Стандартные - Связь - Подключение к удаленному рабочему столу


В других системах, вы можете использовать стандартную открытую программу rdesktop. Она содержится в большинстве дистрибутивах Linux, но VirtualBox также поставляется с модифицированным вариантом программы rdesktop для поддержки удаленного USB .Для rdesktop, используйте командную строку, так как указано ниже:

rdesktop -a 16 -N 1.2.3.4:3389
Замените "1.2.3.4" IP адресом хоста, и 3389 другим номером порта если необходимо. Параметр -a 16 указывается для использования глубины цвета в 16 бит на пиксель - который мы рекомендуем. (Для лучшей производительности, после установки гостевой операционной системы, вам нужно установить глубину цвета дисплея тем же самым значением). Параметр -N включает использование клавиши NumPad.


Если вы работаете в среде KDE, то вы отдадите предпочтение krdc , KDE RDP клиенту. Команда будет выглядеть следующим образом:

krdc --window --high-quality rdp:/1.2.3.4:3389
Элемент "rdp:/" требуется для переключения krdc в режим использования RDP.


В Альт Линукс 5.0.1 Школьный Мастер можно набрать в консоли команду

krdc [:3389]
в появившемся окне набираем IP адрес сервера, выбираем "подключаться к удаленному рабочему столу Виндос" , набираем входное имя и пароль пользователя и видим графический вывод.

И начинаем устанавливать гостевую ОС.

Обращаю внимание, что приглашение при установки гостевой ОС выдается только десять секунд, а потом происходит обращение к диску. Если там ничего нет, то мы увидим окно, которое видим обычно при загрузке сервера, если на диске пока ничего не поставлено. Тогда повторим последнюю операцию.

Саму гостевую ОС устанавливаем как обычно. Если возникают проблемы с курсором мышки, можем использовать клавиши Tab и пробела.

Самое главное правильно подключить сетевые карты.

В нашем примере eth0 либо получает адрес автоматически DHCP (в этом случае ей будет присвоен адрес 192.168.56.101), либо сами задаем любой из 192.168.56.0/24, шлюз тогда 192.168.56.1

Остальные сетевые карты настраиваем так, чтобы увидеть сервер в локальной сети.
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 956
    • Пошаговые инструкции
    • Email
Re: VirtualBox на сервере
« Ответ #4 : 11.04.2010 13:50:53 »
Выключение, автозагрузка и некоторые полезные команды


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

Команда:
VBoxHeadless --startvm virt1 --vrdp=onвключает виртуальный сервер vert1 в графическом режиме, что удобно при установки и настройке, но это лишние ресурсы.
Команда:
VBoxHeadless --startvm virt1 --vrdp=offвключает виртуальный сервер vert1 без RDP. В этом случае, мы не видим дисплея, но можем управлять по SSH или через Центр управления системой.

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

Можно предложить запустить команду nohup, невосприимчивую к сигналам завершения, и чей вывод будет направлен не на терминал.
nohup VBoxHeadless --startvm virt1 --vrdp=offПосле исполнения команды просто закрываем консоль ( на останавливая).
В этом случае виртуальный сервер запускается автономно. Останавливается также по SSH или через Центр управления системой.

Наряду с этим существуют интересные команды остановки виртуального сервера:

VBoxManage controlvm virt1 pauseвременно останавливает виртуальную машину, без смены ее состояния работы. (Эта команда может эквивалентна выбору элемента "Пауза" в графическом меню "Машина")

VBoxManage controlvm virt1 reset 
вызывает тот же эффект, что и нажатие кнопки "Сброс/Reset" в реальном компьютере: вызывается холодная перезагрузка виртуальной машины, что приводит к немедленной перезагрузке гостевой операционной системы.

VBoxManage controlvm virt1 poweroff
эквивалентно выключению питания в реальном компьютере. Так же не сохраняется состояние ВМ и ваши данные могут быть повреждены.

VBoxManage controlvm virt1 savestate
сохраняет текущее состояние ВМ на диск и останавливает работу машины.

Может пригодится еще команда

VBoxManage controlvm virt1 setlinkstate<1-4>
подключает или отключает виртуальные сетевые кабеля к виртуальным сетевым интерфейсам.

VBoxManage list vms
отображает список всех виртуальных машин зарегистрированных в VirtualBox. По умолчанию показывается компактный список в две колонки: имя ВМ и UUID; если вы укажите параметр --long или -l , то будет показан детальный список настроек ВМ

АВТОЗАГРУЗКА

От имени рута для автозапуска можно делать вот так:

su -l -c "nohup VBoxHeadless --startvm virt1 --vrdp=off" vova
Заменив vova на имя вашего пользователя. Если занесем эту команду в /etc/rc.d/rc.local, (его изначально нет, необходимо создать самому), то виртуальный сервер будет сам запускаться при включении физического сервера.


В командной строке это будет выглядеть так:


[root@server ~]# cat >>/etc/rc.d/rc.local

#!/bin/sh

su -l -c  "VBoxManage startvm virt1 --type headless" vova

[root@server ~]# chmod uga+x /etc/rc.d/rc.local
« Последнее редактирование: 13.04.2014 09:28:13 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 956
    • Пошаговые инструкции
    • Email
Re: VirtualBox на сервере
« Ответ #5 : 11.04.2010 13:53:17 »
Архивирование, удаление, аварийное восстановление и перенос на другой хост

Останавливаем виртуальный сервер.
Экспортируем
VBoxManage export virt1 --output virt1_arh.ovfсохраняем в надежном месте.

Импортируем
VBoxManage import virt1_arh.ovf

Удаляем
VBoxManage unregistervm virt1 --delete
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн maestro

  • Давно тут
  • **
  • Сообщений: 265
    • Email
Re: VirtualBox на сервере
« Ответ #6 : 02.05.2012 08:02:02 »
Видеоролики недоступны? Или это только у меня?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 16 514
    • Домашняя страница
    • Email
Re: VirtualBox на сервере
« Ответ #7 : 02.05.2012 11:29:27 »
Видеоролики недоступны? Или это только у меня?
Не только у вас.
Андрей Черепанов (cas@)

Оффлайн maestro

  • Давно тут
  • **
  • Сообщений: 265
    • Email
Re: VirtualBox на сервере
« Ответ #8 : 02.05.2012 18:03:09 »
Хотелось бы узнать, Windows будет доступен удаленно уже в режиме установки? Я всегда считал, что  до тех пор, пока не включишь удаленный доступ в самой Оси, войти удаленно не получится. Сегодня настраивал VirtualBox. Завтра проверю установку.
Кто пробовал описанный здесь рецепт? Работало?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 16 514
    • Домашняя страница
    • Email
Re: VirtualBox на сервере
« Ответ #9 : 02.05.2012 23:04:38 »
Хотелось бы узнать, Windows будет доступен удаленно уже в режиме установки?
Конечно! Сам VirtualBox пробрасывает экран гостевой ОС по RDP.
Андрей Черепанов (cas@)

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 956
    • Пошаговые инструкции
    • Email
Re: VirtualBox на сервере
« Ответ #10 : 03.05.2012 07:51:23 »
Кто пробовал описанный здесь рецепт? Работало?

Я пробовал, работает.
Приношу извинения что был недоступен ролик (исправил - там было лишнее слово в ссылке).
Посмотрите ролик. Постарался показать как работает.
P.S
Все меняется, поэтому дополнительно рекомендую  посмотреть еще

http://forum.altlinux.org/index.php/topic,9175.msg124450.html#msg124450
Удаленный доступ к графическому приложению по ssh
есть замечательная утилитка xvfb-run, которая дает все блага графического удаленного управления сервером, даже если сама графика на сервере не установлена.


 
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн maestro

  • Давно тут
  • **
  • Сообщений: 265
    • Email
Re: VirtualBox на сервере
« Ответ #11 : 03.05.2012 14:48:44 »
Дошел досюда:

[admin@lserver ~]$ VBoxHeadless --startvm w2003 --vrdp=on

Oracle VM VirtualBox Headless Interface 4.1.14
(C) 2008-2012 Oracle Corporation
All rights reserved.

И тишина. По RDP не подключается.

Подключаться пробовал виндовым клиентом. Может порты еще нужно открывать в хост-системе?

Хост - Школьный сервер 5.0.1
Ответ nmap 192.168.27.2 -p 3389

3389/tcp closed ms-term-serv

Подскажите, как порт открыть.

Оффлайн Salomatin

  • Модератор
  • *****
  • Сообщений: 956
    • Пошаговые инструкции
    • Email
Re: VirtualBox на сервере
« Ответ #12 : 03.05.2012 19:13:53 »

Подключаться пробовал виндовым клиентом. Может порты еще нужно открывать в хост-системе?


В чем ошибка в работе под виндовым клиентом могу помочь мало. Смотрите ролик, там работает. У вас другая, более свежая версия, поэтому надо смотреть уже ту инструкцию. В ролике показано, ( там где шаг за шагом)
А вообще, если вы выполнили корректно  шаг 1 http://forum.altlinux.org/index.php/topic,6665.msg93357.html#msg93357, то рекомендовал бы делать остальные шаги следующим образом:

Заходите удаленно на сервер в командной строке по SSH с любой станции ALT Linux

ставите:
[root@server ~]#apt-get install xvfb-run


Заходите на сервер от имени простого клиента, но уже с аргументом

[vova@client ~]$ssh -X 192.168.0.1даете команду
[vova@server ~]$VirtualBox

 и работаете, как с обыкновенным VirtualBox на вашем рабочем столе.

Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн iofor

  • Начинающий
  • *
  • Сообщений: 2
Re: VirtualBox на сервере
« Ответ #13 : 22.11.2012 09:16:22 »
Статья хороша ...
Но смена chmod пакета на пользователя Vova - не переводит Virtualbox для пользователя vova /
Коли ставишь от root , то он и становится от ROOT!
В меню кубик Sun видишь , да не запускается зараза ... 

Как тогда запустить и взглянуть на графические прелести ?
1. Набираешь  alt-Ctrl-F1 и переходишь в 1-е окно
2. набираешь su и становишься root
3. startx и ты сидишь в гноме или кде уже как root  ;))))
Наслаждайтесь !!!!

Оффлайн flint1975

  • Давно тут
  • **
  • Сообщений: 1 183
    • Email
Re: VirtualBox на сервере
« Ответ #14 : 22.11.2012 12:31:49 »
Как тогда запустить и взглянуть на графические прелести ?
1. Набираешь  alt-Ctrl-F1 и переходишь в 1-е окно
2. набираешь su и становишься root
3. startx и ты сидишь в гноме или кде уже как root  ;))))
Зачем вредные советы давать, да и в половине дистрибутивов запрещен графический режим от рута!
А если хочется на работу вм посмотреть, то перенеси машину в каталог пользователя и будет тебе счастье (не забыть поправить права)