Virtualisierungssoftware Virtualbox

Aus LinuxUser 04/2007

Virtualisierungssoftware Virtualbox

Huckepack

Gängige Virtualisierungsprogramme sind entweder teuer oder kompliziert zu bedienen. Das jüngst freigegebene Virtualbox erhebt den Anspruch der einfachen Bedienbarkeit und ist obendrein kostenlos.

Virtualisierungsprogramme sind eine feine Sache: Sie ermöglichen dem Anwender den parallelen Betrieb mehrerer Betriebssysteminstanzen, der so genannten Gäste, auf einem Wirtssystem. Praktisch zum Beispiel für Linux-Anwender, die eine neue Distributionsrelease vor dem Installieren testen möchten oder auf bestimmte Windows-Programme nicht verzichten können.

Technisch gesehen simuliert die Virtualisierungssoftware einen eigenständigen, vom Wirtssystem weitgehend unabhängigen Rechner. Die darin betriebene Software “sieht” also ausschließlich das Gastsystem, ohne etwas vom darunter liegenden Wirt mitzubekommen. Virtualisierungsprogramme weisen meist mindestens einen von zwei Haken auf: Entweder sind sie – wie der Platzhirsch VMware [1] – sehr teuer, oder – wie Xen – schwierig zu bedienen. Oft trifft auch beides gleichermaßen zu. Alternativen Programmen wie QEmu fehlt es dagegen an Leistungsfähigkeit gegenüber der Konkurrenz.

In diese Bresche versucht die Firma Innotek [2] mit der kürzlich unter der GPL freigegebenen (siehe dazu Kasten “Lizenztechnisches”) Software Virtualbox [3] zu springen. Sie verspricht ein hohes Maß an Anwenderfreundlichkeit, verbunden mit der Unterstützung einer Vielzahl von Gast- und Wirtssystemen – und das zum Nulltarif. Ob das Programm hält, was die Marketingstrategen versprechen, zeigt der Test der aktuellen Release 1.3.6.

Lizenztechnisches

Innotek offeriert Virtualbox in zwei Geschmacksrichtungen: Die im Quellcode zur Verfügung stehende Open Source Edition (“OSE”) unterliegt der GPL. Bei Binärversionen des Programms dagegen handelt es sich um Closed Source, sie stehen unter der “VirtualBox Personal Use and Evaluation License”. Den Einsatz dieser Variante für den persönlichen oder akademischen Gebrauch stellt Innotek lizenzkostenfrei, ansonsten fallen nach einer “vernünftigen” Evaluationsperiode von “einigen Wochen” Lizenzgebühren an. Der Vorteil der kostenpflichtigen Variante: Nur sie bietet Features wie Shared Folder oder den Support für USB, RDP und iSCSI.

Virtualbox unterstützt als Gastsystem neben allen gängigen Linux-Distributionen sämtliche Windows-Betriebssysteme inklusive Vista. Weiterhin beherbergt es diverse BSD-Derivate sowie OS/2. Als Wirtssystem dienen Windows XP und Linux-Distributionen ab Kernel 2.4, derzeit jedoch nur auf 32-Bit-Plattformen. Die Unterstützung der 64-Bit-Architektur folgt nach Herstellerangaben in Kürze, eine Version für Apples Mac steht ebenfalls in den Startlöchern und soll bis zur CeBIT im März 2007 erscheinen.

Features

Anders als VMware Workstation verwaltet Virtualbox die virtuellen Maschinen nicht in Tabs innerhalb eines Fensters, sondern in mehreren unabhängigen Fenstern (Abbildung 1). Wie bei der kommerziellen Konkurrenz stellen die VMs voneinander unabhängige Instanzen dar.

Abbildung 1: Virtualbox öffnet virtuelle Maschinen als unabhängige Instanzen im eigenen Fenster. Das erlaubt die Anzeige mehrerer Betriebssysteme gleichzeitig.

Abbildung 1: Virtualbox öffnet virtuelle Maschinen als unabhängige Instanzen im eigenen Fenster. Das erlaubt die Anzeige mehrerer Betriebssysteme gleichzeitig.

