VBoxHeadless - Вклучување на виртуелни машини со VirtualBox 5.1 на безглавен Ubuntu 16.04 LTS сервер
Овој водич објаснува како можете да стартувате виртуелни машини со VirtualBox 5.1 на сервер без глава Ubuntu 16.04. Обично го користите графичкиот интерфејс на VirtualBox за да управувате со вашите виртуелни машини, но серверот нема работна околина. За среќа, VirtualBox доаѓа со алатка наречена VBoxHeadless која ви овозможува да се поврзете со виртуелните машини преку далечинска врска на работната површина, така што нема потреба од VirtualBox GUI.
1 Прелиминарна забелешка
Го тестирав ова на Ubuntu 16.04 сервер (домаќин систем) со IP адреса 192.168.1.100 каде што сум логиран како нормален корисник (администратор на корисничко име во овој пример) наместо како root.
2 Инсталирање на VirtualBox
За да го инсталираме VirtualBox 5.1 на нашиот Ubuntu 16.04 сервер, отвораме /etc/apt/sources.list...
sudo nano /etc/apt/sources.list
... и додадете ја следната линија на неа:
deb http://download.virtualbox.org/virtualbox/debian xenial contrib
Потоа го преземаме јавниот клуч VirtualBox...
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
... и ажурирајте ја нашата база на податоци за пакети:
sudo apt-get update
Потоа, инсталираме VirtualBox 5.1 на следниов начин:
sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-5.1 dkms
(Пакетот dkms осигурува дека модулите на кернелот на домаќинот VirtualBox се правилно ажурирани доколку се промени верзијата на кернелот на Linux.)
Почнувајќи од верзијата 4.0, VirtualBox ги воведе таканаречените „пакети за наставки“ и префрли некои функционалности како што е поддршката за поврзување на далечинска работна површина (VRDP) што беше дел од пакетите VirtualBox пред верзијата 4.0 во овие екстензии. Бидејќи ни требаат врски за далечинска работна површина за да ги контролираме нашите виртуелни машини, сега треба да го инсталираме соодветниот пакет за наставки. Одете на http://www.virtualbox.org/wiki/Downloads и ќе најдете врска до следниов пакет наставки:
VirtualBox 5.1 Oracle VM VirtualBox Extension Pack
Преземете и инсталирајте го пакетот за продолжување на следниов начин:
cd /tmp
wget http://download.virtualbox.org/virtualbox/5.1.0/Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack
(Погрижете се да ја земете најновата верзија од веб-страницата на VirtualBox и да користите sudo за да ја инсталирате датотеката extpack со VBoxManage.)
Сега мора да го додадеме корисникот што ќе работи VirtualBox (администратор во овој пример) во групата vboxusers:
sudo adduser administrator vboxusers
VirtualBox сега е инсталиран и подготвен за употреба.
3 Користење VirtualBox на командната линија
3.1 Креирање на VM
За да креираме VM на командната линија, можеме да ја користиме командата VBoxManage. Види
VBoxManage --help
за список на достапни прекинувачи и (многу се препорачува!) погледнете на http://www.virtualbox.org/manual/ch08.html.
Сега ќе создадам Ubuntu 16.04 Server VM со 2048MB меморија и 10GB хард диск од изо сликата на серверот Ubuntu 16.04 (што ја имам зачувано во /home/administrator/iso/ubuntu-16.04-server-amd64.iso):
VBoxManage createvm --name "Ubuntu 16.04 Server" --register
VBoxManage modifyvm "Ubuntu 16.04 Server" --memory 2048 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 ens33
VBoxManage createhd --filename /home/administrator/Ubuntu_16_04_Server.vdi --size 10000
VBoxManage storagectl "Ubuntu 16.04 Server" --name "IDE Controller" --add ide
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/administrator/Ubuntu_16_04_Server.vdi
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/administrator/iso/ubuntu-16.04-server-amd64.iso
VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on
Сега продолжете со поглавјето 3.3 за да го стартувате vm и потоа поврзете се со VM со клиент за далечинска работна површина како што е опишано во поглавје 4.
3.2 Увоз на постоечка VM
Да претпоставиме дека имате VM наречен examplevm што сакате повторно да го користите на овој домаќин. На стариот хост, треба да имате директориум Machines/examplevm во директориумот VirtualBox; Machines/examplevm треба да ја содржи датотеката examplevm.xml. Копирајте го директориумот examplevm (вклучувајќи ја датотеката examplevm.xml) во вашиот нов директориум Machines (ако вашето корисничко име е администратор, ова е /home/administrator/.VirtualBox/Machines - резултатот треба да биде /home/administrator/.VirtualBox/Machines /examplevm/examplevm.xml).
Покрај тоа, копирајте ја датотеката examplevm.vdi од стариот директориум VDI во новиот (на пр. /home/administrator/.VirtualBox/VDI/examplevm.vdi).
Потоа, мора да го регистрирате увезениот VM:
VBoxManage registervm Machines/examplevm/examplevm.xml
3.3 Стартување на VM со VBoxHeadless
Без разлика дали креирате нов VM или увезете стар, можете да го започнете со командата:
VBoxHeadless --startvm "Ubuntu 16.04 Server"
(Заменете го серверот Ubuntu 16.04 со името на вашиот VM.)
VBoxHeadless ќе го стартува серверот VM и VRDP (VirtualBox Remote Desktop Protocol) кој ви овозможува далечински да го гледате излезот на VM на друга машина.
За да запрете VM, трчајте
VBoxManage controlvm "Ubuntu 16.04 Server" poweroff
За да паузирате VM, стартувајте
VBoxManage controlvm "Ubuntu 16.04 Server" pause
За да ресетирате VM, стартувајте
VBoxManage controlvm "Ubuntu 16.04 Server" reset
За да дознаете повеќе за VBoxHeadless, погледнете
VBoxHeadless --help
и на http://www.virtualbox.org/manual/ch07.html#vboxheadless.
4 Поврзување со VM од далечинска работна површина
4.1 Windows
Може да ја користите вградената алатка Remote Desktop Connection за да се поврзете со VM.
Внесете го името на домаќинот или IP адресата на домаќинот (не гостинот!):
И нели, треба да си поврзан со VM:
4.2 Убунту десктоп
На работната површина на Ubuntu, можете да го користите Remmina Remote Desktop Client или gnome-rdp за да се поврзете со VM.
Инсталирајте го клиентот со apt:
sudo apt-get install remmina remmina-plugin-rdp
Само побарајте remmina и потоа кликнете двапати на иконата Remmina Client за да ја стартувате апликацијата RDP.
Во клиентот Remmina Remote Desktop, кликнете на иконата плус за да додадете нова врска за далечинска работна површина:
Во прозорецот за преференци за далечинска работна површина, пополнете име за профилот (како серверот Ubuntu 16.04), проверете дали е избран RDP како протокол (треба да биде избран стандардно), потоа пополнете ја IP адресата на домаќинот - не IP на гостинот на VirtualBox! - во полето Server, и изберете поголема длабочина на боја од стандардната 8bpp - 16bpp е во ред. Потоа кликнете на Поврзи:
И нели, треба да си поврзан со VM:
4.3 Ако врската за далечинска работна површина не работи...
Ако конекцијата за далечинска работна површина не работи, веројатно сте го пропуштиле чекорот кога го инсталирав пакетот за наставка на VirtualBox во поглавје 2. Ве молиме инсталирајте го пакетот наставки сега, запрете ја вашата виртуелна машина (видете поглавје 3.3) и изменете ја вашата виртуелна машина за да прифати далечинска работна површина врски:
VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on
(Ако пакетот за наставки е веќе инсталиран кога ја креирате вашата виртуелна машина, поврзувањата на далечинскиот управувач од работната површина автоматски се овозможени.)
Потоа повторно вклучете ја вашата виртуелна машина.
5 Врски
- VirtualBox: http://www.virtualbox.org/
- Ubuntu: http://www.ubuntu.com/