Наверное у каждого читателя данного материала не раз возникала необходимость заиметь ненадолго(а может и на долго) виртуалочку для различных целей, будь то тестирование программного продукта (иногда и вирусов на Windows 😉 ) или какие либо другие цели. Ещё больше такое желание возникает в случае если дома простаивает мощный сервер на котором мало чего запущено. Именно в такой ситуации я и оказался. Ну что же, пора немного нагрузить домашний шлюз
Собственно пациент:
# uname -sr FreeBSD 10.2-RELEASE-p13
Мною было принято решение использовать VirtualBox от Oracle так как был предыдущий положительный опыт на десктопной Ubuntu
# cd /usr/ports/emulators/virtualbox-ose-kmod && make config
# cd /usr/ports/emulators/virtualbox-ose && make config-recursive
Я убрал поддержку 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 и произвести установку системы
Используйте грамотно свои ресурсы