Vmware ist im Virtualisierungsbereich ungefähr so stark wie Microsoft bei Office-Anwendungen. Die Redmonder wollen dem Marktführer dennoch Paroli bieten. ZDNet zeigt auf, worin sich die Lösungen der beiden Firmen unterscheiden.
Servervirtualisierung im Rechenzentrum wird heute häufig mit Linux als Hostbetriebssystem oder auch ganz ohne Betriebssystem nur mit einer Virtualisierungslösung betrieben. Doch auch für Windows gibt es interessante Lösungen. Abgesehen vom höheren Speicherbedarf für das Hostbetriebssystem spricht heute wenig gegen Virtualisierung unter Windows.
Es gibt sogar gute Gründe dafür, ein Rechenzentrum überwiegend auf der Microsoft-Infrastruktur basierend zu betreiben. Einige Beispiele seien hier genannt:
- bessere Integration in die bestehende Netzwerkmanagementwelt (zum Beispiel mit Microsoft System Center, Microsoft Systems Management Server oder Microsoft Operations Manager)
- Betrieb einer Windows-Serveranwendung im Hostbetriebssystem, die Hardware benötigt, die in einer Gastmaschine nicht genutzt werden kann
- einfachere Integration in bestehende Virenschutz- und Firewall-Infrastruktur
Für Servervirtualisierung stehen unter Windows heute im Wesentlichen zwei Produkte zur Verfügung: Microsoft Virtual Server 2005 R2 und Vmware Server 1.0.1. Letzterer ist, technisch gesehen, Nachfolger des Vmware-GSX-Servers.
Bevor man mit der Planung eines virtualisierten Server beginnt, muss man sich über einige grundsätzliche Unterschiede der beiden Systeme Gedanken machen. Im Großen und Ganzen ist die Architektur jedoch recht ähnlich.
Vmware bietet eine ganze Reihe von Servervirtualisierungslösungen an. Insbesondere sind darunter solche mit Linux als Hostbetriebssystem und der ganz betriebssystemlose ESX-Server, der direkt auf einen "nackten" Server installiert werden kann. Microsoft bietet seine Serverlösung nur unter Windows 2003 als Hostbetriebssystem an.
Mehr Vielfalt unter Windows bietet Vmware: Als Hostbetriebssystem können Windows 2000 oder Windows 2003 eingesetzt werden. Beide Systeme gibt es in einer 32-Bit- und einer 64-Bit-Version. Microsoft bietet keine Unterstützung für 64-Bit-Gastbetriebssysteme, während Vmware bereits 64-Bit-Windows- und Linux-Systeme beherrscht. Ebenfalls gilt für prozessorintensive Anwendungen zu beachten, dass Microsoft pro virtueller Maschine nur einen Prozessor unterstützt, während es bei Vmware bis zu zwei sind. Bei Nutzung eines Servers mit vier physikalischen Prozessoren muss man daher mit der Microsoft-Lösung schon mindestens vier virtuelle Maschinen betreiben, um so ein System ausnutzen zu können. Vmware kann hingegen eine solche Konfiguration bereits mit zwei virtuellen Maschinen voll auslasten. Zudem ist die Zuteilung der Prozessorressourcen bei Vmware flexibler.
Unterschiede gibt es ebenfalls bei der Größe der virtuellen Laufwerke in den Gastmaschinen. Hier bietet Microsoft mehr: Die Laufwerke können 2 Terrabyte groß sein, während IDE-Laufwerke bei Vmware nur bis zu einer Größe von maximal 128 GByte unterstützt werden. Bei virtuellen SCSI-Laufwerken sind es immerhin 256 GByte. Ein technischer Grund für die Beschränkung bei Vmware ist nicht erkennbar. Offensichtlich soll ein Anreiz für die kostenpflichtige, betriebssystemlose ESX-Server-Lösung geschaffen werden.
Um diese Beschränkung von Vmmware zu umschiffen, muss man schon ein wenig Kreativität an den Tag legen. Eine Möglichkeit kann darin bestehen, über das Gastbetriebssystem mehrere Laufwerke zu einer Partition zusammenzufassen. Durch die Unterstützung von 21 virtuellen SCSI-Festplatten und vier virtuellen IDE-Festplatten kommt man immerhin auf 5,75 TByte. Um das Ausfallrisiko zu minimieren, sollte sich die Zusammenfassung der Partitionen nicht über unterschiedliche Festplatten erstrecken, sondern auf eine Harddisk beschränkt bleiben.
Eine andere Möglichkeit besteht darin, ein SAN direkt in der virtuellen Maschine zu betreiben. Hier bietet sich praktisch nur i-SCSI als virtuelle SAN-Lösung an. SAN-Lösungen mit direktem Hardwareinterface können in einer virtuellen Maschine nicht genutzt werden, sondern nur vom Hostbetriebssystem.
Schlussendlich gilt es zu bedenken, dass heute viele storageintensive Serveranwendungen, etwa moderne Datenbank- und Mailserver, von sich aus die Möglichkeit bieten, logische Einheiten auf mehrere Platten zu verteilen. Dies führt, bei guter Planung, in vielen Fällen auch zu einer Leistungsverbesserung. Eventuell ist dann eine einzelne Partition von mehr als 256 GByte gar nicht erforderlich.
Beide Systeme bieten heute bereits Unterstützung für Prozessoren mit Hardware-Virtualisierungstechnologie von AMD und Intel, allerdings noch nicht für den Produktivbetrieb. Vmware nennt seine im Produkt enthaltene Unterstützung experimentell. Microsoft verspricht eine solche Unterstützung ab dem Service Pack 1, das derzeit in einer öffentlichen Beta-Version zum Herunterladen angeboten wird.
Bei der Emulation von Hardware in den Gastmaschinen verhalten sich die konkurrierenden Lösungen nahezu identisch. Beide Systeme emulieren einen Standard-Dual-Channel-IDE-Controller, einen oder mehrere SCSI-Controller, einen Floppy-Controller mit Laufwerk, einen oder mehrere COM- oder LPT-Anschlüsse, eine oder mehrere Ethernetkarten und eine Grafikkarte. Tastatur und PS/2-Maus werden automatisch beim Zugriff über die jeweilige Steuerungssoftware emuliert. Vmware kann zusätzlich eine AC97-Soundkarte und einen USB-1.1-Controller emulieren. Im Serverbereich ist die Soundkarte wenig relevant. Auch USB wird auf Servern so gut wie nie eingesetzt. Da auch bei USB-2.0-Unterstützung auf dem Host nur USB 1.1 in der Gastmaschine zur Verfügung steht, lohnt es sich gar nicht, über einen Produktiveinsatz dieser Unterstützung in der Gastmaschine nachzudenken.
Unterschiede bestehen vor allem hinsichtlich SCSI-Controller, Ethernetkarte und Grafikkarte. Hier werden von Microsoft und Vmware unterschiedliche Modelle hardwaremäßig emuliert. Microsoft emuliert einen Adaptec-AHA-2940-SCSI-Controller, eine Intel-21140-Ethernetkarte und eine S3-Trio-Grafikkarte.
Vmware emuliert wahlweise einen Buslogic-SCSI-Adapter oder einen BT958-kompatiblen-SCSI-Adapter, eine AMD-79C970-Ethernetkarte und eine proprietäre Grafikkarte, die als VESA-kompatible SVGA-Karte erkannt wird. Wichtig hierbei ist, dass es für andere Hardwarekomponenten zurzeit keinerlei Unterstützung gibt. Weitere in einen Server eingebaute Komponenten können somit nicht von den Gastmaschinen genutzt werden.
Durch diese softwareseitige Emulation von Standardhardware stehen diese Komponenten für sämtliche Gastbetriebssysteme zur Verfügung, ohne dass es erforderlich ist, eigene Treiber bei der Installation des Gastbetriebssystems zu verwenden. Die Installationsmedien der meisten modernen Betriebssysteme enthalten Treiber für die genannten Komponenten.
Performant sind diese emulierten Hardwarekomponenten aber keineswegs. Das Abfangen der Portzugriffe und die softwareseitige Emulation des DMA-I/O kostet die Virtualisierungssoftware eine Menge Leistung. Später lassen sich eigene Treiber für verschiedene Gastbetriebssysteme nachträglich installieren. Sie setzen dann nicht mehr auf emulierter Hardware auf, sondern bieten ein performantes Interface zu der Virtualisierungssoftware. Die Verfügbarkeit solcher Treiber für das jeweilige Gastbetriebssystem ist entscheidend für den Produktiveinsatz, da ansonsten die Leistung stark gedrosselt wird.
Dementsprechend nehmen Microsoft und Vmware auch nur Betriebssysteme in ihre Unterstützungsliste für Gastmaschinen auf, für die solche Treiber existieren. Andere Betriebssysteme lassen sich zwar meist ohne Probleme installieren, aber mit einem deutlichen Performancenachteil.
Fazit
Trotz virtualisierter Treiber kommt es bei beiden Produkten zu dramatischen Leistungsverlusten. Microsoft kann nur 38 Prozent des Durchsatzes eines vollwertigen Servers erzielen, während sich Vmware sich gar mit 32 Prozent begnügen muss. Letztere Werte mögen erschrecken, können aber in einer Multiprozessorumgebung, in der ein Prozessor der Hostmaschine komplett zur Verfügung steht, erheblich verbessert werden.
Die Virtualisierung von Storagesystemen ist immer noch das größte Manko der aktuellen Virtualisierungslösungen. Erst wenn die Prozessorhersteller die Virtualisierungsunterstützung auch für I/O anbieten, wird sich diese Situation verbessern.
Lesen Sie auch den zweiten Teil des Vergleichs[1], der die unterschiedlichen Administrations- und Konfigurationslösungen der beiden Produkte vorstellt.
URLs in diesem Artikel:[1] = http:/