Virtualbox emuliert einen Rechner mit Intel-440FX-Chipsatz (“Natoma”), die Netzwerkkarte AMD 79C973 (PCnet-II), eine Intel-AC97-Soundkarte sowie eine Standard-VGA-Karte, deren Speicher sich via Schieberegler bis auf 32 MByte erhöhen lässt. Ergänzend planen die Entwickler die Integration einer virtuellen Intel-Gigabit-Netzwerkkarte.

Die Größe des Arbeitsspeichers für die virtuelle Maschine stellen Sie ebenfalls via Schieberegler bis zum Maximum des im Rechner verbauten RAM ein. Da die einzelnen VMs als reguläre Prozesse auf dem Wirtsbetriebssystem laufen, erfolgt die Zuweisung von CPU-Taktzyklen über dessen Scheduler. Ein zentrales Prozessmanagement für die virtuellen Maschinen geht Virtualbox bislang ab, soll aber bis Mitte des Jahres folgen. Noch für den Frühjahr dieses Jahres ist hingegen die native Unterstützung von VMware-Images vorgesehen.

Ähnlich wie VMware verfügt auch Virtualbox über einen Snapshot-Manager, der es ermöglicht, den Status eines Systems zu jedem beliebigen Zeitpunkt einzufrieren und wiederherzustellen. Darüber hinaus bietet die Software einen für jedes Gastsystem einzeln zuschaltbaren RDP-Server, der den grafischen Zugriff via Netzwerk erlaubt.

Installation

Auf der Downloadseite [3] sowie der Heft-CD finden Sie für Debian (3.1 und 4.0) und Ubuntu (6.06 LTS und 6.10) die passenden DEB-Pakete mit den Virtualbox-Binaries. Benutzer anderer Distributionen verwenden das generische Installationsskript (.run), das ebenfalls die Binärdaten enthält.

Da Virtualbox ein Kernelmodul zum Betrieb benötigt, müssen die Quellen und Headerdaten des Kernels ebenso wie Make und GCC auf dem Rechner vorhanden sein: Virtualbox übersetzt das Modul, sofern noch kein passendes vorhanden ist, selbst aus den Quellen. Zum Betrieb benötigt die Software weiterhin die Qt-Libraries in Version 3.3.5 oder neuer sowie die Multimediabibliothek SDL 1.2.7 oder neuer.

Als Debian- und Ubuntu-User richten Sie Virtualbox über den Aufruf sudo dpkg -i VirtualboxVersion.deb ein, wobei Sie Version durch den auf Ihre Distributionsvariante passenden Bezeichner ersetzen (beispielsweise Ubuntu_Edgy_i386 für Ubuntu 6.10). Verwenden Sie eine andere Distribution, starten Sie das generische Installationsskript als Benutzer root mit dem Aufruf sudo bash VirtualBox_1.3.6_Linux_x86.run install.

Das Setup legt eine Gruppe namens vboxusers an, der Sie manuell die Benutzer hinzufügen, die mit Virtualbox arbeiten (usermod -a -G vboxusers Benutzer). Beachten Sie, dass sich die Gruppenzugehörigkeit aktuell angemeldeter Benutzer erst nach einem erneuten Login ändert.

Zum Start des Dienstes Vboxdrv erstellt das Installationsskript automatisch einen Eintrag in /etc/init.d, der diesen bei jedem Hochfahren mitlädt. Alternativ bedienen Sie den Dienst über das Initskript /etc./init.d/vboxdrv mit start, stop oder restart.

Die USB-Unterstützung von Virtualbox verwendet das virtuelle Dateisystem Usbfs. Da Suse 10.2 aus Sicherheitsgründen diese Unterstützung aus dem Kernel entfernt hat, müssen Benutzer dieser Distribution entweder einen anderen Kernel verwenden [4], oder auf den USB-Support in Virtualbox (wie auch VMware) verzichten.

