Viel Emulation für wenig Geld
Artikel erschienen in Swiss IT Magazine 2004/03
Es gibt Tools, an die gewöhnt man sich so schnell, dass man sich nach kurzer Zeit kaum mehr vorstellen kann, wie man je ohne sie auskommen konnte. Sogenannte Virtual Machines, die in einer Sandbox einen kompletten PC emulieren und so beliebige Betriebssysteme auf einem Rechner abspielen können, gehören zweifellos in diese Kategorie.
Branchenleader in dieser Sparte ist derzeit die vor wenigen Wochen von EMC geschluckte Vmware, die sich mit Client- und Server-Varianten ihrer Virtual-Machine-Technologie einen ausgezeichneten Ruf geschaffen hat. Dass die virtuellen Systeme eine wertvolle Ergänzung für die heutigen Betriebssystemplattformen darstellen, hat nun auch Microsoft erkannt. Mit dem Ziel, Virtual-Machine-Werkzeuge für ihre Windows-Systeme anzubieten, hat sich Microsoft nach dem gescheiterten Übernahmeversuch von VMware mit Connectix blitzartig den Branchenzweiten und Hersteller von Virtual PC einverleibt. Nun hat Microsoft mit Virtual PC 2004 die erste Version auf den Markt gebracht, die in den eigenen Entwicklungslabors überarbeitet wurde.
Im Grunde genommen ist Virtual PC nichts anderes als ein softwaregetriebener PC Emulator, der seinem Gastbetriebssystem in einer isolierten Umgebung einen kompletten Rechner mit Hardwarekomponenten wie Prozessor, Harddisk, Memory, Sound- und Videokarte vorschwindelt. Die Installation einer virtuellen Maschine ist denkbar einfach: Per Wizard wählt man den Typ des zu installierenden Gastbetriebssystems und dessen benötigte Speicherkapazität aus. In einem weiteren Schritt wird eine sogenannte virtuelle Harddisk eingerichtet. Aus der Sicht des Host-Systems handelt es sich dabei um eine Datei, auf der alle Daten des virtuellen Systems inklusive Betriebssystem und Anwendungen abgelegt werden. Innerhalb der Virtual-PC-Emulation wird die Virtual-Disk-Datei wie eine gewöhnliche Harddisk mit Verzeichnissen und Dateien angezeigt. Sind Grösse und Speicherort des virtuellen Laufwerks bestimmt, erzeugt Virtual PC einen "leeren" virtuellen Rechner, der sich wie eine reale Maschine booten und mit einem Betriebssystem ausstatten lässt.
Die Einsatzmöglichkeiten der Virtual-PC-Technologie sind vielseitig: Entwickler und Systemadministratoren können damit auf einem einzigen Rechner unterschiedliche Testumgebungen simulieren und What-if-Szenarios durchspielen. Mitarbeiter des technischen Supports sind in der Lage, die von ihnen unterstützten Betriebssysteme auf dem eigenen Rechner zu installieren, um bei Supportanfragen sofort darauf zugreifen zu können. Ein weiteres wichtiges Einsatzgebiet ist die Migration von Legacy-Programmen. Alte DOS-, OS/2- oder Windows 9x-Applikationen, die unter den neueren Windows-Systemen nicht mehr lauffähig sind, können künftig in einer Virtual Machine abgespielt werden und stehen damit einer Migration auf neuere Betriebssystem-Versionen nicht mehr im Wege.
Damit die am Host-Rechner angeschlossene Hardware auch vom Gastsystem mitbenutzt werden kann, fungiert Virtual PC als Brücke zwischen den beiden Systemen. Drucker, Tastatur, Maus, Modem sowie CD- und Floppy-Laufwerke lassen sich ohne weiteres Zutun des Users direkt nutzen. Für die Bildschirmausgabe stellt das Werkzeug einen virtuellen Treiber zur Verfügung, der eine S3-Trio32/64-Grafikkarte emuliert. Die USB-Unterstützung beschränkt sich bei Virtual PC 2004 leider nur auf Mäuse und Keyboards, die per PS/2-Emulation angesprochen werden. USB-Geräte wie externe Harddisks, Scanner oder Kameras, die einen eigenen Treiber erfordern, werden nicht unterstützt. Auch SCSI- und Firewire-Geräte lassen sich nicht aus Virtual PC ansprechen. Immerhin hat Microsoft für die nächste Version bereits einen besseren USB-Support versprochen.
Im Vergleich zum Vorgänger (Version 5.2) kann Virtual PC 2004 jetzt jedem Gastsystem bis zu vier Netzwerk-Adapter zur Verfügung stellen. Damit können nun auch aus der Virtual Machine gleichzeitig mehrere Netzwerk-Verbindungen (z.B LAN per Wireless und Kabel) bedient werden. Neu gibt es einen Loopback-Adapter, mit dem sich ein Netzwerk zwischen Host- und Gast-System auch dann simulieren lässt, wenn der Host über keine eigenen Netzwerkfähigkeiten verfügt. Der Loopback-Adapter dient ausserdem zum Simulieren von virtuellen Netzwerkumgebungen mit Routern und Firewall-Systemen. Ebenfalls neu in Virtual PC 2004 ist das Shared Networking, das es den Gastsystemen via Network Address Translation (NAT) und DHCP ermöglicht, Dial-up-Networking des Host-Systems ohne Einschränkungen mitzubenutzen.
Punkto Performance sind zwischen Virtual PC 2004 und Vmware 4.0 kaum Unterschiede auszumachen. Beide PC-Emulatoren bieten auf Systemen ab 1 GHz eine Geschwindigkeit, mit der es sich angenehm arbeiten lässt - Voraussetzung dafür ist allerdings, dass genügend RAM zur Verfügung steht: Für das Host-System ist mit mindestens 256 MB zu rechnen. Hinzu kommt jeweils der empfohlene Speicherbedarf der Betriebssysteme, die man gleichzeitig als Gast betreiben möchte.
Für die Optimierung der Performance bietet Virtual PC 2004 verschiedene Tuning-Optionen. So kann man beispielsweise einer Virtual Machine, bei der eine optimale Performance nötig ist, das Maximum der verfügbaren CPU-Power zuweisen. Die CPU-Auslastung des Host wird dazu auf das mögliche Minimum gesenkt. Ausserdem kann man Virtual PC auch anweisen, Gastsystemen, deren Fenster nicht aktiviert sind, keine Rechenzeit zuzuweisen.
Sowohl auf der Host- als auch auf der Gast-Seite unterstützt Virtual PC 2004 offiziell nur Client-Betriebssysteme. So werden bei den Voraussetzungen für das Host-System nur Windows XP und Windows 2000 Professional angegeben. Allerdings läuft Virtual PC problemlos auch unter Windows 2003 Server. Dass Microsoft ihre Serversysteme auf der Kompatibilitätsliste nicht nennt, rührt wohl daher, dass man bis zum Sommer dieses Jahres mit dem Virtual Server ein weiteres, für den Serverbetrieb optimiertes Virtual-Machine-Produkt auf den Markt bringen wird.
Auch bei den unterstützten Gastsystemen stapelt Microsoft tief. Offiziell werden alle Windows-Clients von Windows 95 bis Windows XP sowie MS-DOS 6.22 und OS/2 Warp unterstützt. In der Praxis gibt sich Virtual PC 2004 aber um einiges grosszügiger. So ist das Programm in der Lage, alle geläufigen Linux-Distributionen sowie NetWare 5 und 6 abzuspielen. Selbst der aktuelle Longhorn-Alpha-Build 4051 kann problemlos betrieben werden. Vermutlich haben politische Gründe den Ausschlag dafür gegeben, Linux und Netware auf der Packung nicht aufzuführen.
Die Bedienung von Virtual PC ist ähnlich einfach wie bei Vmware. Allerdings ist die Konsole, in der die Virtual Machines verwaltet werden, etwas zu einfach ausgefallen. Hier hat VMware mit seinem praktischen Registerlaschen-Interface, mit dem sehr bequem zwischen den aktuellen Gastsystemen gewechselt werden kann, eindeutig mehr zu bieten. Immerhin gibt es bei Virtual PC 2004 aber einige Tastenkürzel, um schnell zwischen den laufenden Virtual Machines oder der Vollbild- und Fensteransicht wechseln zu können.
Nervig ist hingegen die fehlende Multi-Monitorunterstützung. Zwar kann man eine Virtual Machine im Vollbildmodus auf einem zweiten Monitor anzeigen lassen, klickt man aber mit der Maus wieder auf den Desktop des Hosts, wird das Vollbildfenster des Gast-OS einfach minimiert. Diese Funktion wurde bei VMware deutlich besser gelöst: Ein gleichzeitiges und bequemes Arbeiten mit Gast und Host auf zwei Monitoren ist mit diesem Programm problemlos möglich.
Punkten kann Virtual PC dagegen bei der Integration zwischen Host- und Windows-basierten Gastsystemen. So kann man mit der Maus nahtlos zwischen Host und den Virtual Machines wechseln, ohne dabei wie bei VMware auf einen zusätzlichen Mausklick oder einen Tastatur-Shortcut zurückgreifen zu müssen. Ebenso simpel funktionieren Drag&Drop und Cut&Paste. Elegant ist auch die dynamische Anpassung der Bildschirmdarstellung, bei der die Auflösung des Gastbetriebssystems entsprechend der gerade gewählten Fenstergrösse on-the-fly umgestellt wird. Wie VMware verfügt auch Virtual PC über das Shared-Folder-Konzept, mit dem sich Verzeichnisse zwischen Host- und Gastsystem ohne Networking gemeinsam nutzen lassen.
Die virtuellen Harddisks in Virtual PC 2004 können wahlweise mit fixer oder dynamischer Grösse eingerichtet werden. Während man bei ersterem der virtuellen Disk eine feste Kapazitätsgrenze zuordnet, wächst eine dynamische Disk der zunehmenden Datenmenge entsprechend automatisch an.
Eine weitere Option für virtuelle Festplatten sind die sogenannten Linked Harddisks. Damit lässt sich einer virtuellen Umgebung auch eine physische Harddisk zuweisen. Das ist vor allem auf Systemen mit Multiboot-Konfigurationen praktisch, da man mit dieser Funktion ein zweites auf dem Rechner installiertes Betriebssystem direkt mit Virtual PC booten kann. Bereits bestehende Multiboot-Konfigurationen lassen sich so weiterhin nutzen, ohne dabei auf die Vorteile von Virtual PC verzichten zu müssen.
Mit den Undo Disks bietet Virtual PC eine Funktion zum Aufzeichnen aller Änderungen an, die seit dem letzten Systemstart getätigt wurden. Zu diesem Zweck speichert das Programm alle Unterschiede zwischen dem eingefrorenen und dem neuen System in einer zweiten virtuellen Harddisk, so dass man später alle gemachten Änderungen permanent übernehmen oder verwerfen kann.
Diese Funktion ist äusserst praktisch für What-if-Szenarios, in denen man schnell eine neue Software, ein Service Pack oder einen Patch installieren und testen muss. Nützlich ist das Feature auch auf Trainingssystemen, die nach Abschluss der Sessions wieder in den ursprünglichen Zustand zurückversetzt werden müssen. Leider wird bei den Undo Disks die Flexibilität der Snapshot-Funktion von Vmware vermisst, wo die Aufzeichnung zu einem beliebigen Zeitpunkt einer Session und nicht nur beim Systemstart beginnen kann.
Eine Besonderheit von Virtual PC ist die Differencing-Harddisk-Funktion, mit der sich von einer virtuellen Machine weitere Subsysteme ableiten lassen. So kann man beispielsweise einen virtuellen Windows-XP-Client aufsetzen und diesen "einfrieren" (auf read-only setzen). In diesem Zustand lassen sich von diesem System nun beliebig viele virtuelle Systeme ableiten: beispielsweise je ein Windows-XP-System mit Office 2003, Office XP und Office 2000. Dabei werden in den virtuellen Harddisks der neuen VM-Installationen nur die Unterschiede zum Ursprungssystem gespeichert. Selbst wenn die Grösse dieser Differencing-Harddisk auch bei kleinen Änderungen sehr stark anwachsen kann, lässt sich mit dieser Funktion bei einem grossen Fuhrpark an virtuellen Maschinen eine Menge Speicherplatz einsparen. Ausserdem kann man das Differencing-Feature auch dazu nutzen, verschiedenen Benutzern via LAN ein sauber aufgesetztes Basissystem zur Verfügung zu stellen, an dem sie dann individuelle Installationen vornehmen können. Ableitungen lassen sich übrigens auch mehrstufig verschachteln, so dass man von einem abgeleiteten System weitere Subsysteme erzeugen kann. Vor allem in Testumgebungen, wo Programme und Konfigurationen in den unterschiedlichsten Installationsszenarien (beispielsweise mit verschiedenen Service Packs und Patch-Installationen) getestet werden müssen, kann diese Funktion sehr wertvoll sein.
Allerdings ist auch die Differencing-Funktion noch nicht so flexibel, wie man sich das wünschen würde: Virtuelle Machines, von denen abgeleitet wird, müssen auf read-only gesetzt und dürfen nicht mehr verändert werden. Nimmt man Änderungen an einem Original vor, werden alle abgeleiteten Systeme unbrauchbar. Damit ist es leider nicht möglich, durch die Installation eines Patches auf dem Originalsystem auch gleich alle Subsysteme aufzudatieren.
Virtual PC bietet Unterstützung für CD-Images im ISO-Format und verschiedene Floppy-Image-Formate. Da das Tool auch direkt ab diesen Formaten booten kann, lassen sich diese Images direkt für das Setup eines neuen Gastsystems nutzen. Im Gegensatz zum Vorgänger speichert Virtual PC 2004 die Konfiguration einer Virtual Machine nicht mehr in der Registry, sondern in einem separaten XML-Konfigurationsfile. Damit lassen sich virtuelle Maschinen nun viel leichter auf andere Geräte verschieben oder an unterschiedliche Benutzer verteilen.
Virtual PC 2004 braucht sich hinter Vmware nicht zu verstecken. Bei der Integration zwischen Gast und Host ist das Microsoft-Produkt sogar besser. Trotzdem ist VMware technisch gesehen noch einen Tick besser, vor allem wegen der Linux-Unterstützung auf der Host-Seite, dem praktischeren Interface und dem besseren Hardware-Support. Berücksichtigt man allerdings auch den Preis, so hat Virtual PC 2004, das gerade mal halb so teuer ist, deutlich die Nase vorn. Wer nicht bereits in VMware investiert hat oder hostseitige Linux-Unterstützung benötigt, für den gibt es wohl kaum einen Grund, sich für das teurere VMware zu entscheiden.
Virtual PC 2004 vs. VMware Workstation 4.05