VirtualBox im Headless-Modus starten

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

VirtualBox bietet mit dem Tool VBoxManage hervorragende Möglichkeiten zur Verwaltung der Virtuellen Maschinen (VMs) auf der Kommandozeile.[1] Eine nützliche Funktion beim Starten von VMs ist der Headless-Modus. Dabei wird die VM nicht über die Virtual-Box GUI, sondern über die Kommandozeile gestartet. Es erscheint dabei auch kein grafisches PopUp Fenster mit der Konsole der VM. Stattdessen wird via Remote-Desktopverbindung oder SSH eine Verbindung zur Konsole der VM initiiert.

VirtualBox Remote Display Protocol (VRDP)

Extension Pack installieren

Das Display einer im Headless-Modus gestarteten VM kann über VRDP[2] erreicht werden. Um VRPDP verwenden können muss das Extension Package der VirtualBox installiert sein. Es kann von der Download-Seite bezogen und mittels VirtualBox-GUI installiert werden:

Sollte die VirtualBox Remote Display Extension noch nicht aktiviert sein, kann dies mittels

~$ VBoxManage modifyvm "VM name" --vrde on

nachgeholt werden.[2]

Extension-Pack ohne GUI installieren

Das Extension-Pack lässt sich, wie nachfolgend aufgezeigt, auch ohne eine installierte GUI installieren.

~$ sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.14-105127.vbox-extpack 
[sudo] password for user: 
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Das Extension-Pack wird nach der Installation dem User bei der Ausgabe von

VBoxManage list extpacks

jedoch nicht angezeigt, hier soll dann ein Ab- und wieder anmelden am Server Abhilfe schaffen.

Starten und Verbinden zur VM

Nach erfolgreicher Installation von VRDP kann eine VM im Headless-Modus gestartet werden. Dazu wird im ersten Schritt der Name der VM identifiziert:

~$ VBoxManage list vms
"ubuntu-server" {763d57b9-8eef-4572-8e71-f33fea89e950}

In diesem Beispiel existiert also ein VM mit dem Namen "ubuntu-server", die nachfolgende Zahl ist deren UID. Der Headless-Modus kann anschließend über zwei verschiedene Wege aktiviert werden:

~$ VBoxHeadless -s ubuntu-server
Oracle VM VirtualBox Headless Interface 4.1.8
(C) 2008-2011 Oracle Corporation
All rights reserved.

VRDE server is listening on port 3389.

oder auch

~$ VBoxManage startvm ubuntu-server --type headless
Waiting for VM "ubuntu-server" to power on...
VM "ubuntu-server" has been successfully started.

Die VM läuft nun, eine Display-Ausgabe wird jedoch nicht angezeigt. Stattdessen verbindet man sich über RDP oder SSH (vorausgesetzt wird eine entsprechende Netzwerk- und SSH-Konfiguration) zu der Maschine.

SSH

~$ ssh tktest@192.168.56.101

In diesem Beispiel besitzt die VM einen Host-only-Adapter der beim Start der VM automatisch via VirtualBox-DHCP eine IP erhält. Daher kann ohne Probleme der laufende SSH-Server der VM erreicht werden. Diese Verbindung über SSH funktioniert auch, wenn VRDE für die VM nicht aktiviert wurde.

RDP

Die Verbindung zu einer VM via RDP funktioniert nur, wenn VRDE für die VM aktiviert wurde. Dann kann jeglicher RDP-Client dazu verwendet werden, um sich auf localhost bzw. mit der IP des Hosts auf die VM zu verbinden:

~$ VBoxHeadless -s ubuntu-server
Oracle VM VirtualBox Headless Interface 4.1.8
(C) 2008-2011 Oracle Corporation
All rights reserved.

VRDE server is listening on port 3389.
rdesktop localhost
Via RDP entsteht eine Verbindung zur im Headless-Modus gestarteten VM.

Stoppen der VM

Eine virtuelle Maschine soll immer kontrolliert heruntergefahren werden, z.B. via acpi:[3]

VBoxManage controlvm VSERVER acpipowerbutton

Falls dies nicht möglich ist, kann die virtuelle Maschine mit folgendem Kommando hart abgechaltet werden (dies entspricht des Ziehen des Stromkabels bei einem normalen Rechner, es kann also zu einem Datenverlust in der virtuellen Maschine kommen):

VBoxManage controlvm VSERVER poweroff

Einzelnachweise

  1. VBoxManage (Oracle VM VirtualBox User Manual, Chapter 8)
  2. 2,0 2,1 Remote virtual machines: Remote display (VRDP support) (Oracle VM VirtualBox User Manual, Chapter 7)
  3. VBoxManage controlvm (Oracle VM VirtualBox User Manual, Chapter 8)
Foto Georg Schönberger.jpg

Autor: Georg Schönberger

Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.


Das könnte Sie auch interessieren

Ausführbare SSH-Kommandos per authorized keys einschränken
Bcache
Ubuntu default snakeoil SSL-Zertifikat erneuern