Benutzer anderer Distributionen passen die Mountoptionen in der /etc/fstab an, damit die Software die erforderlichen Zugriffsrechte auf das Usbfs erhält. Öffnen Sie /etc/fstab dazu als Benutzer root und suchen Sie nach dem Eintrag, der sich für das Mounten von usbfs zuständig zeichnet, beispielsweise

usbfs  /proc/bus/usb  usbfs  noauto  0 0

Ergänzen Sie diesen Eintrag mit den folgenden Angaben:

usbfs  /proc/bus/usb  usbfs  dev gid=GID_der_Gruppe_vboxusers,dev mode=664,noauto  0 0

Die Eingabe mount usbfs hängt das Dateisystem mit den modifizierten Einstellungen aus der /etc/fstab ein:

# mount
[…]
usbfs on /proc/bus/usb type usbfs (rw,devgid=1000,devmode=664)

Eine Besonderheit gilt es unter Suse Linux 10.0 zu beachten: Da diese Version beim Booten die Anweisungen für das USB-Filesystem aus der /etc/fstab ignoriert, remounten Sie Usbfs erneut mit einem kleinen Skript, das beim Start geladen wird:

#!/bin/bash
/bin/umount usbfs
/bin/mount usbfs
exit 0

Legen Sie das Skript als usbfsstart.sh im Verzeichnis /etc/init.d/ ab und fügen Sie dem gewünschten Runlevel-Verzeichnis (gewöhnlich /etc/init.d/rc5.d) einen symbolischen Link hinzu: ln -s /etc/init.d/usbfsstart.sh S100usbfsstart.

TIPP

Eine ausführliche Bedienungsanleitung im PDF-Format, welche alle Funktionen und Einstellungen im Detail beschreibt, finden Sie im Installationsordner /opt/Virtualbox-1.3.4.

Einstellungssache

Die grafische Oberfläche (Abbildung 2) von Virtualbox starten Sie entweder über den Eintrag System | InnoTek Virtual Box des K-Menüs oder den Kommandozeilenaufruf Virtualbox & als unprivilegierter Benutzer.

Abbildung 2: Übersichtlich aufgebaut präsentiert sich die grafische Oberfläche von Virtualbox.

Abbildung 2: Übersichtlich aufgebaut präsentiert sich die grafische Oberfläche von Virtualbox.

Globale Einstellungen wie Default Folders für Abbilddateien und Snapshots oder den Hostkey zum Verlassen der virtuellen Maschine (in der Grundeinstellung die rechte Steuerungstaste) erreichen Sie über File | Global Settings.

Um eine neue VM zu erstellen, klicken Sie auf den Schalter New. Daraufhin öffnet sich der Virtual Machine Wizard, in dem Sie Parameter wie den Namen der VM, die Größe des zugeordneten Plattenplatzes und Hauptspeichers sowie das Betriebssystem einstellen, das als Gast laufen soll.

Da Virtualbox beim Anlegen von Festplatten mit dynamischer Größe den freien Platz auf der realen Partition nicht prüft, müssen Sie selbst darauf achten, dass der reservierte Platz auch tatsächlich zur Verfügung steht. Andernfalls läuft der Plattenspeicher ohne Vorwarnung voll, was zur Folge hat, dass die VM ohne einen Hinweis darauf abstürzt.

Ähnlich verhält es sich beim Erstellen von Snapshots: Diese speichert Virtualbox nicht etwa im Verzeichnis der zugehörigen virtuellen Festplatte, sondern – sofern Sie nicht in der jeweiligen VM unter General | Advanced im Eingabefeld Snapshot Folder etwas anderes angeben – am globalen Vorgabe-Speicherort für Snapshots (in Ihrem Home-Verzeichnis).

Auch beim Einrichten des Hauptspeichers sollten Sie Vorsicht walten lassen, da die Software jeder virtuellen Maschine den zugeteilten Speicher exklusiv zuweist. In der Praxis führt der Start mehrerer VMs, denen in der Summe mehr Speicher zugeteilt wurde, als das Wirtssystem tatsächlich aufweist, zur Terminierung einer oder mehrerer VMs, unter Umständen auch zur Beendigung von Prozessen des Wirtssystems.

