Microsoft Virtual Server 2005

Die Server-Variante von Microsofts Virtual-Machine-Technologie besticht durch zentrale Administration, einfachen Fernzugriff von Clients und einer umfangreichen API.

Artikel erschienen in Swiss IT Magazine 2004/18

     

Nachdem Microsoft im Winter dieses Jahres mit Virtual PC 2004 die Clientversion ihrer von Connectix übernommenen Virtual-Machine-Technologie lanciert hat, bringen die Redmonder mit Virtual Server 2005 nun deren Servervariante auf den Markt. Im Kern basiert Virtual Server 2005 zwar auf derselben VM-Technologie wie sein kleiner Bruder, bietet aber bessere Ressourcen-Auslastung, zentrale Administration, Remote Access für Clients sowie eine Programmierschnittstelle, um Deployment und Verwaltung von Virtual Machines automatisieren zu können.






Die möglichen Einsatzgebiete des Virtual Server sind vielschichtig. Microsoft sieht ihre Virtualization-Technologie vor allem als Migrationstool, um alte NT-4.0-Server mit Legacy-Applikationen auf modernere Hardware und Windows-Server-2003-Systeme konsolidieren zu können. NT-4.0-Systeme lassen sich auf einem schnellen Server innerhalb einer Virtual Machine in der Regel nicht nur kostengünstiger, sondern oft auch mit einer besseren Performance betreiben. Virtual Server eignet sich aber auch ausgezeichnet zum Bereitstellen von isolierten Entwicklungs- und Testumgebungen, um Applikationen auf verschiedenen Betriebssystemen und in unterschiedlichen Konstellationen austesten zu können. Zudem kann Virtual Server auch für die generelle Serverkonsolidierung in Trainingsumgebungen oder für Software-Demonstrationen zum Einsatz kommen.


Virtual Server versus Virtual PC

Virtual Server arbeitet nach demselben Prinzip wie Virtual PC: In einer isolierten Umgebung wird ein kompletter PC mit x86-Prozessor, Harddisk, Memory etc. emuliert. Diese Emulation nennt sich Virtual Machine und kann ein eigenes Gast-Betriebssystem beherbergen und parallel zum Host-Betriebssystem (auf dem Virtual Server installiert ist) abgespielt werden. Entsprechende Hardware-Ressourcen vorausgesetzt, können parallel auch mehrere Virtual Machines betrieben werden.
Im Gegensatz zu Virtual PC, der für Client-PCs gedacht ist, wurde Virtual Server vollständig für den zentralen Serverbetrieb ausgerichtet. So arbeitet Virtual Server als Service (Virtual Service) und bietet ein Webinterface für die Remote-Administration. Ausserdem bietet Virtual Server Kontrollmöglichkeiten, um die CPU- und Memory-Auslastung beim gleichzeitigen Einsatz von mehreren Virtual Machines optimieren zu können.





Damit von einem Clientsystem überhaupt auf eine Virtual Machine zugegriffen werden kann, verfügt der Virtual Service über den sogenannten Virtual Machine Remote Control (VMRC) Server. Damit können Benutzer wahlweise mit einem Rich-Client (VMRC-Client) oder via Webbrowser auf die Virtual Machines zugreifen. Für letzteres Verfahren wird auf dem Client das VMRC ActiveX Control benötigt, das beim ersten Aufruf einer Virtual Machine via Browser automatisch installiert wird. Ist die Virtual Machine direkt per Netzwerk zugänglich, kann diese alternativ auch über eine Remote Desktop Connection per RDP (Remote Desktop Protocol) genutzt werden. Interessant in diesem Zusammenhang ist, dass VMRC nicht auf RDP, sondern auf einer Erweiterung des VNC-Protokolls (Virtual Network Computing) basiert.






Über die Virtual Machine Additions, eine Reihe von Tools, die nachträglich für jede VM separat installiert werden müssen, kann die Integration zwischen Host- und Gast-Betriebssystem noch etwas verbessert werden. Dazu zählen z.B. Zeitsynchronisation zwischen Host und Gast, nahtlose Maus-Integration und eine Schnittstelle, um den Status des Gastsystems überwachen zu können. Leider geht die Integration zwischen Host und Gast deutlich weniger weit als bei Virtual PC. So haben wir beim VRMC-Client Support für Drag&Drop, Cut&Paste oder das dynamische Anpassen der Bildschirmauflösung vermisst. Identisch wie beim kleinen Bruder sind dagegen die Host-Key-Tastenkürzel (standardmässig ALT-GR), um beispielsweise rasch zwischen den laufenden Virtual Machines oder der Vollbild- und Fensteransicht wechseln zu können.


Virtuelle Harddisks

