GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

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

In dieser Anleitung wird erläutert, wie Sie virtuelle Maschinen mit VirtualBox 5.1 auf einem Headless-Ubuntu 16.04-Server ausführen können. Normalerweise verwenden Sie die VirtualBox-GUI, um Ihre virtuellen Maschinen zu verwalten, aber ein Server hat keine Desktop-Umgebung. Glücklicherweise wird VirtualBox mit einem Tool namens VBoxHeadless geliefert, mit dem Sie sich über eine Remote-Desktop-Verbindung mit den virtuellen Maschinen verbinden können, sodass die VirtualBox-GUI nicht erforderlich ist.

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 (Benutzername Administrator in diesem Beispiel) 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 Schlüssel von VirtualBox 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-Kernel-Module ordnungsgemäß aktualisiert werden, wenn sich die Linux-Kernel-Version ändert.)

Ab Version 4.0 hat VirtualBox sogenannte „Extension Packs“ eingeführt und einige Funktionen wie Remote Desktop Connection Support (VRDP), die vor Version 4.0 Bestandteil von VirtualBox-Paketen waren, in diese Extension Packs ausgelagert. Da wir Remote-Desktop-Verbindungen benötigen, um unsere virtuellen Maschinen zu steuern, müssen wir jetzt das entsprechende Erweiterungspaket installieren. Gehen Sie zu http://www.virtualbox.org/wiki/Downloads, dort finden Sie einen Link zum 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 herunterladen und sudo verwenden, um die extpack-Datei mit VBoxManage zu installieren.)

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

sudo adduser administrator vboxusers

VirtualBox ist jetzt installiert und einsatzbereit.

3 Verwenden von VirtualBox in 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 jetzt eine Ubuntu 16.04-Server-VM mit 2048 MB Speicher und einer 10-GB-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 die VM zu starten, und verbinden Sie sich dann mit einem Remote-Desktop-Client mit der VM, wie in Kapitel 4 beschrieben. 

3.2 Importieren einer bestehenden VM

Nehmen wir an, Sie haben eine VM namens examplevm, die Sie auf diesem Host wiederverwenden möchten. Auf dem alten Host sollten Sie ein Verzeichnis Machines/examplevm im VirtualBox-Verzeichnis 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 sein /examplevm/examplevm.xml).

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-Server (VirtualBox Remote Desktop Protocol), mit dem Sie die Ausgabe der VM remote 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 anzuhalten, 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 Herstellen einer Verbindung zu einer VM von einem Remotedesktop

Windows 4.1

Sie können das integrierte Dienstprogramm für die Remotedesktopverbindung verwenden, um eine Verbindung zur VM herzustellen.

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

Und voilà, Sie sollten mit der VM verbunden sein:

4.2 Ubuntu Desktop

Auf Ubuntu-Desktops können Sie den Remmina Remote Desktop Client oder gnome-rdp verwenden, um eine Verbindung zur VM herzustellen.

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 Symbol des Remmina-Clients, 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:

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 des VirtualBox-Gasts! - im Feld Server und wählen Sie eine höhere Farbtiefe als die Standardeinstellung von 8bpp - 16bpp ist ok. Klicken Sie dann auf Verbinden:

Und voilà, Sie sollten mit der VM verbunden sein:

4.3 Wenn die Remotedesktopverbindung nicht funktioniert...

Wenn die Remotedesktopverbindung nicht funktioniert, haben Sie wahrscheinlich den Schritt verpasst, in dem ich das VirtualBox-Erweiterungspaket in Kapitel 2 installiere. Bitte installieren Sie jetzt das Erweiterungspaket, stoppen Sie Ihre virtuelle Maschine (siehe Kapitel 3.3) und ändern Sie Ihre virtuelle Maschine So akzeptieren Sie Remote-Desktop-Verbindungen:

VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

(Wenn das Erweiterungspaket bereits installiert ist, wenn Sie Ihre virtuelle Maschine erstellen, werden Remote-Desktop-Verbindungen automatisch aktiviert.)

Starten Sie dann Ihre virtuelle Maschine erneut.

  • VirtualBox:http://www.virtualbox.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Verwalten einer Headless VirtualBox-Installation mit phpvirtualbox (Ubuntu 16.04 LTS)

  2. Ersteinrichtung des Servers mit Ubuntu 20.04 LTS (Focal Fossa)

  3. Lassen Sie Ubuntu Server auf einem Laptop mit geschlossenem Deckel laufen?

  4. Kann keine Verbindung mit VPS herstellen, auf dem Ubuntu Server 16 mit X2go ausgeführt wird?

  5. Wöchentliche virtuelle Maschinen mit Build-Skripts

So installieren Sie den VsFTPD-Server mit TLS unter Ubuntu 18.04 LTS

So installieren Sie Jellyfin Media Server auf Ubuntu 20.04 LTS Server/Desktop

So installieren Sie Plex Media Server auf Ubuntu 20.04 LTS Server/Desktop

So installieren Sie phpMyAdmin mit Apache unter Ubuntu 22.04 LTS

So installieren Sie Ubuntu 22.04 LTS ISO in VirtualBox VM, um es zu testen

So installieren Sie KVM und erstellen virtuelle Maschinen unter Ubuntu 16.04 LTS