Nach einem Klick auf Finish trägt der Virtual Machine Wizard die neue VM mit den angegebenen Basisparametern in die Liste der definierten virtuellen Maschinen ein (Abbildung 2, linke Fensterhälfte). Auf der rechten Fensterseite erscheinen nun im Reiter Details weitere Einstellungen für die VM. Hier aktivieren Sie zusätzliche Funktionen wie die Audio-Unterstützung (hier gilt es zwischen ALSA und OSS zu wählen), die Größe des Grafikkartenspeichers (variabel bis zu 32 MByte) oder die RDP-Freigabe.

TIPP

Mit Virtualbox-Versionen vor 1.3.6 kann es im Zusammenspiel mit Kernelversionen bis 2.6.17 bei Verwendung von ALSA unter Umständen zum kompletten Absturz des Wirtssystems kommen. Ab der auf der Heft-CD befindlichen Version tritt dieses Problem nicht mehr auf.

Sehr elegant löst die Software das Verwalten von USB-Geräten (Abbildung 3). Ein Klick auf das Icon Add from in der rechten Fensterleiste listet alle an den Rechner angeschlossenen USB-Devices mit dem Manufacturer- und Product-String-Descriptor auf. Der Klick auf das gewünschte Gerät stellt es der virtuellen Maschine bereit. Über das Pulldownmenü Remote legen Sie fest, ob das Gerät auch remote (via USB over RDP) erreichbar sein soll. Falls ja, dann können Sie das Device, beispielsweise einen USB-Stick, bei einer Sitzung via RDP auch am entfernten Rechner einstecken und dennoch in der Gastmaschine darauf zugreifen.

Abbildung 3: Die USB-Verwaltung zeigt Ihnen die Namen der verfügbaren USB-Geräte des Wirtssystems an, die Sie mit einem Klick darauf in das Gastsystem übernehmen.

Abbildung 3: Die USB-Verwaltung zeigt Ihnen die Namen der verfügbaren USB-Geräte des Wirtssystems an, die Sie mit einem Klick darauf in das Gastsystem übernehmen.

Im Test führte der USB-Support allerdings teilweise zu unliebsamen Nebenerscheinungen. So funktionierte in einem Fall nach dem Start einer virtuellen Maschine die angeschlossene USB-Maus des Wirtssystems nicht mehr. In einem anderen Fall wurden USB-Sticks, die das Betriebssystem normalerweise problemlos erkannte, im Gastsystem nicht mehr akzeptiert.

Betrieb und Funktionen

Anders als bei VMware bieten die virtuellen Maschinen von Virtualbox kein eigenes BIOS: Entsprechende Einstellungen, wie beispielsweise die Bootreihenfolge der Laufwerke, nehmen Sie stattdessen über das Konfigurationsinterface vor. Am unterer Rand der gestarteten VM geben verschiedene Symbole Aufschluss über den Status aktivierter Geräte, so auch über Netzwerk- und Laufwerkszugriffe. Ein Rechtsklick auf das CD- oder USB-Symbol öffnet ein Kontextmenü, über das Sie im laufenden Betrieb Laufwerke oder Geräte einbinden oder abschalten.

Das so genannte Auto-Resizing des Gastdesktops ändert abhängig von der Größe des Anzeigefensters selbständig die Auflösung (Abbildung 4). Der grüne Pfeil im Desktopicon der Symbolleiste zeigt an, ob diese Funktion aktiviert ist, ein Rechtsklick darauf schaltet sie ein oder aus.

Abbildung 4: Ungewöhnliche Ansichten: Die Auto-Resize-Funktion passt die Darstellung des Gast-Desktops automatisch der Fenstergröße an.

Abbildung 4: Ungewöhnliche Ansichten: Die Auto-Resize-Funktion passt die Darstellung des Gast-Desktops automatisch der Fenstergröße an.