Mit dem Web-Interface ist das Aufsetzen einer Virtual Machine bereits mit wenigen Mausklicks erledigt. In einem Konfigurationsformular müssen bloss die notwendigen Einstellungen bezüglich Speicherplatz, Networking und Virtual Harddisk vorgenommen werden. Bei letzterer handelt es sich – aus Sicht des Hostsystems – um eine Datei, auf der alle Daten des virtuellen Systems inklusive Betriebssystem und Anwendungen abgelegt werden. Innerhalb der Virtual-Machine wird die Virtual-Disk-Datei (VHD-Datei) wie eine gewöhnliche Harddisk mit Verzeichnissen und Dateien angezeigt. Sind Grösse und Speicherort des virtuellen Laufwerks bestimmt, erzeugt Virtual Server einen «leeren» virtuellen Rechner, der sich wie eine reale Maschine booten lässt. Anschliessend kann mit der Installation des Betriebssystems und den Anwendungen begonnen werden.






Virtual Harddisks sind sehr handlich und flexibel: So können einer Virtual Machine mehrere virtuelle Harddisks zugeordnet werden. Ausserdem kann man durch blosses Kopieren des Ordners mit den VHD-Dateien und dem zugehörigen Konfigurationsfile ein Backup einer kompletten VM-Installation erstellen. Da sowohl Virtual PC als auch Virtual Server dasselbe VHD-Format verwenden, lassen sich Virtual Machines zwischen den beiden Systemen austauschen. Virtuelle Harddisks können wahlweise mit fixer oder dynamischer Grösse eingerichtet werden. Während man bei der erstgenannten Option der virtuellen Disk eine feste Kapazitätsgrenze zuordnet (sinnvoll, wenn nur begrenzt Speicherplatz zur Verfügung steht), wächst eine dynamische Disk mit zunehmender Datenmenge entsprechend automatisch an.


Verwerfen und Ableiten

Das Konzept der Virtual Disks bringt mit den Funktionen Undoable und Differencing zwei weitere, interessante Vorteile.
Die Undoable-Funktion erlaubt es, alle Änderungen, die seit dem letzten Systemstart vollzogen wurden, wieder rückgängig zu machen. Zu diesem Zweck legt Virtual Server nach dem Booten einer Virtual Machine automatisch eine zweite virtuelle Harddisk an, auf der alle nach dem Start gemachten Änderungen gespeichert werden. So kann man zu einem späteren Zeitpunkt alle Änderungen permanent übernehmen oder verwerfen. 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 möchte. Nützlich ist das Undo-Feature auch auf virtuellen Trainingssystemen, die nach Abschluss der Trainingssession wieder in den ursprünglichen Zustand zurückversetzt werden müssen.





Mit der Differencing-Funktion lassen sich von einer virtuellen Machine weitere Subsysteme ableiten. So kann man beispielsweise einen Windows-XP-Client aufsetzen und diesen «einfrieren». In diesem Zustand lassen sich von diesem System nun beliebig viele neue virtuelle Systeme ableiten: Beispielsweise ein Windows-XP-System ohne Service Pack und je ein System mit SP 1 und 2. Dabei werden auf den virtuellen Harddisks der neuen VM-Installationen nur die Unterschiede zum Ursprungssystem gespeichert. Selbst wenn die Grösse dieser Differencing-Harddisk schon 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 diese dann individuelle Installationen vornehmen können. Ableitungen lassen sich übrigens auch mehrstufig verschachteln, so dass man von einem abgeleiteten System wiederum weitere Subsysteme erzeugen kann. Vor allem in Testumgebungen, wo Programme und Konfigurationen in den unterschiedlichsten Installationsszenarien ausgetestet werden müssen, kann diese Funktion sehr wertvoll sein.






Schade ist, dass sich mit der Differencing-Funktion Änderungen am Originalsystem nicht automatisch auf die abgeleiteten Machines applizieren lassen. Nimmt man nämlich Änderungen am Originalsystem vor, werden alle davon abstammenden Systeme unbrauchbar. Damit ist es leider nicht möglich, durch die Installation eines Patch auf dem Originalsystem auch gleich alle Subsysteme auf den neuesten Stand zu bringen.


Hard- und Software-Support

Virtual Server 2005 emuliert die gängigste Standardhardware. Dazu zählen IDE-Adapter mit bis zu vier Geräten, SCSI-Adapter (Adaptec 7870), bis zu 3,6 Gigabyte RAM, eine SVGA-Grafikkarte (S3 Trio64), zwei serielle und eine parallele Schnittstelle sowie bis zu vier 100-MBit-Netzwerkadapter (DEC 21140). Des weiteren gibt es Support für Floppy-, CD- und DVD-Drives, die direkt auf dem Originallaufwerk des Systems gemappt werden können. Über ISO-Images und verschiedene Floppy-Image-Formate können der VM auch virtuelle Laufwerke angefügt werden. Da Virtual Server 2005 direkt ab diesen Formaten booten kann, lassen sich solche Images auch für das Setup eines neuen Gastsystems nutzen. Wie bei Virtual PC fehlt auch bei Virtual Server Unterstützung für USB und Firewire. Die Emulation einer Soundkarte fehlt ebenso.






