Запуск виртуальной машины с помощью VirtualBox на FreeBSD

Наверное у каждого читателя данного материала не раз возникала необходимость заиметь ненадолго(а может и на долго) виртуалочку для различных целей, будь то тестирование программного продукта (иногда и вирусов на Windows 😉 ) или какие либо другие цели. Ещё больше такое желание возникает в случае если дома простаивает мощный сервер на котором мало чего запущено. Именно в такой ситуации я и оказался. Ну что же, пора немного нагрузить домашний шлюз
Собственно пациент:

# uname -sr
FreeBSD 10.2-RELEASE-p13

Мною было принято решение использовать VirtualBox от Oracle так как был предыдущий положительный опыт на десктопной Ubuntu

# cd /usr/ports/emulators/virtualbox-ose-kmod && make config

vbox-ose-kmod

# cd /usr/ports/emulators/virtualbox-ose && make config-recursive

vbox-ose
Я убрал поддержку X11 так как на сервере нету иксов
После установки подгрузим модуль что бы не перезагружать сервер

# kldload vboxdrv

И добавим следующие параметры в автозапуск

# echo 'vboxdrv_load="YES"' >> /boot/loader.conf
# echo 'vboxnet_enable="YES"' >> /etc/rc.conf

Следующим шагом будет небольшая подготовка окружения. Я создам каталог в котором будут храниться образы HDD виртуалок и отдельно папку где будут лежать установочные образы

# mkdir /home/VBox
# mkdir /home/VBox/hdd
# mkdir /home/VBox/iso
# chmod -R 0777 /home/VBox/

Указываем параметр, который указывает где VirtualBox будет создавать файлы образов

# VBoxManage setproperty machinefolder /home/VBox/hdd

Принимаемся за создание и конфигурации виртуалки
Создаём виртуальный HDD:

# VBoxManage createhd --filename CentOS7_1 --size 10000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Disk image created. UUID: fee6b5ec-d488-4520-9987-6c171fd0165c

Создаём виртуальную машину:

# VBoxManage createvm -name CentOS7_1 -register
Virtual machine 'CentOS7_1' is created and registered.
UUID: 2fbfc3c3-0f88-49ab-af01-3f0cb1b6d5b6
Settings file: '/home/VBox/machines/CentOS7_1/CentOS7_1.vbox'

Создаём виртуальный IDE контроллер и подключаем его к нашей витруальной машине:

# VBoxManage storagectl CentOS7_1 --name "IDE Controller" --add ide

Теперь подключаем к контроллеру созданный винчестер:

# VBoxManage storageattach CentOS7_1 --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/VBox/hdd/CentOS7_1.vdi

Правим виртуальную машину
Нам потребуется UUID созданного ранее жесткого диска. Проверить его можно командной:

# VBoxManage showhdinfo /home/VBox/hdd/CentOS7_1.vdi
UUID:           98d0081a-97f4-4835-9e65-c082722440ff
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/VBox/hdd/CentOS7_1.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       10000 MBytes
Size on disk:   2 MBytes
In use by VMs:  CentOS7_1 (UUID: 2fbfc3c3-0f88-49ab-af01-3f0cb1b6d5b6)

Задаём параметры:

# VBoxManage modifyvm CentOS7_1 --ostype Linux --memory 1024 --hardwareuuid 98d0081a-97f4-4835-9e65-c082722440ff --audio none --cableconnected1 on --usb off --nic1 bridged --bridgeadapter1 rl0 --nictype1 82543GC --acpi on

Замечание 1
В моём случае устанавливалась CentOS 7, как уже можно было догадаться. По этому ostype указан Linux. Весь список можно посмотреть с помощью команды

# VBoxManage list ostypes

Замечание 2
Без ключа —nictype1 со значением 82543GC при установке системы не обнаруживался сетевой интерфейс
подсказали

Подключаем *.iso образ, с которого будем загружаться:

# VBoxManage storageattach CentOS7_1 --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/VBox/iso/centos7.iso

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

# VBoxManage modifyvm CentOS7_1 --boot1 dvd

Запускаем саму виртуальную машину:

# VBoxHeadless --startvm CentOS7_1
Oracle VM VirtualBox Headless Interface 4.3.36_OSE
(C) 2008-2016 Oracle Corporation
All rights reserved.

15/08/2016 22:01:48 Listening for VNC connections on TCP port 3389
VRDE server is listening on port 3389.

Почти всё
Теперь нужно любым VNC клиентом подключиться к серверу, на котором установлен VirtualBox и произвести установку системы
VNC1
VNC2
VBox_guest_OS
Используйте грамотно свои ресурсы

Добавить комментарий