VirtualBox in der Praxis
Fehlt Windows-Software unter Linux oder soll unter Windows ein kompletter Linux-Webserver nachgebildet werden, hilft Virtualisierungssoftware. Eine pfiffige, für Privatanwender kostenlose Lösung ist VirtualBox.

Fehlt Windows-Software unter Linux oder soll unter Windows ein kompletter Linux-Webserver nachgebildet werden, hilft Virtualisierungssoftware. Eine pfiffige, für Privatanwender kostenlose Lösung ist VirtualBox....
Fehlt Windows-Software unter Linux oder soll unter Windows ein kompletter Linux-Webserver nachgebildet werden, hilft Virtualisierungssoftware. Eine pfiffige, für Privatanwender kostenlose Lösung ist VirtualBox.

Die Installation von VirtualBox ist verhältnismäßig einfach: Der Hersteller Innotek bietet neben den Windows- und OS-X-Versionen für praktisch jede gängige Linux-Distribution Pakete im jeweiligen Format und deckt neben typischen Enterprise-Distributionen auch aktuelle Consumer- und Community-Versionen ab. Besonders einfach haben es neben Windows-Nutzern die Anwender von Distributionen auf Basis von Debian: Bei diesen genügt es, Innoteks Paketschlüssel zu importieren, eine Zeile an die /etc/apt/sources.list anzuhängen und die Software mit apt-get oder Synaptic zu installieren. VirtualBox erzeugt bei der Installation eine Gruppe virtualbox - nur Benutzer, die Mitglied dieser Gruppe sind, dürfen die Virtualisierungssoftware nutzen. Beachten Sie, dass nach der Änderung der Gruppenzugehörigkeit ein erneutes Login erforderlich ist. Nun starten Sie die Virtualisierungssoftware mit dem Kommando:
VirtualBox
Während Konkurrent VMware bei der Installation relativ tief ins System eingreift und eigene Kernelmodule für den Netzwerkzugriff installiert, geht VirtualBox hier deutlich behutsamer zu Werke: Unmittelbar nach der Installation funktioniert nur die Verbindung nach außen via Network Address Translation. Das genügt zum Surfen im Netz und für das Einspielen von Sicherheitsupdates. Weil es für das Wirtssystem und dessen Umgebung jedoch so aussieht, als würde der VirtualBox-Prozess die Verbindungen veranlassen und kein virtuelles Netzwerkinterface sichtbar ist, schlägt der Netzwerkzugriff auf die virtuelle Maschine fehl. Wer VirtualBox dazu nutzen möchte, Serverapplikationen zu testen, muss deshalb den etwas erhöhten Konfigurationsaufwand auf sich nehmen und Netzwerk via Bridging oder Tunneling konfigurieren. Wir ersparten uns zunächst diesen Schritt und legten mit einem VMware-Image von openSUSE 10.3 los, das als VMDK-Datei vorlag.

Gleich beim Start fiel auf, dass VirtualBox nicht ganz so viele VESA-Modi unterstützt wie VMware, der Start bleibt zunächst stehen und erfordert die Drücken der Leertaste. Da VirtualBox zudem einen anderen virtuellen IDE-Controller verwendet, schlug die Suche nach der Rootpartition fehl. Erst nachdem wir die Bootparameter angepasst hatten, funktionierte der Start. Dass keine grafische Oberfläche startete, erwarteten wir angesichts der Unterschiede der virtuellen Hardware, die Nachkonfiguration mit sax2 löste das Problem. Gleiches galt für die virtuelle Netzwerkkarte: Statt Intel E1000 verwendet VirtualBox die virtuelle AMD Lance, welche auch bei Qemu und anderen freien Virtualisierungsprogrammen zum Einsatz kommt. Die Anpassung dauerte gefühlte zehn Minuten und zwei Reboots - durchaus praktikabel, wenn vorhandene Images für die künftige Nutzung unter VirtualBox konvertiert werden müssen, nicht sinnvoll, wenn ein Image ständig zwischen einem VirtualBox- und einem VMware-Nutzer ausgetauscht werden soll.
VirtualBox nahtlos
Einfacher als die Konvertierung eines fertigen Images ist die frische Installation eines Betriebssystems. Wir erstellten zuerst mit dd das ISO-Image einer XP-Installations-CD und nutzten dann den komfortablen Wizard, um eine Konfiguration zu erzeugen. Die anschließende Installation verläuft wenig spektakulär, wie bei der Konkurrenz fehlen Windows zunächst die Treiber für die virtuelle Netzwerkkarte und Sonderfunktionen der nachgebildeten Grafikkarte. Ein Klick auf Geräte/Gästeerweiterungen installieren legt eine virtuelle Treiber-CD ein. Nach der - automatisch gestarteten - Installation und einem Reboot funktioniert das virtuelle Netzwerk, der Mauszeiger ist nicht mehr gefangen, und das VirtualBox-Fenster lässt sich beliebig in der Größe verändern. Der besondere Clou ist jedoch, dass nach Drücken der rechten Steuerungstaste zusammen mit der Taste [L] VirtualBox in einen Seamless-Modus umschaltet: Die Fenster des XP-Gastes werden scheinbar nahtlos auf dem Linux-Desktop angezeigt.

