Angriff auf VMwares ESX-Server: Microsoft Hyper-V im Praxistest

(http://www.zdnet.de/magazin/39195200/angriff-auf-vmwares-esx-server-microsoft-hyper-v-im-praxistest.htm)

von Johann Baumeister, 26. August 2008

Virtualisierung wird zur Schlüsseltechnologie in modernen Rechenzentren. Diesen umkämpften Markt kann Microsoft nicht freiwillig VMware überlassen. ZDNet hat Microsofts Antwort auf ESX-Server einem ausführlichen Test unterzogen.

Virtualisierungsmarktführer VMware[1] bekommt mehr und mehr ernst zu nehmende Konkurrenz. Die Zahl der Anbieter, die neben der reinen Virtualisierungstechnologie auch unternehmenstaugliche Verwaltungslösungen anbieten, steigt ständig. Dazu gehören Citrix[2] mit XenServer[3], Parallels[4] mit Virtuozzo[5], Sun[6] mit VirtualBox[7], Virtual Iron[8] und seit einigen Wochen auch Microsoft[9].

Hyper-V[10] setzt auf den im Februar vorgestellten Windows Server 2008[11] auf. Daneben hat Microsoft schon seit mehreren Jahren seinen Virtual Server im Angebot, der sich aber aufgrund seiner eingeschränkten Funktionen kaum durchsetzen konnte. Mit Hyper-V hat der Gigant aus Redmond nun erstmals einen vollwertiges Virtualisierungsprodukt im Angebot.

Vereinzelt war zu lesen, dass Hyper-V wie viele andere Virtualisierungsprodukte auf dem quelloffenen Xen aufsetze. Das ist nicht richtig. Hyper-V orientiert sich bei vielen Schnittstellen an Xen. Denn die Coopetition[12] mit Novell soll eine gegenseitige verlustfreie Virtualisierung von Windows und Suse-Linux erlauben. In Zukunft soll es sogar möglich sein, paravirtualisierte[13] Gastmaschinen zwischen Xen und Hyper-V auszutauschen, jedoch nicht im laufenden Betrieb.

Hyper-V basiert auf einer Microkernel-Architektur. Hierbei kommt ein Hypervisor zum Einsatz, die direkt auf der Rechnerhardware läuft. Es basiert also auf einer ähnlichen Architektur, die auch Vmware für den ESX-Server verwendet. Allerdings ist es zwingend erforderlich, Windows Server 2008 als Host-Betriebssystem zu installieren.

Der Hypervisor steuert die Hardware und ist die einzige Softwareschicht, die direkt auf der Hardware aufsetzt. Auch das Hostbetriebssystem kommuniziert nicht direkt mit den Hardwaretreibern. Technisch gesehen agiert der Hypervisor als Filtertreiber. Das ermöglicht, die Verwendung aller Treiber für Windows Vista SP1 und Windows Server 2008.

Der Großteil des Hyper-V-Codes und seiner Verwaltungssoftware läuft im Hostbetriebssystem. Diese Kombination wird als Parent-Partition bezeichnet. Die Gastmaschinen bezeichnet Microsoft als Child-Partitionen. Hier zeigt sich die Nähe zu Xen. Xen nennt das Hostbetriebssystem Dom-0 und die Gastmaschinen Dom-U.

Hyper-V unterstützt Voll- und Paravirtualisierung. Bei der Vollvirtualisierung wird dem Gastbetriebssystem eine vollständige Hosthardware vorgetäuscht. Die Paravirtualisierung verwendet ein API, das Microsoft VMBus nennt. Dazu muss das Gastbetriebssystem das VMBus-API beherrschen. Der Zugriff auf Ressourcen wie Speicher und Hardware erfolgt über dieses API. Eine Emulation von Hardware entfällt somit. Auf VMBus basierende Gastmaschinen sind somit wesentlich performanter und weisen nur einen geringen Verlust der I/O-Geschwindigkeit auf.


Bild 1: Microsoft und Novell arbeiten daran, Linux und Windows gegenseitig performant zu virtualisieren. (Grafik: Microsoft)

Nutzen lässt sich diese Technologie von Windows Vista, Windows Server 2003 ab SP2, Windows Server 2008 und Xen-Linux-Distributionen, die VMBus-Treiber beinhalten. Diese Linux-Distributionen bezeichnet Microsoft als "erleuchtet" (Enlightened Linux), siehe Bild 1[14].Bei den Hardwarevoraussetzungen geht Microsoft keine Kompromisse ein: Hyper-V kann nur auf den 64-Bit-Versionen von Windows Server 2008 eingesetzt werden. Die CPUs müssen ferner aktuelle Hardwarevirtualisierungsunterstützung bieten, entweder AMD Pacifica oder Intel Vanderpool. Nested-Page-Tables sind nicht erforderlich und werden in der aktuellen Version auch nicht unterstützt.

Gastmaschinen können im 32- und im 64-Bit-Speichermodell installiert werden. Jeder Gast erhält dabei maximal vier virtuelle CPUs und 64 GByte Arbeitsspeicher. Microsoft bietet Hyper-V für die Windows-Server-2008-Versionen Standard, Enterprise und Datacenter an. In der Enterprise Edition ist der Betrieb von bis zu vier virtuellen Windows-Instanzen ohne zusätzliche Lizenzkosten erlaubt. Bei der Datacenter-Edition gibt es kein Limit für die Anzahl der virtuellen Windows-Instanzen. Eine technische Begrenzung exisitert ebenso wenig.

Anders als der ESX-Server erlaubt Hyper-V kein Memory-Overcommitment. Die Gastmaschinen erhalten Speicher nur aus dem tatsächlich verfügbaren physikalischen RAM. Speicher, der einer Gastmaschine zugewiesen ist, steht dem Host nicht zur Verfügung.ZDNet testet Hyper-V auf einem AMD Dual Core mit 8 GByte RAM, zwei Netzwerkkarten und lokalen SATA-Platten. Rein theoretisch wäre die Installation kein Problem. Einfach im Server-Manager die Rolle "Hyper-V" hinzugefügen, schon installiert sich der Hypervisor nach dem obligatorischen Reboot zwischen Hardware und Betriebssystem. Das Gleiche geschieht mit den User-Mode-Komponenten.

In der Praxis stellt sich das konkrete Problem, dass derzeit noch Installationsmedien ausgeliefert werden, die nicht die endgültige Version von Hyper-V enthalten. Die kommt zwar automatisch per Update, doch dann gibt es Probleme bei der Installation der Gastmaschinen. Sie werden wiederum vom Original-Medium installiert und erhalten Release-Candidate-Treiber für die Kommunikation mit dem Host. Diese sind nicht kompatibel zum Final-Release. Das nachträgliche Update ist nur schwierig realisierbar, da die Gastmaschinen über keinerlei Netzwerkanbindung verfügen.

Um Probleme zu vermeiden, ist auf jeden Fall empfehlenswert, selbst ein Installationsmedium  mit Hilfe des WAIK[15] zu erstellen, das alle aktuellen Updates enthält. Das geht nicht gerade schnell, erspart aber Frusterlebnisse nach Installation der Gastmaschinen.

Installiert man auch den Host vom selbsterstellten Medium, so sollte im Hyper-V-Manager unter "Help - About Hyper-V-Manager" mindestens die Version 6.0.6001.18016 erscheinen. Andernfalls hat man einen Release Candidate installiert.Zur Verwaltung der virtuellen Maschinen dient der Hyper-V-Manager. Neben den typischen Parametern für ein Gastbetriebssystem, zum Beispiel virtuelle Harddisks, Anzahl der CPUs und Größe des Hauptspeichers, konfiguriert man in Hyper-V-Manager auch BIOS-Parameter, etwa die Boot-Reihenfolge, siehe Bild 2[16]. Anders als bei den VMware-Produkten muss man dazu nicht ins virtuelle BIOS-Setup der Gastmaschine.

Virtuelle USB-Anschlüsse gibt es nicht. In Hyper-V-Gastmaschinen lassen sich Geräte wie Webcams und Kartenleser nicht anschließen. Bei der Servervirtualisierung kommt man allerdings auch ohne aus.

Ferner lässt sich mit dem Hyper-V-Manager die CPU-Leistung der Gastmaschinen konfigurieren. Einer Gastmaschine kann ein bestimmter Prozentsatz an CPU-Zeit zugewiesen werden, die ihr immer zur Verfügung steht. Ebenso ist es möglich, die CPU-Auslastung nach oben zu begrenzen.

Unternehmensweite Verwaltung von virtuellen Maschinen über Servergrenzen hinweg gibt es allerdings nur mit dem kostenpflichtigen Virtual Machine Manager[17] aus dem Microsoft System Center[18]. Er liegt zur Zeit in einer Beta-Version zum Download[19] bereit. Er verwaltet nicht nur Hyper-V-Server und Gastmaschinen, sondern auch die des Konkurrenten VMware.

Virtuellen Maschinen stehen grundsätzlich zwei Treibersätze zur Verfügung: Die langsamen Legacy-Treiber nutzen emulierte Hardware, die schnellen VMBus-Treiber können nur dann eingesetzt werden, wenn die Integration-Services ebenfalls installiert sind. Die Integration-Services übernehmen die Kommunikation mit dem Hypervisor und liefern außerdem einen Heartbeat für die Abstimmung der Gäste und sorgen für die Zeitsynchronisation sowie ein barrierefreies Arbeiten mit der Maus über die Fenstergrenzen des Gastes.

Im Test richtet ZDNet mehrere VMs mit Windows Vista Ultimate, Windows Server 2008 und Suse Linux Enterprise Server 10 SP2 (SLES) ein. Alle drei sind grundsätzlich brauchbar. Für SLES 10 existiert zwar ein Xen-Kernel, jedoch sind keine VMBus-Treiber verfügbar. Somit ist SLES 10 noch nicht "erleuchtet". Die I/O-Performance ist nicht optimal. Darüber hinaus lässt sich keine SMP-Umgebung erstellen. Die Coopetition zwischen Microsoft und Novell wird wohl erst mit SLES11 die "Erleuchtung" bringen.Mit Hyper-V hat Microsoft erstmals einen konkurrenzfähigen Hypervisor im Angebot. Besitzer von Hardware, die älter als zwei Jahre ist, brauchen an Hyper-V jedoch erst gar nicht denken. Hyper-V läuft weder auf 32-Bit-Windows noch auf Prozessoren, die keine Hardwareunterstützung für Virtualisierung bieten. Das schränkt einerseits die Verwendung ein, andererseits schleppt Hyper-V wenig Ballast wegen Kompatibilität zu älterer Hardware herum.

Positiv ist die Unterstützung einer Paravirtualisierung zu sehen, die sich am quelloffenen Xen anlehnt. Paravirtualisierte Kernel haben erhebliche Vorteile bei der I/O-Leistung. Performancekritische Datenbankserver sind mit Vollvirtualisierung heute nicht zu realisieren. Die hohe I/O-Latenz erweist sich als Flaschenhals.

Die Nähe zu Xen ermöglicht den Einsatz von Xen-Linux-Kerneln, so dass neben Windows auch Linux hochperformant virtualisiert werden kann. Der kommerzielle Einsatz ist erst dann sinnvoll, wenn für große Linux-Distributionen VMBus-Treiber bereitstehen, die von den Linux-Distributionen als unternehmenstauglich zertifiziert wurden. Im Falle von Suse-Linux wird Novell dafür sorgen.

Mit der unternehmensweiten Verwaltung einer Virtualisierungsinfrastruktur ist Microsoft noch nicht so weit wie Konkurrent VMware. Der Virtual-Machine-Manager befindet sich noch in der Betaphase. Bereits jetzt ist klar, dass er in vielen Punkten mit den VMware-Infrastructure-Komponenten nicht mithalten kann. Der Umzug einer virtuellen Maschine auf einen zweiten Server im laufenden Betrieb ist nicht möglich.

Sollte sich herausstellen, dass die Auslastung der Hardware nicht optimal ist, oder ein Server meldet den Ausfalls eines Lüfters, dann alarmiert Microsofts System Center den Administrator. Zur Auflösung der Situation erfordert Hyper-V immer einen Reboot der betroffenen Gastmaschinen. VMware kann es ohne Betriebsunterbrechung.

URLs in diesem Artikel:
[1] = http://www.vmware.com/
[2] = http://www.citrix.com/lang/English/home.asp
[3] = http://www.citrix.com/English/ps2/products/product.asp?contentID=683148&ntref=hp_nav_US
[4] = http://www.parallels.com/
[5] = http://www.parallels.com/en/virtuozzo/
[6] = http://www.sun.com
[7] = http://www.virtualbox.org/
[8] = http://www.virtualiron.com/
[9] = http://www.microsoft.com/en/us/default.aspx
[10] = http://www.microsoft.com/windowsserver2008/en/us/virtualization-consolidation.aspx
[11] = http://www.zdnet.de/enterprise/server/0,39023275,39188562,00.htm
[12] = http://de.wikipedia.org/wiki/Coopetition
[13] = http://www.zdnet.de/enterprise/server/0,39023275,39152396-3,00.htm
[14] = http://www.zdnet.de/enterprise/server/0,39035443,39195291-1,00.htm
[15] = http://www.microsoft.com/downloads/details.aspx?familyid=94BB6E34-D890-4932-81A5-5B50C657DE08&displaylang=de
[16] = http://www.zdnet.de/enterprise/server/0,39035443,39195291-2,00.htm
[17] = http://www.microsoft.com/systemcenter/virtualmachinemanager/en/us/default.aspx
[18] = http://www.zdnet.de/enterprise/server/0,39023275,39190640,00.htm
[19] = http://www.microsoft.com/systemcenter/virtualmachinemanager/en/us/future-version.aspx