Virtualbox - віртуалізація у freebsd без x11

Отже, як завжди, почнемо з завдання: Встановити virtualbox на сервер без X11 на FreeBSD, створити віртуальну машину і встановити на неї іншу операційну систему. Я ставити буду теж FreeBSD, але це вже не принципово. Таким чином, на одному фізичному ПК можна встановити кілька віртуальних машин. Спочатку встановимо все необхідне:
make BATCH = yes -C / usr / ports / net / libvncserver install clean
make BATCH = yes -C / usr / ports / emulators / virtualbox-ose-kmod install clean
cd / usr / ports / emulators / virtualbox-ose
make config

Options for virtualbox-ose 3.2.8_1
[] QT4 Build with QT4 Frontend
[] DEBUG Build with debugging symbols
[X] GUESTADDITIONS Build with Guest Additions
[X] DBUS Build with D-Bus and HAL support
[] PULSEAUDIO Build with PulseAudio
[] X11 Build with X11 support
[X] VDE Build with VDE support
[X] VNC Build with VNC support
[X] WEBSERVICE Build Webservice
[] NLS Native language support

make BATCH = yes -C / usr / ports / emulators / virtualbox-ose install clean
rehash

Потрібно завантажити модуль vboxdrv в ядро, виконуємо:
kldload vboxdrv

Без цього при старті vboxnet будемо бачити помилку:
Kernel driver not installed (rc = 1908)]
Make sure the kernel module has been loaded seccessfully.

щоб при перезавантаженні модуль vboxdrv довантажувати автоматично в /boot/loader.conf дописуємо рядок:
vboxdrv_load = "YES"

Додаю в /etc/rc.conf рядок:
vboxnet_enable = "YES"

Про рядках в /boot/loader.conf і /etc/rc.conf було написано в повідомленні після інсталяції virtualbox-ose.
Стартуємо vboxnet:
/usr/local/etc/rc.d/vboxnet start

Тепер можна створювати машину.
Примітка:
Віртуальні диски і файл конфігурації віртуальної машини за замовчуванням створюються в профілі користувача, по-моєму це не зручно. Зручніше зробити так, щоб місцем зберігання всіх дисків (.vdi. Vmdk. Vhd) була одна директорія, а конфігурацій віртуальних машин (.xml) - інша директорія.
Створю директорії, кторорие будуть використовуватися в прикладі нижче:
директорія, де будуть зберігатися віртуальні hdd:
mkdir -p / mnt / pools / dsk00 / virtual / sr / vbhdd /

директорія, де за замовчуванням будуть зберігатися файли налаштувань віртуальних машин:
mkdir -p / mnt / pools / dsk00 / virtual / vb / vpc / vbpcset

даємо права на директорію:
chmod -R 0777 / mnt / pools / dsk00 / virtual /

для установки за замовчуванням сховища файлів віртуальних вінчесетров виконуємо:
VBoxManage setproperty hdfolder / mnt / pools / dsk00 / virtual / sr / vbhdd

для становки за замовчуванням сховища налаштувань віртуальних машин виконуємо:
VBoxManage setproperty machinefolder / mnt / pools / dsk00 / virtual / vb / vpc / vbpcset

тепер подивившись:
cat

побачимо секцію, де і прописалися наші зміни.
Створюємо віртуальний hdd під назвою vbhdd003 для віртуальної машини з ім'ям vbpc003 (імена можуть бути довільними):
VBoxManage createhd --filename vbhdd003 --size 61440 --remember

0%. 10%. 20%. 30%. 40%. 50%. 60%. 70%. 80%. 90%. 100%
Disk image created. UUID: adc3efcb-209e-4dc7-9a5e-78a069aee779

тут
vbhdd003 -ім'я майбутнього віртуального вінчестера
61440Mb -розмір майбутнього віртуального вінчестера в Mb (1024 * 60 = 61440Mb)
remember -зарегестріровать в менеджері віртуальних гвинтів
За замовчуванням формат віртуального hdd - * .VDI

Переходимо до створення віртуальної машини:
VBoxManage createvm -name vbpc003 -register

Virtual machine 'vbpc003' is created and registered.
UUID: 09cd25c3-dd06-43b0-9926-682fbcd16abb
Settings file: '/mnt/pools/dsk00/virtual/vb/vpc/vbpcset/vbpc003/vbpc003.xml'

тут
vbpc003 -ім'я віртуального ПК
register -зарегістріровать віртуальний ПК

Створюємо контролер IDE в наш віртуальний ПК vbpc003:
VBoxManage storagectl vbpc003 --name "IDE Controller" --add ide

Підключаємо до IDE0 наш віртуальний вінчестер vbhdd003.vdi:
VBoxManage storageattach vbpc003 --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /mnt/pools/dsk00/virtual/sr/vbhdd/vbhdd003.vdi

Модифікуємо машину vbpc003:
VBoxManage modifyvm vbpc003 --ostype FreeBSD --memory 128 --hardwareuuid adc3efcb-209e-4dc7-9a5e-78a069aee779 --audio none --cableconnected1 on --usb off --nic1 bridged --bridgeadapter1 re0 --acpi on

тут:
modifyvm vbpc003 -модіфіціруем ПК vbpc003
FreeBSD - тип установлюваної на віртуальну ПК операційної системи (подивитися можливі варіанти можна командою VBoxManage list ostypes)
128 - розмір ОЗУ, що виділяється для віртуальної машини
adc3efcb-209e-4dc7-9a5e-78a069aee779 - на який віртуальний HDD встановлювати гостьову ОС. Цей UUID з поєднання безлічі букв і цифр було видно після виконання VBoxManage createhd.
audio none - виклюючаем аудіо
usb off - вимикаємо usb

