На главную страницу На главную страницу Помоги больным детям! Их можно спасти!
 
Справочные материалы ←

Как установить ОС Ульяновск.BSD на виртуальную машину в гипервизоре bhyve?

В Ульяновск.BSD можно работать в двух и более операционных системах одновременно. Так называемые гостевые операционные системы можно запускать на виртуальных машинах в гипервизоре bhyve, интегрированном в операционную систему. Причём гостевые операционные системы могут быть запущены одновременно со стартом основной (хостовой) операционной системы без участия пользователя. Для чего это нужно обычному пользователю настольного компьютера? Например, отдельный экземпляр системы можно использовать для разработки и тестирования программного обеспечения.

Для того, чтобы запускать виртуальные машины в гипервизоре bhyve, хостовая система должна работать на процессоре, поддерживающем виртуализацию, и иметь достаточный объем оперативной памяти. Функция виртуализации присутствует в большинстве современных процессоров Intel и AMD. Например, список процессоров Intel.

Рассмотрим установку, запуск и одновременную работу гостевой ОС Ульяновск.BSD в самой же Ульяновск.BSD.

Для управления виртуальными машинами необходимо установить vm-bhyve:

pkg install -r latest vm-bhyve

Далее необходимо создать рабочий каталог для виртуальных машин, добавить необходимые параметры в /etc/rc.conf и проинициализировать гипервизор:

mkdir /usr/local/bhyve
sysrc vm_enable="YES" vm_dir="/usr/local/bhyve" vm_list="" vm_delay="10"
vm init

Дополнительно необходимо скопировать типовые шаблоны для виртуальных машин в рабочий каталог:

cp /usr/local/share/examples/vm-bhyve/* /usr/local/bhyve/.templates/

Для подключения виртуальных машин к сети необходимо создать виртуальный коммутатор и связать его с физическим сетевым интерфейсом re0 (необходимо заменить на свой):

vm switch create public
vm switch add public re0

Для запуска гостевой ОС Ульяновск.BSD в графическом режиме необходимо установить эмулятор UEFI:

pkg install -r latest bhyve-firmware
ln -s /usr/local/share/uefi-firmware/BHYVE_UEFI.fd /usr/local/bhyve/.config/BHYVE_UEFI.fd

Теперь можно создать виртуальную машину с именем "ulbsdtest" по шаблону "windows" с диском размером 40ГБ:

vm create -t windows -s 40G ulbsdtest

Для того, чтобы процесс установки ОС Ульяновск.BSD можно было наблюдать в графическом режиме, необходимо в файл настроек виртуальной машины /usr/local/bhyve/ulbsdtest/ulbsdtest.conf добавить следующие строки (отключение xhci_mouse обязательно):

graphics="yes"
graphics_res="1024x768"
graphics_listen="127.0.0.1"
graphics_port="5902"
graphics_wait="yes"
xhci_mouse="no"

Если системные часы на машине показывают локальное время, то необходимо в файл настроек виртуальной машины /usr/local/bhyve/ulbsdtest/ulbsdtest.conf добавить строку:

utctime="no"

В папку /usr/local/bhyve/.iso/ необходимо поместить образ ОС Ульяновск.BSD. После этого можно начать установку гостевой ОС на виртуальную машину:

vm install ulbsdtest ulbsd-12.1-p3-amd64.iso

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

vm list

Если всё в порядке, то можно подключиться любым VNC-клиентом и провести установку в привычном графическом режиме. В Ульяновск.BSD можно использовать «Приложения» → «Интернет» → «SSL/SSH VNC клиент». В поле "VNC Host:Display" необходимо ввести "127.0.0.1:5902", выбрать "None" и нажать кнопку "Connect". Произойдет подключение к графическому режиму, в котором можно будет провести установку операционной системы.

После этого можно перезагрузить гостевую ОС Ульяновск.BSD и продолжить её настройку. При первом запуске необходимо выбрать пункт "3. Escape to loader prompt" и ввести следующие команды:

set boot_serial="NO"
boot

После загрузки необходимо добавить в файл /boot/loader.conf:

boot_serial="NO"

При загрузке необходимо выбирать универсальный графический драйвер SCFB.

После установки и настройки гостевой ОС Ульяновск.BSD можно создать ярлык на рабочем столе с командой для подключения к экрану виртуальной машины:

ssvncviewer 127.0.0.1:5902

Для отключения ожидания подключения по VNC необходимо в файле настроек виртуальной машины /usr/local/bhyve/ulbsdtest/ulbsdtest.conf закомментировать следующую строку:

#graphics_wait="yes"

Для запуска и остановки виртуальной машины нужно использовать команды:

vm start ulbsdtest
vm stop ulbsdtest

Если в файле /etc/rc.conf в параметре vm_list указать имена виртуальных машин, то эти машины будут запускаться автоматически одновременно со стартом хостовой операционной системы:

vm_list="ulbsdtest"

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

man vm

Примечание 1:

После установки и настройки гостевой ОС Ульяновск.BSD можно отключить встроенный в гипервизор доступ по VNC и воспользоваться доступом через VNC-сервер ОС Ульяновск.BSD. Предварительно в гостевой ОС Ульяновск.BSD должен быть настроен Ethernet-интерфейс и IP-адрес этого интерфейса должен быть известен. Подключение может выполняться с помощью ssvnc или UltraVNC Viewer из ОС Windows. Порт для подключения 5990. Например, если IP-адрес Ethernet-интерфейса гостевой ОС Ульяновск.BSD 192.168.0.235, то команда для подключения будет выглядеть так:

ssvncviewer 192.168.0.235:5990

Примечание 2:

Приложения виртуальной машины с гостевой ОС Ульяновск.BSD (как, впрочем, и с другими подобными ОС) можно запускать используя X11Forwarding даже не открывая экран виртуальной машины и не логинясь в ОС. Как это сделать написано в документе «Как на рабочем столе Ульяновск.BSD запустить приложение с другой Linux/Unix-машины?»

 

Примечание 3:

В конфигурационном файле виртуальной машины можно задать количество используемых процессоров и/или ядер процессоров. Задается это количество параметром cpu. Например, если имеется четырёхъядерный процессор Intel Core i5, то для увеличения производительности виртуальной машины можно выделить ей два ядра:

cpu=2

Также можно задать объем оперативной памяти для виртуальной машины:

memory=4G

Примечание 4:

Гипервизор bhyve позволяет пробрасывать устройства в виртуальную машину. Например, если на хостовой машине установлен дополнительный USB-контроллер, то его можно пробросить в виртуальную машину и подключить к портам этого контроллера веб-камеру, переносной накопитель или другие устройства. Подключенные устройства в этом случае будут доступны только виртуальной машине, на которую будет проброшен этот USB-контроллер. Это возможно только, если в процессоре есть поддержка технологии IOMMU (Intel VT-d или AMD-Vi). Допустим в хостовую систему установлен USB-контроллер и с помощью команды pciconf он определяется так:

pciconf -lv
xhci0@pci0:1:0:0:        class=0x0c0330 card=0x34831106 chip=0x34831106 rev=0x01 hdr=0x00
    vendor     = 'VIA Technologies, Inc.'
    device     = 'VL805 USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB

Тогда для проброса этого контроллера необходимо в конфигурационном файле виртуальной машины прописать:

passthru0="1/0/0"

А в файле /boot/loader.conf необходимо прописать:

pptdevs="1/0/0"

Также для проброса устройств в виртуальную машину необходимо, чтобы гипервизор инициализировался до подключения драйверов устройств хостовой машины. Для этого в файл /boot/loader.conf обязательно нужно прописать:

vmm_load="YES"

Для процессоров AMD в файл /boot/loader.conf также необходимо добавить строку:

hw.vmm.amdvi.enable=1

Подробнее о пробросе устройств можно узнать в документе bhyve PCI Passthrough.

 

Примечание 5:

Всё выше описанное справедливо и при установке гостевой ОС FreeBSD c поддержкой графического режима. Подробности можно узнать по ссылке «Установка FreeBSD c графическим интерфейсом в bhyve».

 

    Наверх       На главную страницу       Адрес электропочты   Рейтинг@Mail.ru
Данный интернет-сайт носит исключительно информационный характер, и ни при каких условиях информационные
материалы и цены, размещенные на сайте, не являются публичной офертой, определяемой положениями Статьи 437 ГК РФ.

Сергей Волков – эксперт в области информационных технологий © 2011−2020
Работает система управления сайтом «Публикатор 1.7» © 2004−2020