VBoxHeadless – Ausführen von virtuellen Maschinen mit VirtualBox 5.1 auf einem Headless Ubuntu 16.04 LTS Server

In diesem Handbuch wird erläutert, wie Sie virtuelle Maschinen mit VirtualBox 5.1 auf einem kopflosen Ubuntu 16.04-Server ausführen können. Normalerweise verwenden Sie die VirtualBox-GUI zur Verwaltung Ihrer virtuellen Maschinen, aber ein Server verfügt nicht über eine Desktop-Umgebung. Glücklicherweise wird VirtualBox mit einem Tool namens VBoxHeadless geliefert, mit dem Sie eine Verbindung zu den virtuellen Maschinen über eine Remote-Desktopverbindung herstellen können, so dass die VirtualBox-GUI nicht benötigt wird.

1 Vorbemerkung

Ich habe dies auf einem Ubuntu 16.04 Server (Hostsystem) mit der IP-Adresse 192.168.1.100 getestet, wo ich als normaler Benutzer (in diesem Beispiel Benutzername-Administrator) und nicht als root angemeldet bin.

2 Installation von VirtualBox

Um VirtualBox 5.1 auf unserem Ubuntu 16.04 Server zu installieren, öffnen wir /etc/apt/sources.list…..

sudo nano /etc/apt/sources.list

…. und fügen Sie die folgende Zeile hinzu:

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

Dann laden wir den öffentlichen VirtualBox-Schlüssel herunter…..

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

…. und aktualisieren Sie unsere Paketdatenbank:

sudo apt-get update

Anschließend installieren wir VirtualBox 5.1 wie folgt:

sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-5.1 dkms

(Das dkms-Paket stellt sicher, dass die VirtualBox Host-Kernelmodule ordnungsgemäß aktualisiert werden, wenn sich die Version des Linux-Kernels ändert.)

Seit der Version 4.0 hat VirtualBox so genannte „Extension Packs“ eingeführt und einige Funktionen wie Remote Desktop Connection Support (VRDP), die vor der Version 4.0 Teil der VirtualBox-Pakete waren, in diese Extension Packs ausgelagert. Da wir Remote-Desktopverbindungen zur Steuerung unserer virtuellen Maschinen benötigen, müssen wir jetzt das entsprechende Erweiterungspaket installieren. Gehen Sie auf http://www.virtualbox.org/wiki/Downloads, und Sie finden einen Link zu dem folgenden Erweiterungspaket:

VirtualBox 5.1 Oracle VM VirtualBox Extension Pack

Laden Sie das Erweiterungspaket herunter und installieren Sie es wie folgt:

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

(Stellen Sie sicher, dass Sie die neueste Version von der VirtualBox-Website beziehen und sudo verwenden, um die extpack-Datei mit VBoxManage zu installieren.)

Nun müssen wir den Benutzer, der VirtualBox (in diesem Beispiel Administrator) ausführen soll, zur vboxusers-Gruppe hinzufügen:

sudo adduser administrator vboxusers

VirtualBox ist nun installiert und einsatzbereit.

3 Verwenden von VirtualBox auf der Befehlszeile

3.1 Erstellen einer VM

Um eine VM auf der Befehlszeile zu erstellen, können wir den Befehl VBoxManage verwenden. Siehe

VBoxManage --help

eine Liste der verfügbaren Schalter und (sehr empfehlenswert!) finden Sie unter http://www.virtualbox.org/manual/ch08.html.

Ich werde nun eine Ubuntu 16.04 Server VM mit 2048MB Speicher und einer 10GB Festplatte aus dem Ubuntu 16.04 Server iso Image erstellen (das ich in /home/administrator/iso/ubuntu-16.04-server-amd64.iso gespeichert habe):

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

Fahren Sie nun mit Kapitel 3.3 fort, um den vm zu starten und verbinden Sie sich dann mit der VM über einen Remote Desktop Client, wie in Kapitel 4 beschrieben.

3.2 Importieren einer vorhandenen VM

Angenommen, Sie haben eine VM namens examplevm, die Sie auf diesem Host wiederverwenden möchten. Auf dem alten Host sollten Sie im VirtualBox-Verzeichnis ein Verzeichnis Machines/examplevm haben; Machines/examplevm sollte die Datei examplevm.xml enthalten. Kopieren Sie das Verzeichnis examplevm (einschließlich der Datei examplevm.xml) in Ihr neues Maschinenverzeichnis (wenn Ihr Benutzername Administrator ist, ist dies /home/administrator/.VirtualBox/Machines – das Ergebnis sollte /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml sein).

