Virtualisierung · 5 min read · Dec 31, 2025

VBoxHeadless - Virtuelle Maschinen mit VirtualBox 4.0 auf einem headless CentOS 5.6 Server ausführen

VBoxHeadless - Virtuelle Maschinen mit VirtualBox 4.0 auf einem headless CentOS 5.6 Server ausführen

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

Dieser Leitfaden erklärt, wie Sie virtuelle Maschinen mit VirtualBox 4.0 auf einem headless CentOS 5.6 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 kommt VirtualBox mit einem Tool namens VBoxHeadless, das es Ihnen ermöglicht, über eine Remote-Desktop-Verbindung auf die virtuellen Maschinen zuzugreifen, sodass die VirtualBox GUI nicht benötigt wird.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Ich habe dies auf einem CentOS 5.6 Server (Host-System) mit der IP-Adresse 192.168.0.100 getestet, wo ich als normaler Benutzer (Benutzername admin in diesem Beispiel) anstelle von root angemeldet bin.

Wenn Sie nur ein Root-Konto haben, aber kein normales Benutzerkonto, erstellen Sie eines wie folgt (Benutzer admin, Gruppe admin)…

# groupadd admin  
# useradd -d /home/admin -m -g admin -s /bin/bash admin

… erstellen Sie ein Passwort für den neuen Benutzer…

# passwd admin

… und melden Sie sich als dieser Benutzer an.

2 Installation von VirtualBox

Um VirtualBox 4.0 auf unserem CentOS 5.6 Server zu installieren, benötigen wir Root-Rechte, daher führen wir aus

$ su

Jetzt aktivieren wir das RPMforge-Repository auf unserem CentOS-System, da das dkms-Paket ( Dynamic Kernel Module Support Framework - dieses Paket wird benötigt, um das VirtualBox-Kernelmodul zu erstellen), das wir installieren möchten, in den offiziellen CentOS 5.6-Repositories nicht verfügbar ist:

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# cd /tmp  
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm  
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