можна подивитися параметри створеної машинки vbpc003:
VBoxManage showvminfo vbpc003

До IDE1 машини vbpc003 підключаємо образ iso з якого будемо встановлювати ОС FreeBSD:
VBoxManage storageattach vbpc003 --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /mnt/pools/dsk02/fcd/soft/unix/bsd/freebsd/FreeBSD-8.1-RELEASE-i386- dvd1.iso

тут:
/mnt/pools/dsk02/fcd/soft/unix/bsd/freebsd/FreeBSD-8.1-RELEASE-i386-dvd1.iso - Образ ОС, який буде завантажувальним DVD для установки ОС.

Ставимо першим завантажувальним пристроєм віртуальний dvd
VBoxManage modifyvm vbpc003 --boot1 dvd

Все готово до запуску.
Запускаємо віртуальну машину:
VBoxHeadless --startvm vbpc003 -n -m 3389

n, -vnc - Включити VNC server
m, -vncport - номер порта vnc
3389 - порт vnc
Якщо натиснути Ctrl + c віртуальна ПК вимкнеться.
Щоб запустилось в бекграунд, то запускаємо так:

nohup VBoxHeadless -startvm vbpc003 -n -m 3389

в цьому випадку можна тиснути Ctrl + c машина залишиться запущеною і до неї можна буде підключитися по vnc, наприклад, через ultra vnc.

Подивитися запущені виртуалки:
VBoxManage list runningvms

Для виключення віртуальної машини vbpc003 виконуємо:
VBoxManage controlvm vbpc003 poweroff

Зберегти поточний стан віртуальної машини, а потім вимкнути її:
VBoxManage controlvm vbpc003 savestate

Після того як вимкнули, ставимо першим завантажувальним пристроєм віртуальний HDD
VBoxManage modifyvm vbpc003 --boot1 disk

Якщо треба відключити інсталяційний iso образ, виконуємо:
VBoxManage storageattach vbpc003 --storagectl "IDE Controller" --port 1 --device 0 --medium none

Для реєстрації ISO образу ОС в менеджері:
VBoxManage openmedium dvd /full/path/to/iso.iso

Після того як запустили ПК, почнеться завантаження з FreeBSD-8.1-RELEASE-i386-dvd1.iso. Підключитися до запущеної машині з під M $ w! N можна за допомогою UltraVNC. Качаємо. встановлюємо, запускаємо UltraVNC Viewer. В поле VNC Server вказуємо IP ПК, НА ЯКИЙ ВСТАНОВЛЮВАЛИ VIRTUALBOX і номер порту vnc (приклад: ПК_с_virtualbox: 3389). Тиснемо "Connect" і бачимо екран віртуальної ПК.

Так само буває необхідно автоматично запускати віртуальну машину після запуску ПК, на якому встановлено virtualbox, для цього створимо скриптик:
ee /usr/local/etc/rc.d/vbpc003load

з таким вмістом.
тут:
vboxnet -демон, після запуску якого стартувати скрипт
vbpcname це ім'я створюваного вище віртуального ПК
vncport-номер порту vnc
vbpc003load -название скрипта і name

Якщо в скрипті варто vbpc003load_enable = "NO» (як у мене в прикладі), то потрібно рядок vbpc003load_enable = "YES" у /etc/rc.conf

Робимо його виконуваним:
chmod + x /usr/local/etc/rc.d/vbpcload

в /etc/rc.conf додаємо рядок:
vbpc003load_enable = "YES"

Після перезавантаження фізичного ПК, на якому встановлено VirtualBox, віртуальна машина з ім'ям vbpc003 стартуватиме автоматично.

Для видалення віртуальної машини:
1) спочатку відключаємо hdd від ВМ:
VBoxManage storageattach vbpc003 --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium none

тут
-port 0 -device 0 -параметри які ми ставили вище при підключенні до IDE0 нашого віртуального вінчестера vbhdd003.vdi

2) Тепер видаляємо hdd з менеджера віртуальних носіїв:
VBoxManage closemedium disk /mnt/pools/dsk00/virtual/sr/vbhdd/vbhdd003.vdi

тут
якщо додати параметр -delete то віддалиться і файл /mnt/pools/dsk00/virtual/sr/vbhdd/vbhdd003.vdi. Якщо -delete не додавати то диск віддалиться з менеджера віртуальних носіїв, але фізично залишиться в ДИРЕТОР / mnt / pools / dsk00 / virtual / sr / vbhdd /

3) Далі якщо інші диски, включаючи iso-образи, відключені, нам буде дозволено видалити віртуальну машину:
VBoxManage unregistervm vbpc003 --delete

тут
-delete -Видалити і файл XML з описом ВМ

Підведемо підсумок:
Ми розібралися як встановити virtualbox на сервер без X11 на FreeBSD, створити і налаштувати віртуальну машину, до якої можемо підключатися по vnc для установки ОС, відключити / видалити диски віртуальної машини і саму ВМ, а так же організували автозапуск цієї віртуальної машини.

Навігація по публікаціям

У мене чомусь не проходить команда
VBoxManage setproperty hdfolder / mnt / pools / dsk00 / virtual / sr / vbhdd

Після її введення пауза на пару секунд і:

Схожі статті