Kopieren Sie außerdem die Datei examplevm.vdi aus dem alten VDI-Verzeichnis in das neue (z.B. /home/administrator/.VirtualBox/VDI/examplevm.vdi).

Anschließend müssen Sie die importierte VM registrieren:

VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Starten einer VM mit VBoxHeadless

Unabhängig davon, ob Sie eine neue VM erstellen oder eine alte importieren, können Sie sie mit dem Befehl starten:

VBoxHeadless --startvm "Ubuntu 16.04 Server"

(Ersetzen Sie Ubuntu 16.04 Server durch den Namen Ihrer VM.)

VBoxHeadless startet die VM und einen VRDP (VirtualBox Remote Desktop Protocol) Server, mit dem Sie die Ausgabe der VM aus der Ferne auf einem anderen Computer sehen können.

Um eine VM zu stoppen, führen Sie aus

VBoxManage controlvm "Ubuntu 16.04 Server" poweroff

Um eine VM zu pausieren, führen Sie aus

VBoxManage controlvm "Ubuntu 16.04 Server" pause

Um eine VM zurückzusetzen, führen Sie aus

VBoxManage controlvm "Ubuntu 16.04 Server" reset

Um mehr über VBoxHeadless zu erfahren, werfen Sie einen Blick auf

VBoxHeadless --help

und unter http://www.virtualbox.org/manual/ch07.html#vboxheadless.

4 Verbinden mit einer VM von einem Remote Desktop aus

4.1 Windows

Sie können das integrierte Dienstprogramm Remote Desktop Connection verwenden, um eine Verbindung zur VM herzustellen.

Geben Sie den Hostnamen oder die IP-Adresse des Hosts (nicht des Gastes!) ein:

Windows RDP Login

Und voilà, du solltest mit der VM verbunden sein:

Die virtuelle Ubuntu-Maschine über RDP

4.2 Ubuntu Desktop

Auf Ubuntu-Desktops können Sie den Remmina Remote Desktop Client oder gnome-rdp verwenden, um sich mit der VM zu verbinden.

Installieren Sie den Client mit apt:

sudo apt-get install remmina remmina-plugin-rdp

Suchen Sie einfach nach remmina und doppelklicken Sie dann auf das Remmina Client-Symbol, um die RDP-Anwendung zu starten.

Klicken Sie im Remmina Remote Desktop Client auf das Plus-Symbol, um eine neue Remote Desktop-Verbindung hinzuzufügen:

Remmina begann.

Geben Sie im Fenster Remote Desktop Preference einen Namen für das Profil ein (z.B. Ubuntu 16.04 Server), stellen Sie sicher, dass RDP als Protokoll ausgewählt ist (es sollte standardmäßig ausgewählt sein), und geben Sie dann die Host-IP-Adresse ein – nicht die IP-Adresse des VirtualBox-Gastes! – im Feld Server, und wählen Sie eine höhere Farbtiefe als die Voreinstellung von 8bpp – 16bpp ist ok. Klicken Sie dann auf Verbinden:

Remmina Login-Details.

Und voilà, du solltest mit der VM verbunden sein:

Ubuntu VM über Remmina RDP.

4.3 Wenn die Remotedesktopverbindung nicht funktioniert…..

Wenn die Remote-Desktopverbindung nicht funktioniert, haben Sie wahrscheinlich den Schritt verpasst, bei dem ich das VirtualBox-Erweiterungspaket in Kapitel 2 installiert habe. Bitte installieren Sie das Erweiterungspaket jetzt, stoppen Sie Ihre virtuelle Maschine (siehe Kapitel 3.3) und ändern Sie Ihre virtuelle Maschine so, dass sie Remote-Desktopverbindungen akzeptiert:

VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

(Wenn das Erweiterungspaket bereits beim Erstellen Ihrer virtuellen Maschine installiert ist, werden Remote-Desktop-Verbindungen automatisch aktiviert.)

Starten Sie dann Ihre virtuelle Maschine erneut.

5 Links

Das könnte dich auch interessieren …