Bei den Gast-Betriebssystemen bietet Microsoft nach eigenen Angaben optimierten Support für NT 4.0 Server, Windows 2000 Server und Windows Server 2003. Obwohl andere Plattformen nicht auf der Liste der offiziell unterstützten Systeme stehen, kann in einer Virtual-Server-VM praktisch jedes x86-kompatible Betriebssystem abgespielt werden.
Virtual Server 2005 lässt sich selber nur auf einem Windows Server 2003 und Windows XP (für Test- und Entwicklungsaufgaben) aufsetzen. Windows 2000 wird ebensowenig unterstützt wie alle 64-Bit-Windows-Systeme. Ausserdem kann die VM-Technologie von Virtual Server keine 64-Bit-Systeme emulieren. Dafür gibt es Support für Multiprozessorsysteme: Die Virtual Server Standard Edition kann auf Servern mit bis zu 4, die Enterprise Edition mit bis zu 32 CPUs genutzt werden. Ein Gast-Betriebssystem sieht dabei allerdings immer nur eine CPU. Einer Virtual Machine kann aber fix eine CPU zugewiesen werden.


Virtual Networking

Virtual Server 2005 stellt drei verschiedene Networking-Modi zur Verfügung. Via External Networking kommuniziert eine Virtual Machine direkt mit der physisch vorhandenen Netzwerkkarte und wird dabei zu einem Knoten des Netzwerks. Die Virtual Machine lässt sich dadurch von jedem anderen System im Netzwerk ansprechen, inklusive anderen Virtual Machines, die ebenfalls im External-Networking-Modus arbeiten.






Per Virtual Networking (auch Isolated Networking) werden eine Ethernet-Karte und ein DHCP-Server simuliert. Dies erlaubt es Gastsystemen, auf demselben Hostsystem untereinander zu kommunizieren. Dabei werden keine Daten über das physisch vorhandene Netzwerk gesendet. Statt dessen werden die Daten direkt via Memory zwischen den VMs transferiert, was nicht nur schneller, sondern auch sicherer ist. Als dritte Option steht noch Virtual-Machine-to-Host-Networking zur Verfügung, über die Virtual Machines über einen Loopback-Adapter mit ihrem Hostsystem kommunizieren können. Pro Virtual Machine werden bis zu vier virtuelle Netzwerkadapter unterstützt.


Praktische Administration

Das bereits erwähnte Web-Administrations-Interface wurde sehr übersichtlich gestaltet und bietet Zugriff auf alle wichtigen Funktionen wie etwa das Erzeugen und Konfigurieren von Virtual Machines, Disks und Netzwerken. Auf der Master-Seite werden alle installierten Maschinen und deren Status angezeigt. Von hier aus lassen sich Virtual Machines starten, stoppen oder pausieren. Bei den laufenden VMs wird sogar in einer Grafik die momentane Auslastung der CPU angezeigt. Ausserdem können über das Web-Administrations-Interface die Zugriffsberechtigungen auf die einzelnen Virtual Machines geregelt und bestimmte Aktionen für Virtual Machines beim Startup und Shutdown des Hostsystems vordefiniert werden. Zudem bieten die Managementfunktionen des Virtual Server Integration mit Active Directory und dem Event Logging des Windows Server. Geplant ist auch die Anbindung an andere Managementprodukte wie Microsoft Operations Manager 2005 (MOM), System Management Server 2003 und die Automated Deployment Services. Im Laufe dieses Jahres soll ein Virtual Server Migration Toolkit verfügbar werden, mit dem sich physische Windows-Installationen inklusive allen eingerichteten Applikationen (NT 4.0 Server, Windows 2000 Server, Windows Server 2003) ohne Neuinstallation in eine Virtual Machine migrieren lassen können.






Virtual Server 2005 ist mit einer COM-Applikationsschnittstelle (API) ausgestattet, mit der alle Funktionen der Administrations-Schnittstelle aus eigenen Programmen und Scripts angesprochen werden können. Ein Eventmodell erlaubt zudem das Auslösen von Scripts beim Eintreten bestimmter Ereignisse wie zum Beispiel beim Starten und Stoppen von VMs oder beim Eintreten eines Fehlers. Die Programmierschnittstelle erlaubt das Automatisieren von vielen mühsamen Verwaltungs- und Konfigurationsaufgaben wie etwa das Deployment umfangreicher Testumgebungen oder das Zurücksetzen der Trainingsumgebung in den Ursprungszustand. Virtual Servers COM API lässt sich über die Windows-Scripting-Umgebung, aus .Net sowie aus Visual Basic 6.0 und C++ nutzen.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Fliegen erledigte das tapfere Schneiderlein auf einen Streich?
GOLD SPONSOREN
SPONSOREN & PARTNER