(Wenn der obige Link nicht mehr funktioniert, finden Sie die aktuelle Version von rpmforge-release hier: http://packages.sw.be/rpmforge-release/)

Dann installieren wir die Abhängigkeiten für VirtualBox 4.0 wie folgt:

# yum groupinstall 'Development Tools'
# yum groupinstall 'Development Libraries'
# yum install SDL kernel-devel kernel-headers dkms

Mit dem letzten Befehl haben wir die Kernel-Header unseres derzeit verwendeten Kernels installiert. Die Header befinden sich im Verzeichnis /usr/src/kernels/, aber es ist wahrscheinlich, dass sein Verzeichnis nicht - heißt, sondern einen anderen Namen hat, sodass das VirtualBox-Kernelmodul später nicht erstellt werden kann, weil das erwartete Verzeichnis der Kernel-Header nicht gefunden werden kann. Das werden wir jetzt korrigieren:

Überprüfen Sie Ihre Kernel-Version…

# uname -r
[root@server1 kernels]# uname -r  
2.6.18-238.el5  
[root@server1 kernels]#

… und Architektur:

# uname -m
[root@server1 2.6.18-238.el5]# uname -m  
x86_64  
[root@server1 2.6.18-238.el5]#

Das bedeutet, dass es ein Verzeichnis namens 2.6.18-238.el5-x86_64 im Verzeichnis /usr/src/kernels/ geben sollte. Das können wir jetzt überprüfen:

# cd /usr/src/kernels/  
# ls -l
[root@server1 kernels]# ls -l  
total 4  
drwxr-xr-x 19 root root 4096 Mai 19 14:26 2.6.18-238.9.1.el5-x86_64  
[root@server1 kernels]#

Wie Sie sehen, habe ich das Verzeichnis 2.6.18-238.9.1.el5-x86_64, aber nicht 2.6.18-238.el5-x86_64. Daher erstellen wir einen Symlink namens 2.6.18-238.el5-x86_64, der auf 2.6.18-238.9.1.el5-x86_64 zeigt:

# ln -s 2.6.18-238.9.1.el5-x86_64 `uname -r`-`uname -m`

Laden Sie als Nächstes den öffentlichen rpm-Schlüssel von VirtualBox herunter und registrieren Sie ihn:

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc  
# rpm --import oracle_vbox.asc  
# rm -f oracle_vbox.asc

Jetzt aktivieren wir das VirtualBox CentOS-Repository auf unserem System:

# cd /etc/yum.repos.d/  
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Wir können jetzt einfach VirtualBox 4.0 wie folgt installieren:

# yum install VirtualBox-4.0

Wenn die Installation erfolgreich ist, sollte die Ausgabe wie folgt enden:

[...]  
Transaktion wird ausgeführt  
  Installation     : VirtualBox-4.0                        1/1  
  
Erstelle Gruppe 'vboxusers'. VM-Benutzer müssen Mitglied dieser Gruppe sein!  
  
Kein vorcompiliertes Modul für diesen Kernel gefunden -- versuche, eines zu erstellen. Nachrichten  
während der Modulkompilierung werden in /var/log/vbox-install.log protokolliert.  
  
Stoppe VirtualBox-Kernelmodule [  OK  ]  
Deinstalliere alte VirtualBox DKMS-Kernelmodule [  OK  ]  
Versuche, die VirtualBox-Kernelmodule mit DKMS zu registrieren [  OK  ]  
Starte VirtualBox-Kernelmodule [  OK  ]  
  
Installiert:  
  VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1  
  
Fertig!  
[root@server1 kernels]#

(Wenn die Installation fehlschlägt, weil das richtige Verzeichnis der Kernel-Header nicht gefunden werden kann, endet die Ausgabe wie folgt:

[...]  
Erstelle Gruppe 'vboxusers'. VM-Benutzer müssen Mitglied dieser Gruppe sein!  
  
Kein vorcompiliertes Modul für diesen Kernel gefunden -- versuche, eines zu erstellen. Nachrichten  
während der Modulkompilierung werden in /var/log/vbox-install.log protokolliert.  
  
Stoppe VirtualBox-Kernelmodule [  OK  ]  
Deinstalliere alte VirtualBox DKMS-Kernelmodule [  OK  ]  
Versuche, die VirtualBox-Kernelmodule mit DKMS zu registrieren  
Fehler! Ihre Kernel-Header für Kernel 2.6.18-238.el5 können nicht gefunden werden unter  
/lib/modules/2.6.18-238.el5/build oder /lib/modules/2.6.18-238.el5/source.  
  [FEHLGESCHLAGEN]  
  (Fehlgeschlagen, versuche es ohne DKMS)  
Recompiliere VirtualBox-Kernelmodule [FEHLGESCHLAGEN]  
  (Siehe /var/log/vbox-install.log, um herauszufinden, was schiefgelaufen ist)  
  
Installiert:  
  VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1  
  
Fertig!  
[root@server1 yum.repos.d]#

In diesem Fall versuchen Sie, den richtigen Kernel-Symlink zu erstellen (wie zuvor gezeigt) und führen Sie dann aus

# /etc/init.d/vboxdrv setup

um das VirtualBox-Kernelmodul zu erstellen.)

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

# /usr/sbin/usermod -G vboxusers admin

VirtualBox ist jetzt installiert und bereit zur Verwendung.

Geben Sie

# exit

ein, um das Root-Konto zu verlassen und wieder ein normaler Benutzer (admin) zu werden.

3 Verwendung von VirtualBox über die Kommandozeile

3.1 Erstellen einer VM

Um eine VM über die Kommandozeile zu erstellen, können wir den Befehl VBoxManage verwenden. Siehe

$ VBoxManage --help

für eine Liste der verfügbaren Schalter und (sehr empfohlen!) werfen Sie einen Blick auf http://www.virtualbox.org/manual/ch08.html.

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

$ VBoxManage createvm --name "Ubuntu 11.04 Server" --register  
$ VBoxManage modifyvm "Ubuntu 11.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0  
$ VBoxManage createhd --filename Ubuntu_11_04_Server.vdi --size 10000  
$ VBoxManage storagectl "Ubuntu 11.04 Server" --name "IDE Controller" --add ide  
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_11_04_Server.vdi  
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-11.04-server-amd64.iso

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 ein Verzeichnis Machines/examplevm im VirtualBox-Verzeichnis haben; Machines/examplevm sollte die Datei examplevm.xml enthalten. Kopieren Sie das examplevm-Verzeichnis (einschließlich der Datei examplevm.xml) in Ihr neues Machines-Verzeichnis (wenn Ihr Benutzername admin ist, ist dies /home/admin/.VirtualBox/Machines - das Ergebnis sollte /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml sein).

Darüber hinaus kopieren Sie die examplevm.vdi-Datei aus dem alten VDI-Verzeichnis in das neue (z.B. /home/admin/.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 11.04 Server"

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

VBoxHeadless startet die VM und einen VRDP (VirtualBox Remote Desktop Protocol)-Server, der es Ihnen ermöglicht, die Ausgabe der VM remote auf einem anderen Computer zu sehen.

Um eine VM zu stoppen, führen Sie aus

$ VBoxManage controlvm "Ubuntu 11.04 Server" poweroff

Um eine VM zu pausieren, führen Sie aus

$ VBoxManage controlvm "Ubuntu 11.04 Server" pause

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

$ VBoxManage controlvm "Ubuntu 11.04 Server" reset

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

$ VBoxHeadless --help

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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.