Diese Funktion setzt jedoch die installierten Gast-Addins voraus. Der Klick auf den Eintrag Devices | Install Guest Addins… mountet das Image mit diesen Werkzeugen als CD im Gastsystem. Ein Klick als privilegierter Benutzer auf VBoxGuestAdditions.exe respektive der Aufruf von VBoxGuestAdditions.run als Root installiert die Addins. Bei Linux-VMs müssen dazu die Quellen und Header des Kernels eingerichtet sein. Die Addins aktivieren zusätzlich das automatische Wechseln des Mauszeigers zwischen den virtuellen Maschinen und dem Desktop des Wirtssystems. Das Kopieren von Dateien zwischen Wirt und Gast per Drag & Drop kennt Virtualbox nicht.

Beim grafischen Frontend von Virtualbox handelt es sich lediglich um eine Bedienoberfläche für das kommandozeilenbasierte Backend der Virtualisierungslösung. Einige Einstellungen, beispielsweise das Setup so genannter Shared Folder für alle virtuellen Maschinen, erreichen Sie bislang ausschließlich darüber.

Der Aufruf VBoxManage ohne weitere Parameter führt alle verfügbaren Kommandos auf. Zum Einrichten eines Shares tippen Sie VBoxManage sharedfolder add Gastname -name Freigabename -path Pfad/zum/lokalen/Verzeichnis. Auch diese Funktion setzt die installierten Addins voraus.

Virtuelle Platten

Datenträger verwaltet Virtualbox weitgehend unabhängig von den virtuellen Maschinen über den Virtual Disk Manager (Abbildung 5), den Sie über den Menüpunkt File des Hauptfensters aufrufen.

Abbildung 5: Der Virtual Disk Manager erlaubt das Verwalten aller in Virtualbox verwendeten Images über eine zentrale Oberfläche.

Abbildung 5: Der Virtual Disk Manager erlaubt das Verwalten aller in Virtualbox verwendeten Images über eine zentrale Oberfläche.

Alle erstellten virtuellen Laufwerke – unabhängig davon, in welchem Verzeichnis sie sich befinden – zeigt das Programm im Reiter Hard Disks. Um sie auch in anderen VMs außer der zugewiesenen zu verwenden, klicken Sie auf das Icon Release. Danach erscheinen die Laufwerke im Dropdownmenü der Festplattenauswahl anderer VMs.

Mit einem Mausklick auf den Schalter New erstellen Sie eine neue, unabhängige Festplatte, die sofort allen virtuellen Maschinen zur Verfügung steht. Der Reiter CD/DVD Images enthält alle jemals über eine VM eingebunden ISO-Images.

Fazit

Abgesehen von einigen kleineren Bugs hinterlässt Virtualbox einen sehr guten und Eindruck – nicht zuletzt auch durch die gute Performance. Lediglich der teilweise mangelhafte USB-Support gibt Anlass zur Kritik. Virtualbox entschädigt dafür mit einer sehr durchdachten Lösung zum Verwalten virtueller Festplatten und CD-ROM-Images. Mit dem RDP- und iSCSI-Support sowie der USB-over-RDP-Funktion bietet die Software darüber hinaus Fähigkeiten, die der Konkurrenz fehlen.

Bereits für die nächste Release versprechen die Entwickler zudem weit reichende Ergänzungen: Neben einer Prozesskontrolle und Importfunktion für VMware-Images zählt dazu auch eine grafische Oberfläche zum Verwalten virtueller Shares.

In Anbetracht dessen, dass eine VMware-Lizenz für Privatanwender 189 US-Dollar kostet, positioniert sich die Freeware Virtualbox als echtes Schnäppchen. Zwar reicht der Funktionsumfang noch nicht an die Möglichkeiten des kommerziellen Konkurrenten heran, dafür wartet Virtualbox aber mit einer übersichtlicheren Benutzeroberfläche auf.

Interview

Unser Gesprächspartner Achim Hasenmüller ist Geschäftsführer der Firma Innotek, die Virtualbox entwickelt und vertreibt.