Allerdings ist dieser Modus nicht ganz perfekt: bei unserem Xubuntu-Testgerät erschien VirtualBox mit lediglich einem Icon in der Taskleiste und die Windows-Fenster blieben ständig im Vordergrund, eventuell geöffnete Linux-Fenster lagen dahinter. Einzelne Windows-Fenster lassen sich nicht auf andere virtuelle Desktops schieben. Wer für den Windows-Gast jedoch einen eigenen virtuellen Desktop einplant und auf Kleinigkeiten wie eine bei Nichtbenutzung versteckte Taskleiste achtet, profitiert vom Umschalten zwischen Wirt und Gast, das leichter als bei anderen Virtualisierungslösungen ist. Nahtlos ist auch die gemeinsame Nutzung von Ordnern des Hostsystemes möglich. Eine Beispielfreigabe für den temporären Ordner entsteht im Verwaltungsfrontend der VirtualBox oder für die virtuelle Maschine mit Namen XP mit dem Befehl
VBoxManage sharedfolder add XP-name tmp -hostpath /tmp
Anschließend kann im Gastsystem im Explorer unter Extras/Netzlaufwerk verbinden dem unter \\vboxsrv\tmp verfügbaren Share ein Laufwerksbuchstabe zugewiesen werden.
Linux zu Gast
Häufig möchte man auch Linux als Gast nutzen - sei es um gefahrlos eine andere Distribution auszuprobieren oder um auch unter Windows mit typischen Linux-Applikationen zu arbeiten. Auch für Linux existieren Guest-Additions, mit denen nicht immer die rechte Steuerungstaste bemüht werden muss, um die Maus zu befreien und mit denen sich Shares mounten lassen. Unter dem openSUSE 10.3 Gast ließen sich die Additions nach Installation von kernel-source und gcc mit dem mitgelieferten Run-Script installieren. Leider schlugen beim openSUSE-Gast sowohl das Mounten des Shared Folders mit
mount -t vboxsf tmp /mountpoint
als auch das automatische Befreien der Maus am Bildschirmrand fehl. Da sich ältere Gäste problemlos konfigurieren ließen, vermuten wir einen Zusammenhang zwischen dem recht frischen SUSE-Kernel und den fast gleichzeitig mit openSUSE 10.3 erschienenen VirtualBox-Additions. Abhilfe sollte ein Vanilla-Kernel schaffen.

Eine tolle Option für Administratoren ist, dass sich praktisch alle Funktionen der VirtualBox auf der Kommandozeile nutzen lassen. So können neue virtuelle Maschinen erzeugt, Shared Folders hinzugefügt oder einfach Maschinen gestartet werden. Gerade wer immer sein Windows XP offen haben möchte - seamless natürlich - kann in seine Xsession-Datei am Anfang den Startbefehl eintragen und beim Beenden automatisch mit
VBoxManage controlvm XP acpipowerbutton
die virtuelle Maschine herunterfahren. Daneben stehen eine Reihe von Subkommandos für die Konvertierung von Festplatten-Images oder zum Erstellen von Schnappschüssen zur Verfügung. Auch einige Netzwerkfunktionen, beispielsweise zum Aufbau eines Netzwerks zwischen allen virtuellen Maschinen eines Nutzers stehen nur über die Kommandozeile zur Verfügung.
Netzwerk-Feinheiten
Wie eingangs erwähnt, erfordert der Zugriff auf geöffnete Ports der virtuellen Maschinen die Einrichtung der Bridgetreiber. Dafür installieren Sie zunächst das Paket bridgeutils. Anschließend wird eth0 mit einer Brücke verbunden. Die Brücke br0 wiederum erbt die bislang für eth0 getätigten Einstellungen. Die resultierende /etc/network/interfaces:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
Für das Hinzufügen virtueller Netzwerkkarten bringt VirtualBox eine Hilfsapplikation mit, der Sie den Namen des virtuellen Interfaces (meist vbox0 bis vbox1) und den Benutzer übergeben, der auf dieses zugreifen darf (hier mattias):
VBoxAddIF vbox0 mattias br0
Jetzt können Sie in der Konfiguration Ihrer virtuellen Maschine den Typ der Netzwerkverbindung von NAT auf Host umstellen. Zudem müssen die Berechtigungen auf der Gerätedatei /dev/net/tun0 so geändert werden, dass Nutzer, deren VirtualBox im Bridged-Modus auf das Netz zugreifen können, Schreibrechte haben.
Nach dem nächsten Start sind alle offenen Ports des Gastystemes von außen theoretisch erreichbar: Dauerhaften Erfolg hatten wir bei manchen Gästen nur, wenn wir die IP-Adressen statisch vergaben und zunächst ausgehende Verbindungen (etwa per ping) initiierten.
Fazit
Von der Einfachheit der Konfiguration kommt VirtualBox nicht ganz an VMware heran, wenn es um die Netzwerk-Konfiguration geht, wer allerdings auf ein gebridgtes Netzwerk verzichten kann, hat mit VirtualBox unter Umständen schneller seine Gastsysteme eingerichtet als unter VMware. Gerade für den Heimnutzer ist die VirtualBox deshalb eine sehr gute Alternative sowohl zum kostenlosen, aber im Funktionsumfang reduzierten VMware-Player als auch zu den vielen freien Virtualisierungslösungen, deren Flexibilität nicht an VirtualBox heranreicht. Dass Innotek mittelfristig auch die VMware-Serverversionen im Blick hat, zeigen die vielfältigen Kommandozeilenoptionen sowie die angekündigte Portierung auf einen eigenen Hypervisor/Microkernel.

In Zeiten steigender Energiepreise ist die Konsolidierung von Servern ein zukunftsträchtiges Geschäft - allerdings muss bis dahin auch die noch die fehlende Unterstützung für Gäste mit PAE-Erweiterungen und 64-Bit implementiert werden. Ein großer Wurf für Desktopanwender ist Innotek mit dem Seamless-Modus gelungen, der auf einfachste Art und Weise einzelne Windows-Fenster fast nahtlos auf dem Linux-Desktop integriert.