Virtualisierung · 6 min read · Dec 26, 2025
VBoxHeadless - Virtuelle Maschinen mit VirtualBox 4.1 auf einem headless CentOS 6.2 Server ausführen
VBoxHeadless - Virtuelle Maschinen mit VirtualBox 4.1 auf einem headless CentOS 6.2 Server ausführen
Version 1.0
Autor: Falko Timme
Folge mir auf Twitter
Dieser Leitfaden erklärt, wie Sie virtuelle Maschinen mit VirtualBox 4.1 auf einem headless CentOS 6.2 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 6.2 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)…
… 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.1 auf unserem CentOS 6.2 Server zu installieren, benötigen wir Root-Rechte, daher führen wir aus
$ suDann installieren wir die Abhängigkeiten für VirtualBox 4.1 wie folgt:
# yum groupinstall 'Development Tools'# yum install SDL kernel-devel kernel-headers dkmsMit 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
Überprüfen Sie Ihre Kernel-Version…
# uname -r[root@server1 ~]# uname -r
2.6.32-220.el6.x86_64
[root@server1 ~]#
Das bedeutet, dass es ein Verzeichnis mit dem Namen 2.6.32-220.el6.x86_64 im Verzeichnis /usr/src/kernels/ geben sollte. Wir können das jetzt überprüfen:
[root@server1 kernels]# ls -l
total 4
drwxr-xr-x 22 root root 4096 Jun 25 17:30 2.6.32-220.23.1.el6.x86_64
[root@server1 kernels]#
Wie Sie sehen, habe ich das Verzeichnis 2.6.32-220.23.1.el6.x86_64, aber nicht 2.6.32-220.el6.x86_64. Daher erstellen wir einen Symlink mit dem Namen 2.6.18-238.el5-x86_64, der auf 2.6.18-238.9.1.el5-x86_64 zeigt:
# ln -s 2.6.32-220.23.1.el6.x86_64 `uname -r`Laden Sie als Nächstes den öffentlichen RPM-Schlüssel von VirtualBox herunter und registrieren Sie ihn:
Jetzt aktivieren wir das VirtualBox CentOS-Repository auf unserem System:
Wir können jetzt einfach VirtualBox 4.1 wie folgt installieren:
# yum install VirtualBox-4.1Wenn die Installation erfolgreich ist, sollte die Ausgabe wie folgt enden:
[…]
Transaktion wird ausgeführt
Installiere : VirtualBox-4.1-4.1.18_78361_rhel6-1.x86_64 1/1
Erstelle Gruppe ‘vboxusers’. VM-Benutzer müssen Mitglied dieser Gruppe sein!
Kein vorkompiliertes 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.1.x86_64 0:4.1.18_78361_rhel6-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:
[…]
Transaktion wird ausgeführt
Installiere : VirtualBox-4.1-4.1.18_78361_rhel6-1.x86_64 1/1
Erstelle Gruppe ‘vboxusers’. VM-Benutzer müssen Mitglied dieser Gruppe sein!
Kein vorkompiliertes 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 Kernelquelle für den Kernel 2.6.32-220.el6.x86_64 kann nicht gefunden werden unter
/lib/modules/2.6.32-220.el6.x86_64/build oder /lib/modules/2.6.32-220.el6.x86_64/source.
[FEHLGESCHLAGEN]
(Fehlgeschlagen, versuche es ohne DKMS)
Kompiliere VirtualBox-Kernelmodule neu [FEHLGESCHLAGEN]
(Schauen Sie in /var/log/vbox-install.log, um herauszufinden, was schiefgelaufen ist)
Installiert:
VirtualBox-4.1.x86_64 0:4.1.18_78361_rhel6-1
Fertig!
[root@server1 kernels]#
In diesem Fall versuchen Sie, den richtigen Kernel-Symlink zu erstellen (wie zuvor gezeigt) und führen Sie dann aus
# /etc/init.d/vboxdrv setupum 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 adminVirtualBox ist jetzt installiert und bereit zur Verwendung.
Beginnend mit Version 4.0 hat VirtualBox sogenannte “Erweiterungspakete” eingeführt und einige Funktionen wie die Unterstützung für Remote-Desktop-Verbindungen (VRDP), die zuvor Teil der VirtualBox-Pakete waren, in diese Erweiterungspakete 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, und Sie finden einen Link zu folgendem Erweiterungspaket:
VirtualBox 4.1.18 Oracle VM VirtualBox Extension Pack
Unterstützung für USB 2.0-Geräte, VirtualBox RDP und PXE-Boot für Intel-Karten.
Laden Sie das Erweiterungspaket herunter und installieren Sie es wie folgt:
(Stellen Sie sicher, dass Sie die neueste Version von der VirtualBox-Website herunterladen.)
Geben Sie ein
# exitum 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 --helpfü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 12.04 Server-VM mit 1024MB Speicher und einer 10GB Festplatte aus dem Ubuntu 12.04 Server-ISO-Image erstellen (das ich in /home/ubuntu-12.04-server-amd64.iso gespeichert habe):
$ VBoxManage createvm –name “Ubuntu 12.04 Server” –register
$ VBoxManage modifyvm “Ubuntu 12.04 Server” –memory 1024 –acpi on –boot1 dvd –nic1 bridged –bridgeadapter1 eth0
$ VBoxManage createhd –filename Ubuntu_12_04_Server.vdi –size 10000
$ VBoxManage storagectl “Ubuntu 12.04 Server” –name “IDE Controller” –add ide
$ VBoxManage storageattach “Ubuntu 12.04 Server” –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium Ubuntu_12_04_Server.vdi
$ VBoxManage storageattach “Ubuntu 12.04 Server” –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium /home/ubuntu-12.04-server-amd64.iso
3.2 Importieren einer bestehenden 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 Verzeichnis examplevm (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 Datei examplevm.vdi 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.xml3.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 12.04 Server"(Ersetzen Sie Ubuntu 12.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 12.04 Server" poweroffUm eine VM zu pausieren, führen Sie aus
$ VBoxManage controlvm "Ubuntu 12.04 Server" pauseUm eine VM zurückzusetzen, führen Sie aus
$ VBoxManage controlvm "Ubuntu 12.04 Server" resetUm mehr über VBoxHeadless zu erfahren, werfen Sie einen Blick auf
$ VBoxHeadless --helpund auf http://www.virtualbox.org/manual/ch07.html#vboxheadless.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.