LinuxUser: Bei Virtualbox handelt es sich ja um eine Firmenentwicklung, nicht um ein Community-Projekt. Wie finanzieren Sie die Entwicklung, wenn Sie die Software unter die GPL stellen und kostenlos bereitstellen?

Achim Hasenmüller: Wir bieten zwei Versionen von Virtualbox an: Die frei verfügbare Open Source Edition (OSE) unter der GPL und die mit mehr Funktionen ausgestattete “Commercial Edition”, die bereits seit Jahren bei unseren traditionellen Kunden aus dem Bereich Finanzwesen und bei Behörden im Einsatz ist.

LU: Was hat diese Kunden veranlasst, Ihrem Produkt gegenüber dem Marktführer VMware den Vorzug zu geben?

AH: Wir bieten eine ganze Menge Features – beispielsweise den iSCSI- und RDP-Support – die VMware nicht liefert. Außerdem sind wir wesentlich flexibler, was Kundenwünsche und Support angeht. So entwickeln wir beispielsweise Spezialversionen für namhafte Konzerne, die Unterstützung für eigene Hardware wie Bussysteme in der Anlagensteuerung benötigen.

LU: Aus dem Benutzerhandbuch geht hervor, dass Innotek diverse Programmteile aus bestehenden Programmen wie QEmu, OpenSSL übernommen hat.

AH: Ja, wir haben uns ordentlich bei verschiedenen Open-Source-Projekten bedient. Dafür sind wir auch sehr dankbar, denn ohne diese Projekte stünden wir heute nicht da, wo wir sind. Das war natürlich auch einer der Gründe, warum wir uns dazu entschlossen haben, unser Produkt selbst wieder als Open Source zur Verfügung zu stellen. Allerdings verwenden wir prinzipiell keine Quellen, die unter der GPL stehen, denn wir bieten ja wie gesagt auch eine kommerzielle Version unseres Produktes an.

LU: Wie schätzen Sie die Performance Ihrer Software gegenüber VMware ein?

AH: Das ist von Fall zu Fall unterschiedlich: Mal haben wir die Nase vorn, mal die Konkurrenz. VMware zeigt unterm Strich jedoch die konstanteren Werte.

LU: Wovon hängt es ab, wer die Nase vorne hat?

AH: Sowohl vom Wirts- und Gastsystem als auch von den Benchmarks. Letztere produzieren jedoch unnatürliche Abläufe, die in der Realität eher unbedeutend sind.

LU: Was ist für die nächste Release ihr wichtigstes Anliegen?

AH: Momentan versuchen wir, vor allem im Netzwerkbereich an VMware heranzukommen; da sind die teuflisch gut! Außerdem wollen wir unbedingt zur CeBIT unsere Mac-Version vorstellen. (LinuxPark, Halle 5, Stand G57/3)

LU: Wir danken für das Gespräch, Herr Hasenmüller.

Glossar

RDP

Remote Desktop Protocol. Protokoll von Microsoft, das Terminaldiensten zwischen zwei Rechnern bereitstellt. Dabei fungiert das eine der beiden Systeme als Server und erzeugt Bildschirmausgaben auf dem anderen System.

ALSA

Advanced Linux Sound Architecture. Soundarchitektur für Linux-Systeme mit Audio- und MIDI-Funktionalität. Löst mit Kernel 2.6 das vorher genutzte OSS als Standard ab. OSS-Programme lassen sich über eine Emulation aber weiter verwenden.

OSS

Open Sound System. Portables Soundkarten-Treibersystem für unixartige Systeme. Aufgrund beschränkter Fähigkeiten und der proprietären Herkunft unter Linux seit Kernel 2.6 durch ALSA abgelöst.

iSCSI

Internet Small Computer System Interface. Ein Verfahren zur Netzwerkübertragung von SCSI-Daten in TCP/IP-Paketen.

Infos

[1] VMware: http://vmware.com

[2] Innotek: http://innotek.de

[3] Virtualbox: http://virtualbox.org

[4] Usbfs-Support für Suse 10.2 : http://www.linuxforen.de/forums/showthread.php?t=230544

LinuxUser 04/2007 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben