Можно ли подключиться к виртуальной машине удаленно
vinadm.blogspot.com
2.11.16
Как подлкючиться к виртуальной машине VirtualBOX по RDP
Включаем удаленный доступ на виртуальной машине.
Открываем VirtualBox
Выбираем виртуальную машину и нажимаем настроить.
Выбираем раздел Дисплей > Удаленный доступ.
Ставим чекбокс включить сервер удаленного доступа.
Порт сервера: 3389
Метод аутентификации: Нет авторизации
Время ожидания аутентификации: 5000 мс
Нажимаем ОК
Включаем Сетевой Мост в настройках сетевого адаптера
Открываем VirtualBox.
Выбираем виртуальную машину и нажимаем настроить.
Открываем раздел Сеть.
Ставим чекбокс включить сетевой адаптер.
Тип подключения выбираем: Сетевой мост.
Нажимаем ОК
Включаем виртуальную машину.
Смотрим ip адрес виртуальной машины
win+R>cmd>ipconfig
Удаленный доступ к ВМ с GPU с помощью Citrix
В данном руководстве подробно описаны шаги, которые необходимо выполнить при подготовке удаленного доступа к виртуальным рабочим столам с помощью технологии, которую предлагает компания Citrix.
Оно будет полезно тем, кто недавно познакомился с технологией виртуализации рабочих столов, так как является сборником полезных команд, собранных из
10 мануалов, многие из которых доступны на сайтах Citrix, Nvidia, Microsoft, после авторизации.
Данная реализация содержит этапы подготовки удаленного доступа к виртуальным машинам (ВМ) с графическими ускорителями Nvidia Tesla M60 и операционной системой Centos 7.
Итак, начнём.
Подготовка гипервизора для хостинга виртуальных машин
Как скачать и установить XenServer 7.4?
Как добавить XenServer в Citrix XenCenter?
Как скачать и установить Nvidia драйвер?
Как изменить режим Nvidia Tesla M60?
Как примонтировать хранилище?
XenServer 7.4
Ссылка для скачивания XenServer 7.4 доступна, после авторизации на сайте Citrix.
Выполним установку XenServer.iso на сервер с 4x NVIDIA Tesla M60 штатным способом. В моем случае iso монтируется через IPMI. Для серверов Dell управление контроллером BMC выполняется через IDRAC. Этапы установки практически совпадают с установкой Linux подобных ОС.
Мой адрес XenServer c GPU — 192.168.1.100
Установим XenCenter.msi на локальный компьютер, с которого будем управлять гипервизорами и виртуальными машинами. Добавим туда сервер с GPU и XenServer, нажав по вкладке «Server», затем «Add». Введем логин и пароль root, указанный при установке XenServer.
В XenCenter, после нажатия по имени добавленного гипервизора, будет доступна вкладка «Console». В меню выберем «Remote Service Configuration» и включим авторизацию по SSH — «Enable/Disable Remote Shell».
Nvidia driver
Дам волю эмоциям и скажу, что за всё время работы с vGPU я ни разу не зашел на сайт nvid.nvidia.com с первой попытки. Если авторизация не будет работать, то рекомендую Internet Explorer.
Скачаем zip c vGPU, а так же GPUMode Change Utility:
Следим за версиями. В названии скаченного архива указана версия подходящих драйверов NVIDIA, которые можно в дальнейшем устанавливать на виртуальные машины. В моем случае это 390.72.
Перекидываем zip-ы на XenServer и распаковываем.
Поменяем режим GPU и установим драйвер vGPU
Mount storage
Настроим общую директорию с помощью NFS на любом компьютере в сети.
В XenCenter выберем XenServer и на вкладке «Storage» выберем «New SR». Укажем тип хранилища — NFS ISO. Путь должен указывать на общую директорию NFS.
Citrix Master Image на основе Centos 7
Как создать виртуальную машину с Centos 7?
Как подготовить виртуальную машину для создания каталога?
Образ Centos 7
С помощью XenCenter создадим виртуальную машину с GPU. В вкладке «VM» нажмем «New VM».
Выбираем необходимые параметры:
VM template — Other install media
Name — template
Install from ISO library — Centos 7 (скачать), выбираем из примонтированного хранилища NFS ISO.
Number of vCPUs — 4
Topology — 1 socket with 4 cores per socket
Memory — 30 Gb
GPU type — GRID M60-4Q
Use this virtual disk — 80 Gb
Network
После создания, виртуальная машина появится в вертикальном списке слева. Нажмём на нее и перейдём во вкладку «Console». Дождемся загрузки инсталятора Centos 7 и выполним необходимые шаги для установки ОС с оболочкой GNOME.
Подготовка образа
Подготовка образа с Centos 7 заняла у меня много времени. В последствии получился набор скриптов, который облегчает первичную настройку Linux и позволит создать каталог виртуальных машин с помощью Citrix Machine Creation Services (MCS).
DHCP сервер, установленный на ws-ad, присвоил новой виртуальной машине IP адрес 192.168.1.129.
Далее приведу основные настройки.
В XenCenter в вкладке «Console» смонтируем guest-tools.iso в DVD привод виртуальной машины и выполним установки XenTools для Linux.
При настройке XenServer мы использовали архив NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip, скаченный с сайта NVIDIA, в котором, помимо NVIDIA драйвера для XenServer, находится нужный нам драйвер NVIDIA для клиентов vGPU. Скачаем и установим его на ВМ.
Скачаем Linux Virtual Delivery Agent 1811 (VDA) для Centos 7. Ссылка для скачивания Linux VDA доступна, после авторизации на сайте Citrix.
В Citrix Studio создадим Machine Catalog и Delivery group. Перед этим необходимо установить и настроить Windows Server.
Windows Server с Domain Controller
Как скачать и установить Windows Server 2016?
Как установить компоненты Windows Server?
Как настроить Active Directory, DHCP и DNS?
Windows server 2016
Так как виртуальной машине (ВМ) с Windows Server не нужны GPU, мы будем использовать в качестве гипервизора сервер без GPU. По аналогии с описанием выше, установим еще один XenServer для хостинга системных виртуальных машин.
После этого создадим виртуальную машину для Windows Server с Active Directory.
Скачаем Windows Server 2016 с сайта Microsoft. Лучше пройти по ссылке с помощью Internet Explorer.
С помощью XenCenter создадим виртуальную машину. В вкладке «VM» нажмем «New VM».
Выбираем необходимые параметры:
VM template — Windows Server 2016 (64-bit)
Name — ws-ad.domain.ru
Install from ISO library — WindowsServer2016.iso, выбираем из примонтированного хранилища NFS ISO.
Number of vCPUs — 4
Topology — 1 socket with 4 cores per socket
Memory — 20 Gb
GPU type — none
Use this virtual disk — 100 Gb
Network
После создания, виртуальная машина появится в вертикальном списке слева. Нажмём на нее и перейдём во вкладку «Console». Дождем загрузки инсталятора Windows Server и выполним необходимые шаги для установки ОС.
Установим в ВМ XenTools. Правой кнопкой по ВМ, далее «Install Citrix VM Tools. ». После этого будет примонтиван образ, который нужно запустить и установить XenTools. По окончанию установки потребуется перезагрузка ВМ.
Настроим сетевой адаптер:
IP адрес — 192.168.1.110
Маска — 255.255.255.0
Шлюз — 192.168.1.1
DNS1 — 8.8.8.8
DNS2 — 8.8.4.4
Если Windows Server не активирован, то выполним активацию. Ключ можно взять там же, откуда скачивали образ.
Настроим имя компьютера. В моем случае это ws-ad.
Установка компонентов
В диспетчере серверов выберем «Добавить роли и компоненты». Отметим для установки DHCP-сервер, DNC-сервер и Доменные службы Active Directory. Отметим галочку «Перезагрузить автоматически».
Настройка Active Directoy
После перезагрузки ВМ, жмем «Поднять этот сервер до уровня контроллера домена» и добавим новый лес domain.ru.
Настройка DHCP сервера
На верхней панели диспетчера серверов нажмем на восклицательный знак, чтобы сохранить изменения при установки DHCP сервера.
Перейдем к настройкам DHCP сервера.
Создадим новую область 192.168.1.120-130. Остальное не меняем. Выберем «Настроить параметры DHCP сейчас» и введем IP адрес ws-ad (192.168.1.110) в качестве шлюза и DNS, которые будут указываться в настройках сетевых адаптеров виртуальных машин из каталога.
Настройка DNS сервера
Перейдем к настройкам DNS сервер.
Создадим новую зону прямого просмотра — primary zone, для всех DNS серверов в домене domain.ru. Больше ничего не меняем.
Создадим новую зону обратного просмотра, выбрав аналогичные параметры.
В свойствах DNS сервера, во вкладке «Дополнительно», установим галочку «Отключить рекурсию».
Создание тестового пользователя
Перейдем в «Центр администрирования Active Directory»
В разделе «Users» справа нажмем «Создать». Введем имя, например test, и внизу нажмем «ОК».
Выберем созданного пользователя и в вертикальном меню справа выберем «Сбросить пароль». Оставим галочку «Требовать смены пароля при следующем входе в систем».
Windows Server с Citrix Delivery Controller
Как скачать и установить Windows Server 2016?
Как скачать и установить Citrix Delivery Controller?
Как установить и настроить Citrix License Manager?
Как установить и настроить NVIDIA License Manager?
Windows server 2016
Так как виртуальной машине (ВМ) с Windows Server не нужны GPU, мы будем использовать в качестве гипервизора сервер без GPU.
Скачаем Windows Server 2016 с сайта Microsoft. Лучше пройти по ссылке с помощью Internet Explorer.
С помощью XenCenter создадим виртуальную машину. В вкладке «VM» нажмем «New VM».
Выбираем необходимые параметры:
VM template — Windows Server 2016 (64-bit)
Name — ws-dc
Install from ISO library — WindowsServer2016.iso, выбираем из примонтированного хранилища NFS ISO.
Number of vCPUs — 4
Topology — 1 socket with 4 cores per socket
Memory — 20 Gb
GPU type — none
Use this virtual disk — 100 Gb
Network
После создания, виртуальная машина появится в вертикальном списке слева. Нажмём на нее и перейдём во вкладку «Console». Дождемся загрузки инсталятора Windows Server и выполним необходимые шаги для установки ОС.
Установим в ВМ XenTools. Правой кнопкой по ВМ, далее «Install Citrix VM Tools. ». После этого будет примонтиван образ, который нужно запустить и установить XenTools. По окончанию установки потребуется перезагрузка ВМ.
Настроим сетевой адаптер:
IP адрес — 192.168.1.111
Маска — 255.255.255.0
Шлюз — 192.168.1.1
DNS1 — 8.8.8.8
DNS2 — 8.8.4.4
Если Windows Server не активирован, то выполним активацию. Ключ можно взять там же, откуда скачивали образ.
Настроим имя компьютера. В моем случае это ws-dc.
Добавим ВМ в домен domen.ru, перезагрузим и авторизуемся под доменной учетной записью администратора DOMEN\Administrator.
Citrix delivery controller
Скачаем Citrix Virtual Apps and Desktops 1811 на ws-dc.domain.ru. Ссылка для скачивания Citrix Virtual Apps and Desktops доступна, после авторизации на сайте Citrix.
Смонтируем скаченный iso и запустим. Выберем «Citrix Virtual Apps and Desktops 7». Далее нажмем «Get started». Возможно потребуется перезагрузка.
В моем случае достаточно выбрать для установки следующие компоненты:
Delivery Controller
Studio
License Server
StoreFront
Больше ничего не меняем и жмем «Установить». Не однократно потребуется перезагрузка, после чего установка будет продолжена.
Как только установка будет завершена запустится Citrix Studio — среда управления всем хозяйством Citrix.
Настройка Citrix Site
Выберем первый раздел из трёх — Site setup. При настройке укажем Site Name — domain.
В разделе «Connection» укажем данные для подключения гипервизора с GPU:
Connection address — 192.168.1.100
User name — root
Password — yourpassword
Connection Name — m60
Store management — Use storage local to the hypervisor.
Name for these resources — m60.
Select a GPU type and group — GRID M60-4Q.
Настройка Citrix Machine Catalogs
При настройке второго раздела — Machine Catalogs, выберем Single-session OS (Desktop OS).
Master Image — выберем подготовленный образ виртуальной машины и версию Citrix Virtual Apps and Desktops — 1811.
Выберем количество виртуальных машин каталоге, например 4.
Укажем схему, по которой виртуальным машинам будут присваиваться имена, в моем случае это desktop##. В этом случае будут созданы 4 ВМ с именами desktop01-04.
Machine Catalog name — m60.
Machine Catalog description — m60.
После создания Machine Catalog-а с четыремя ВМ, их можно будет найти в вертикальном списке XenCenter, слева.
Citrix Delivery Group
Третий раздел начинается с выбора количества ВМ, к которым следует предоставить доступ. Я укажу все четыре.
В разделе «Desktops» нажмем «Add», чтобы добавить группу ВМ, к которым мы предоставим доступ. Display name — m60.
Delivery group name — m60.
После настройки трех основных разделов, главное окно Citrix Studio будет выглядеть примерно так
Citrix license manager
Скачаем файл лицензии через личный кабинет на сайте Citrix.
В вертикальном списке слева выберем All Licensing Tools (Legacy). Перейдем на вкладку «Activate and Allocate Licenses». Выберем лицензии Citrix VDA и нажмем «Continue». Укажем имя нашего Delivery Controllera — ws-dc.domain.ru и количество лицензий — 4. Жмем «Continue». Скачаем сгенерированный файл лицензии на ws-dc.domain.ru.
В левом вертикальном списке Citrix Studio выберем раздел «Licensing». В правом вертикальном списке нажмем «License Management Console». В открывшимся окне браузера введем данные для авторизации доменного пользователя DOMEN\Administrator.
В Citrix Licensing Manager перейдем на вкладку «Install License». Для добавления файла лицензии нужно выбрать «Use downloaded license file».
Установка компонентов Citrix подразумевает использование нескольких виртуальных машин, один компонент — одна ВМ. В моем случае, все системные сервисы Citrix функционируют в пределах одной ВМ. В связи с этим отмечу один баг, исправление которого далось мне особенно сложно.
Если после перезагрузки ws-dc возникают проблемы различного характера, то рекомендую первым делом проверить запущенные сервисы. Привожу список сервисов Citrix, которые должны автоматически запускаться, после перезагрузки ВМ:
Я столкнулся с проблемой, которая возникает при установки различных сервисов Citrix на одну ВМ. После перезагрузки стартуются не все сервисы. По одному запускать всю цепочку было лень. Решение тяжело гуглилось, поэтому привожу его тут — следует поменять в реестре два параметра:
Nvidia licence manager
Скачаем менеджер лицензий NVIDIA для Windows, через личный кабинет на сайте nvid.nvidia.com. Лучше заходить через Internet Explorer.
Установим его на ws-dc. Для этого сначала потребуется установить JAVA и добавить переменную окружения JAVA_HOME. После этого можно запустить setup.exe для установки NVIDIA License Manager.
Создадим сервер, сгенерируем и скачаем файл лицензии в личном кабинете на сайте nvid.nvidia.com. Перекинем файл лицензии на ws-dc.
Используя браузер, авторизуемся в веб-интерфейсе менеджера лицензий NVIDIA, доступном по адресу localhost:8080/licserver и добавим файл лицензии.
Активные сессии, использующие vGPU, можно посмотреть в разделе «Licensed Clients».
Удаленный доступ к Citrix machine catalog
Как установить Citrix Receiver?
Как подключиться к виртуальному рабочему столу?
На рабочем компьютере откроем браузер, в моем случае это Chrome, и перейдем по адресу веб интерфейса Citrix StoreWeb
Если Citrix Recever еще не установлен, то нажмем «Обнаружить Receiver»
Внимательно прочитаем лицензионное соглашение, загрузим и установим Citrix Receiver
После установки, вернемся в браузер и нажмем «Продолжить»
Далее, в браузере Chrome открывается уведомление, нажмите «Открыть приложение Citrix Receiver Launcher», а затем «Обнаружить снова» или «Уже установлено»
При первом подключении воспользуемся данными тестового пользователя test. Сменим временный пароль на постоянный.
После авторизации перейдем на вкладку «Приложения» и выберем каталог «M60»
Опыт использования виртуализации на VirtualBox
Введение
Несколько лет назад я начал разбираться с вируализацией, и у меня получились своего рода путевые заметки, которые я сейчас оформил и выкладываю сюда. Никаких откровений тут не будет, статья адресована начинающим админам. Задача которую я здесь решаю состоит в том, чтобы виртуализовать уже имеющиеся не виртуальные сервера на Linux и FreeBSD.
Причины, по которым я тогда выбрал VirtualBox
Причины, по которым я не выбрал бы его сейчас
Подготовка ОС для работы с виртуальными машинами
VirtualBox можно установить практически на любую ОС, однако стабильная работа и все его возможности (например, RDP-подключение к консоли гостевой системы) доступны только на Линуксе, поэтому был выбран Debian Linux. Для самого VirtualBox специальной настройки ОС не требуется, достаточно выделить отдельный раздел для хранения образов дисков гостевых систем и образов установочных дисков для чистой установки гостевых систем.
Однако для управления VirtualBox через Веб-интерфейс (phpvirtualbox) требуется веб-сервер (выбран Apache 2) и PHP 5. В Debian конфигурация по умолчанию PHP 5 и Apache 2 удовлетворяет требованиям phpvirtualbox, специальным образом настраивать ничего не нужно.
Установка phpvirtualbox
Для Virtualbox существует бесплатный web-интерфейс, реализованный на PHP и использующий встроенную в virtualbox службу удаленного управления virtualbox web service.
Внимание! Для успешных подключений на сервере должны быть открыты входящие порты, по умолчанию начиная с 3389 (TCP), по одному порту на гостевую систему.
5. Настраиваем virtualbox web service, для чего создаем файл /etc/vbox/vbox.cfg со следующим содержанием:
VBOXWEB_USER=’vbox’
VBOXWEB_HOST=127.0.0.1
VBOXWEB_LOGFILE=/srv/log/vboxwebservice
6. Запускаем virtualbox web service, перед этим нужно убедиться в том, что файл /srv/log/vboxwebservice доступен для чтения и записи пользователю vbox:
/etc/init.d/vboxweb-service start.
phpvirtualbox теперь доступен по адресу virtbox.site/phpvirtualbox.
Создание виртуальных машин
Управление виртуальными машинами
Управление через веб-интерфейс
Управление виртуальными машинами через web-интерфейс тривиально, достаточно выделить нужную машину в phpvirtualbox и выбрать в интерфейсе требуемое действие, например Start, Stop (безусловное выключение, отправка сигнала о нажатии кнопки выключения питания, перезагрузка, сохранение состояние гостевой системы с возможностью впоследствии откатить ее состояние и приостановка работы гостевой системы с сохранением ее памяти на диск и возможностью впоследствии загрузки памяти с диска и продолжения работы).
По щелчку на гостевой системе правой кнопкой машины доступны операции ее настроек, удаления, просмотра логов и т.д.
Также стоит отметить возможность подключения к консоли гостевой системы, что аналогично подключению к реальной машине мыши и клавиатуры. Для этого нужно выделить нужную гостевую систему, выбрать вкладку Console в phpvirtualbox, задать размер экрана (для текстовых режимов работы гостевых ОС достаточно 800х600), нажать Connect и щелкнуть мышью по клиенту удаленного подключения (в котором выводится содержимое консоли гостевой системы). Управлять гостевой системой можно с момента включения.
Управление через консоль
Для управления гостевыми система в VirtualBox используются утилиты VBoxManage и VBoxHeadless, подробное описание которых доступно в руководстве.
Запускать команды нужно от пользователя vbox, под которым работает сам VrtualBox, в случае запуска от другого пользователя или root VirtualBox не сможет найти файлы конфигурации виртуальных машин, которые хранятся в домашней директории пользователя Vbox, и выдаст ошибку.
Оболочку нужно указывать явно, потому что по умолчанию у пользователя vbox стоит оболочка /bin/false.
Ниже для примера приведены команды для включения, выключения и работы с образами дисков.
Если не указывать sleep 30 некоторые машины могут не запуститься из-за очень интенсивного чтения с жесткого диска сервера при запуске и некоторые гостевые системы решат, что у них ошибка чтения с жесткого диска.
Практически все машины понимают нажатие на кнопку выключения питания и смогут корректно завершиться.
4. Преобразование образа диска из формата VirtualBox в формат, понятный другим виртуальным машинам:
VBoxManage internalcommands converttoraw test1.vdi test1.raw
Подключение через RDP
К консоли виртуальных машин можно подключиться через RDP. В Windows нужно открыть Пуск->Все программы->Стандартные->Подключение к удаленному рабочему столу и указать адрес virtbox.test и порт, сопоставленный конкретной гостевой системе, который можно посмотреть в phpvirtualbox. Для удобства использования в параметрах подключения можно указать разрешение экрана 1024х768, тогда окно с подключением не будет занимать весь экран и перехватывать системные сочетания клавиш, такие как Alt+Tab.
Важное замечание: возможно одновременное подключение к одной гостевой системе нескольких пользователей. При этом все видят одно и то же, и все совершенные кем-либо действия видны остальным подключившимся. Для включения этой настройки нужно в настройках виртуальной машины в phpvirtualbox в разделе Display на вкладке Remote Display установить галочку Allow Multiple Connections.
Создание снимков гостевых систем
Создание дампа
Debian Linux
Процедуры клонирования и восстановления приведены на примере сервера test1 на котором установлена Debian Linux (любой версии, начиная с 5 Lenny точно). Предполжим, что у нас имеются три раздела с тремя файловыми системами: /, /var, /usr
Сначала нужно установить dump:
aptitude install dump
Далее, для создания дампа клонируемого сервера на Debian необходимо от суперпользователя (root) или с помощью sudo дать следующие команды (как сделать так, чтобы не сдампило дампы, думайте сами):
dump 0af test1.root /
dump 0af test1.var /var
dump 0af test1.usr /usr
FreeBSD
Процедуры клонирования и восстановления приведены на примере сервера test1 на котором установлена FreeBSD (любой версии, начиная с 6 точно). Предполжим, что у нас имеются три раздела с тремя файловыми системами: /, /var, /usr
Для создания дампа клонируемого сервера на FreeBSD необходимо от суперпользователя (root) или с помощью sudo дать следующие команды (опять напоминаю про дампание дампов):
dump 0aLf test1.root /
dump 0aLf test1.var /var
dump 0aLf test1.usr /usr
Развертывание дампа
Debian Linux
1. Нужно сделать виртуальную машину, прицепить к ней диск и загрузочный LiveCD Debian.
4. Поправить UUID в /etc/fstab
6. Проверить /var/spool/cron/crontabs, /etc/crontab и отключить то, что ненужно.
FreeBSD
Созданные дампы нужно развернуть на образе диска, выделенного под гостевую систему. В настоящие время поддержка файловых систем UFS используемых во FreeBSD ограниченна, поэтому для развертывания дампов создается виртуальная машина FreeBSD, к ней подключается раздел для хранения дампов, на который с помощью scp и пересылаются дампы с клонируемых серверов. Потом к этой машине подключается образ диска выделенный под гостевую систему, на этом образе создается файловая система FreeBSD и разворачивается полученный дамп.
Далее предполагается, что раздел tmp примонтирован в /mnt, образ диска для гостевой ОС размечен под два слайса, первый из которых примонтирован в mnt1, а второй отдан под swap и не примонтирован. Тогда развернуть дамп можно следующим образом:
Здесь && нужно для того, что следующая команда выполнится только в случае успешного завершения предыдущий, и таким образом исключаются ситуации, когда например каталог var не будет создан, переход в него не осуществится и разворачивание дампа произойдет не туда, т.к. разворачивание дампа производится относительно текущей директории.
Необходимые изменения в конфигурации гостевой ОС клонированного сервера
До загрузки гостевую ОС нужно перенастроить для работы в виртуальной машине. Количество требуемых действий как правило минимально и сводится к следующему:
1. Находясь в директории mnt1 (см. выше) удаляем файлы конфигурации загрузчика. Это особенно актуально, если виртуализуем какой-нибудь продукционный сервер, чтобы исключить использование COM-порта в качестве консоли по умолчанию, что приводит к зависанию загрузчика.
rm /mnt1/boot.config
rm /mnt1/boot/device.hints
2. Заменить содержимое файла /mnt1/etc/fstab следующим:
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 2 2
При этом предполагается, что образ диска гостевой ОС разбит на 2 слайса, первый из которых отдан под хранение данных и второй под swap.
3. Если нужно, сказать клонированной системе о необходимости загрузки модуля ядра для работы с эмулированной сетевой картой, для чего нужно в файле /boot/loader.conf добавить строчку if_em_load=»YES»
4. Указать клонированное системе выделенный для нее IP-адрес, для чего в /etc/rc.conf нужно закомментировать строчку текущих настроек сетевого адаптера и добавить новую строчку следующего вида:
7. Выключить FreeBSD, использованную для разворачивания дампа, и загрузить гостевую систему с клоном сервера. В случае проблем при загрузке возможно, что ядро на системе было пересобрано с измененной конфигурацией, это можно исправить сказав загрузчику загрузить ядро по умолчанию, которое я надеюсь вы сохранили в системе во время пересборки:
unload
load boot/kernel.GENERIC/kernel
boot
Для отдачи этих команд необходимо включить гостевую систему, подключиться к ней по RDP и дождаться появления на экране сообщений о том, что можно нажать Enter для указания опций загрузчику.
Создание виртуальных сетей
Внутри VirtualBox можно создавать полностью изолированные виртуальные сети. Какие возможности это дает?
Минимизация необходимости перенастройки клонированных серверов
Создание тестовой среды для отработки взаимодействия серверов между собой
Создание виртуальной сети
Чтобы создать виртуальную сеть нужно в phpvirtualbox зайти в свойства гостевой системы, перейти в раздел Network, выбрать в поле «Attached to» опцию «Internal Network», а в выпадающем списке «Name» выбрать требуемую виртуальную сеть. Какие могут возникнуть сложности?
Нужно создать новую виртуальную сеть, а такой опции в интерфейсе нет. Есть два варианта решения:
Попробовать написать имя новой виртуальной сети прямо в выпадающем списке «Name». Однако в этом случае может возникнуть ошибка.
Тогда нужно привязать сетевой адаптер гостевой системы к виртуальной сети через CLI:
Здесь
nic1 — сетевой адаптер гостевой системы, где 1 это его порядковый номер. Количество адаптеров в гостевой системе не ограничено
intnet — виртуальная сеть, название может быть любым. Особенность работы VirtualBox заключается в том, что специально создавать виртуальные сети не нужно, достаточно указать нескольким гостевым системам одну и ту же виртуальную сеть и они окажутся связанными на (эмулированном) физическом уровне автоматически, что аналогично подключению нескольких реальных компьютеров к одному свитчу (коммутатору).
Более подробная информация находится в разделе 8.7.2 Networking setting руководства пользователя.
Управление недоступными снаружи машинами в виртуальной сети
Доступ по RDP
RDP-сервер работает на физическом сервере, поэтому для подключения к любой виртуальной машине справедливо написанное в разделе Управление через веб-интерфейс этой статьи.
Проброс портов
Существует возможность создать в гостевой системе виртуальную сетевую карту с подключением через NAT (реализуемый автоматически средствами VirtualBox) и пробросить (отобразить) произвольный порт гостевой системы на порт сервера VirtualBox. Для того, чтобы сделать это через phpvirtualbox, нужно:
1. Зайти в свойства гостевой системы, перейти в раздел «Network», выбрать в поле «Attached to» опцию «NAT»
2. Раскрыть опции, скрывающиеся в разделе «Advanced» этого же раздела, и нажать там кнопку Port Forwarding
3. В открывшемся окне «Port Forwarding Rules» указать следующие параметры:
4. Нужный протокол, путем щелчка мышью по именованию «TCP» в поле «Protocol»
5. Указать свободный порт на сервере VirtualBox в поле «Host Port»
6. Указать порт гостевой системы в поле «Guest Port».
Больше ничего указывать не нужно. После применения настроек порт гостевой системы станет немедленно (без перезагрузки) доступен через соответствующий порт сервера VirtualBox. Как пример, в случае с пробросом порта ssh (22 TCP) гостевой системы на 2200 порт VirtualBox нужно указать следующие параметры:
Параметр Значение
Name ssh (необязательный параметр)
Protocol TCP
Host IP Не указывать
Host Port 2200
Guest Port 22
Guest IP Не указывать
Количество отображаемых портов не ограничено, можно отобразить столько, сколько нужно.
Виртуальный маршрутизатор
В случае создание в VirtualBox группы взаимодействующих гостевых систем без внешних адресов имеет смысл установить еще одну гостевую систему, которая будет играть роль маршрутизатора. Какие цели при этом достигаются?
Конфигурацию сетевых адаптеров клонированных сервером можно не менять. При этом виртуальный маршрутизатор создает для остальных гостевых систем видимость того, что они настоящие и пользуются своими настоящими именами хостов и IP-адресами
К гостевым системам не имеющим ни внешних адресов, ни описанной выше возможности проброса портов, которая работает только в случае использования NAT опции VirtualBox, становится возможен прямой доступ по ssh.
При этом предполагается, что виртуальный маршрутизатор настроен правильно и имеет сетевой адаптер, настроенный на работу с виртуальной подсетью в которой находится гостевая система с адресом 192.168.0.2