VMWare, Microsoft oder Citrix? Virtualisierungslösungen im Vergleich

Die Frage, ob virtualisiert werden soll, stellt sich heute oftmals nicht mehr. Es geht mehr darum bei welchen Systemen und Applikationen es sinnvoll ist und welche Funktionen dem Unternehmen Vorteile bringen. Letztendlich sollte auch bei der Virtualisierung eine zugeschnittene, individuelle Lösung gefunden werden, die einen Nutzen bringt.
Mechanismen dafür können höhere Ausfallsicherheit und Konsolidierung sein, die Ersparnisse bei Stromverbrauch und Platzbedarf bringen können, sowie Verringern von Produktionsausfallzeiten und Administrationsaufwand. Dafür werden die Werkzeuge der einzelnen Produkte näher unter die Lupe genommen und gegenüber gestellt.

Als Grundlage zur Auswahl der Produkte half das Magic Quadrant for x86 Server Virtualization Infrastructure von Gartner (http://bit.ly/L2ITte). Dort werden als Marktführer VMware, Microsoft und Citrix Systems mit den Produkten vSphere, Hyper-V und XenServer im Bereich Server Virtualisierung aufgeführt.

Anzeige

Der Hypervisor

Er ist die Grundlage, um virtuelle Maschinen auf physischer Hardware zu betreiben: der Hypervisor. Es gibt zwei Arten: Einmal die, die als eigenes Betriebssystem oder  im Kernel des Betriebssystems direkt auf der Hardware laufen, auch Typ-1- oder Bare-Metal-Hypervisor genannt. Sowohl VMwares ESXi, als auch Microsofts Hyper-V, Xen und das im Linux Kernel integrierte KVM sind von diesem Typ, wobei ersterer mit unter 150MB mit Abstand der schlankeste ist.

Als zweiten Typ gibt es den Hypervisor, der als Applikation auf ein Betriebssystem aufsetzt und auch dessen Ressourcen nutzt. Das macht ihn zwar flexibler, aber der Nachteil ist ganz klar die zusätzliche Schicht zwischen Gast und Hardware. Typische Vertreter dieses Typ-2-Hypervisors sind zum Beispiel VirtualBox, VMware Workstation/Fusion und Parallels Workstation/Desktop.

Aber nicht nur im Bereich der Betriebssysteme gibt es Hypervisor, auch bei der Virtualisierung von Speichersystemen. Diese Storage-Hypervisor sind nicht zu verwechseln mit embedded Software, die speziell für eine Hardware geschrieben ist, sondern eine Appliance, die auf Standardhardware oder auch virtualisiert läuft. Auch hier stellt der Hypervisor eine Schicht dar, die die unterschiedlichsten Massenspeicher virtualisiert und diese zu einem oder mehreren logischen Volumes zusammenfasst.

Virtualisierungsarten

Bei der Virtualisierung auf x86 Systemen gibt es in der Hauptsache drei Arten, die Para-, Hardware-  und die Vollvirtualisierung.

Ohne Virtualisierung läuft das Betriebssystem auf der Ebene des Prozessors, auf der es die größte Kontrolle über diesen hat. Diese Ebene wird auch „Ring 0“ genannt und nur dort gibt es direkten Zugriff auf beispielsweise den Hauptspeicher. Es gibt 4 Ebenen, Ring 0 bis Ring 3, Applikationen laufen im Ring 3 der CPU, hier gibt es die wenigsten Rechte.

Bei der Vollvirtualisierung läuft der Hypervisor auf dem Ring 0. Er stellt für jeden Gast eine virtuelle Maschine bereit, eine komplett abgekapselte Umgebung, inkl. BIOS und I/O Devices, auf der das Gastbetriebssystem läuft. Der Vorteil hierbei ist eine hohe Sicherheit, da die Gäste untereinander und von der untersten CPU-Ebene abgeschottet sind. Dadurch, dass keine Anpassungen am Gastbetriebssystem gemacht werden müssen, lassen sich sehr viele verschiedene Systeme virtualisieren. Da das Gastbetriebssystem jetzt auf Ring 1 ausgeführt wird, müssen jetzt alle Zugriffe auf die Ressourcen erst durch den Hypervisor durchgereicht werden bevor sie im Ring 0 ausgeführt werden können. Diese Art der Virtualisierung nutzen hauptsächlich VMware und KVM.

Im Gegensatz dazu läuft bei der Paravirtualisierung das Gastbetriebssystem direkt im Ring 0 neben einem schlanken Hypervisor. Dazu muss der Kernel des Gastbetriebssystems wissen, dass er virtualisiert läuft und die Befehle, die er nicht direkt ausführen kann über sogenannte „Hypercalls“ an den Hypervisor weitergibt, der diese dann ausführt. Da diese der Art der Virtualisierung näher an der Hardware läuft, ist sie oftmals schneller als die Vollvirtualisierung. Durch die nötigen Anpassungen am Gastsystem gibt es hier allerdings starke Einschränkungen bei der Anzahl der verschiedenen Betriebssysteme. Hauptsächlich nutzen Xen und Hyper-V diese Art der Virtualisierung, aber auch VMware bietet Paravirtualisierung als Option an. Die beste Unterstützung bei den Gästen liefert Linux, da hier schon länger Xen als sogenannter DomU (Gast) integriert ist. Aber auch für die Microsoft Virtualisierung sind die Hyper-V Integration Components seit dem Linux Kernel 2.6.32 fester Bestandteil und bei den meisten Distributionen aktiviert. VMware’s Lösung bei Linux Gästen nennt sich Virtual Machine Interface (VMI) und ist seit dem Linux Kernel 2.6.22 dabei. Bei Microsoft Windows als Gastsystem nennt sich die Unterstützung für Paravirtualisierer Enlightenments und wird seit Server 2008 voll unterstützt, davor nur teilweise. Ebenso gibt es bei  Microsoft, als auch bei Xen und VMware Treiber für paravirtualisierte Gäste.

Sowohl Intel als auch AMD bieten seit ein paar Jahren hardwareunterstütze Virtualisierung in ihren CPU’s an (Intel VT-x b und AMD-V). Bei dieser Art wird der Hypervisor in einer neuen, privilegierten Schicht unterhalb vom Ring 0 ausgeführt und vermittelt zwischen dem Gastbetriebssystem, das in Ring 0 unmodifiziert laufen kann, und der Hardwareschicht. Diese Art ermöglicht Paravirtualisierern auch Gäste zu betreiben, die keine Anpassung haben. Sie ist allerdings relativ langsam, da – im Gegensatz zur Paravirtualisierung – jeder Befehl abgefangen werden muss. Auch die Vollvirtualisierung ist in der Regel schneller, da dort optimierter Softwarecode zum Einsatz kommt. Die Hardwarevirtualisierung wird von VMware, Hyper-V, Xen und KVM nicht nur unterstützt, sondern teilweise auch vorausgesetzt.

Während die Virtualisierung hauptsächlich die vorhandene Hardware an den Gast weitergibt, stellt die Emulation eine komplett andere Plattform oder Architektur bereit. Das kann bei komplexen Systemen sehr aufwändig und damit sehr langsam sein. Beispielsweise muss bei der Emulation einer CPU diese von der Software komplett nachgebildet werden und alle Befehle für die CPU des Wirtssystems übersetzt werden. Eine gängige Emulation heutzutage ist die Druckeremulation, bei der etwa ein Hewlett Packard Laserdrucker „vorgegaukelt“ wird, obwohl die Hardware von einem ganz anderen Hersteller kommt. Bei der Virtualisierung spielt die Emulation ebenfalls eine sehr wichtige Rolle. Da man den Gästen eine möglichst homogene Hardware Umgebung bieten sollte, müssen verschiedene Devices, wie Netzwerk- und Grafikkarten oder Festplattencontroller emuliert werden.

Als letztes sei hier noch die Containervirtualisierung erwähnt. Bei dieser Virtualisierungsart werden nicht nur die gleichen Hardware Ressourcen sondern auch Teile des Betriebssystems bei den Gästen verwendet. OpenVZ beispielsweise stellt unter Linux abgeschottete Container für eigene Linux Installationen bereit, deren Prozesse allerdings vom OpenVZ Kernel verarbeitet werden. Oracle bietet mit Solaris Zones und IBM mit AIX Workload Partitions (WPAR) ähnliches an. Der kleine Virtualisierungsoverhead macht dieses Verfahren sehr performant, wenn man in der gleichen Betriebssystem Umgebung bleiben will, was allerdings auf Kosten der Flexibilität geht. Internetprovider, die virtuelle Server vermieten, setzten diese Virtualisierungart oftmals ein.

Management

Neben dem Hypervisor bieten alle drei Hersteller auch Software zur Administration an. VMware liefert ab der Essentials Edition den vCenter Server als zentralen Managementserver mit. Dieser läuft als Applikation auf einem 64bit Windows Server oder als Virtual Appliance und kann über ein Web Interface bedient werden, das ab der aktuellen Version 5.1 alle Funktionen, die auch die Windows Applikation vSphere Client bietet. Dieses kann auch die Virtualisierungshosts direkt administrieren, es stehen dann aber nicht alle Funktionen zur Verfügung. Microsoft integriert den Hyper-V Manager in den Server Manager für grundlegende Administrationsarbeiten. Für das umfangreiche Management bietet Microsoft den SCVMM (System Center Virtual Machine Manager) an, der als eigener Server laufen sollte und nicht nur Hyper-V Hosts, sondern auch den vCenter Server und ab Version 2012 auch XenServer managen kann. Bei Citrix übernimmt diese Funktion die XenCenter Software. Dies ist ein grafisches Frontend, um die Hosts und die virtuellen Maschinen zu administrieren, bietet allerdings nur einen Teil des Funktionsumfangs von VMwares vCenter Server, da es sich lediglich um einen Windows Client handelt.

Ausfallsicherheit

Ein weiterer Vorteil der Virtualisierung ist die bessere Umsetzung von Ausfallsicherheit. Wenn das Virtualisierungssystem und das Storage hochverfügbar ausgelegt ist, können die darauf laufenden Gastsysteme mit einbezogen werden und müssen nicht mehr einzeln betrachtet werden. Ein einfaches Beispiel für ein Szenario wäre, wenn ein Host ausfällt, dass die ausgefallenen Virtuellen Gäste auf einem anderen Host automatisch neu gestartet werden, ohne dass erst ein Zurückspielen des letzten Backups gemacht werden muss. Oder aber man lässt eine Kopie des Gastes, der auf Host A läuft, parallel auf Host B laufen, der, falls Host A ausfällt, diesen dann zum originalen Gast macht. Damit kann man die RTO (Recovery Time Objective – Zeit bis zur Wiederherstellung des Systems) deutlich verkürzen.

Im zweiten Szenario gibt es praktisch keine Ausfallzeit, und die RPO (Recovery Point Objective, Datenverlust in Zeiteinheiten) geht gegen Null. Bei Hyper-V kann man ersteres über den Microsoft Cluster Service (MSCS) realisieren. Ohne Ausfallzeit des Gastes geht es hier allerdings nicht. Bei VMware sind bei der HA Lösung etwas umfangreichere Einstellungen möglich und es bietet auch an – mit Einschränkungen – für die zweite Möglichkeit, eine Kopie auf einem weiteren Host laufen zu lassen – eine Lösung, die sich FT (Fault Tolerance) nennt. XenServer High Availability kann ebenso bei Ausfall eines Hosts die VM auf einem anderen Host neu starten, allerdings nur mit Ausfallzeiten. Alle drei Hersteller bieten auch Lösungen zur Ausfallsicherheit nicht nur über mehrere Hosts, sondern auch rechenzentrenübergreifend an. VMware bietet mit den Zusatz-Produkten Site Recovery Manager und Replication eine solche Lösung an. Damit kann eine komplette vSphere Umgebung über das LAN oder WAN auf ein Backup Rechenzentrum repliziert werden, das im Desaster Recovery-Fall für das Hauptrechenzentrum einspringt. Ganz ohne Ausfallzeiten geht das hier allerdings auch nicht. Die kleinste Zeiteinheit zwischen zwei Replikationen beträgt 15 Minuten und kann bis zu 24 Stunden gehen, je nachdem wie groß die Bandbreite vom WAN und die Datendifferenz ist. Bei SAN Verbindung zwischen den beiden Rechenzentren kann die Replikation auch auf Basis der Storagesysteme erfolgen. Dadurch kann die RPO minimiert werden. Citrix bietet bei seinem XenServer ab der Platinum Edition die Funktion Integrated Site Recovery an, um Daten auf Storage Ebene über LAN oder WAN zu replizieren, was allerdings umständlich auf Kommandozeilenebene geschehen muss.

Lastausgleich

Für die Virtualisierung spricht die bessere Auslastung der Hardware und die daraus folgenden Kostenersparnisse bei den Anschaffungskosten der Server, sowie geringerer Strom- und Platzbedarf. Schon seit einiger Zeit sind Server so leistungsfähig, dass die Hardware nicht ausgelastet wird. Weitere Applikationen auf der gleichen Betriebssystem-Installation werden teilweise nicht geduldet  oder  nicht unterstützt. Die Auslastung der Hardware kann durch manuelle Zuweisung der Gäste auf die Hosts geschehen, was bei größeren Umgebungen schnell unübersichtlich werden kann. Besser wäre es, man überlässt es der Virtualisierungslösung einen Lastausgleich durch eine dynamische Verteilung der VM’s auf die Server vorzunehmen. Bei VMware wird das Distributed Ressource Scheduler (DRS) genannt. Es gibt dort die Möglichkeit ein detailliertes Regelwerk zu erstellen, um Gäste auf bestimmte Hosts oder Hostgruppen fest oder intelligent zu verteilen oder gar, wenn die Auslastung es zulässt, Server ganz frei zu räumen und diese dann auszuschalten, um Strom zu sparen (DPM, Distributed Power Management). Dynamischer Lastausgleich ist auch auf Storage Ebene möglich (Storage DRS), um durch Erstellen von Policies auch hier eine optimale Auslastung zu bekommen. Diese basiert nicht allein auf verfügbarer Kapazität, sondern auch an der Latenz beim Zugriff auf den Storage.

Bei Microsoft wird das mit dem System Center Operation Manager (SCOM) über den integrierten VMM realisiert, die Management Software für Hyper-V. XEN kennt ähnliche Mechanismen und nennt diese Dynamic workload balancing. Citrix stellt dafür den Workload Balancing (WLB) Server als Virtual Appliance ab der Enterprise Version zur Verfügung. Nach der Installation dieser Appliance kann man über den XenCenter verschiedene Regeln einstellen, nach welchen Kriterien Gäste auf welche Hosts verteilt werden. Auch hier können bei Bedarf Hosts aus- und auch wieder eingeschaltet werden, um Strom zu sparen. Voraussetzung für diese Funktionalität ist, dass virtuelle Maschinen im Betrieb zwischen den Servern migriert werden können, was bei allen 3 Lösungen möglich ist.

Backup

Alle drei Virtualisierungslösungen bringen einfache Backupmöglichkeiten für die Virtuellen Maschinen mit. Das Prinzip ist relativ einfach, erst ein Snapshot erstellen und diesen dann auf einen entfernten Server beziehungsweise Storage speichern, und das möglichst zeitgesteuert. Bei Windows kann man das über Windows Server Backup machen oder mit dem Data Protection Manager, der einen höheren Funktionsumfang hat. VMware bringt ab der Essentials Plus Version das Produkt Data Recovery in Form einer Virtual Appliance mit. Die vom Funktionsumfang einfachste Lösung kommt von Citrix mit VM Protection and Recovery. Möchte man hier erweiterte Funktionen haben, muss man entweder selbst Programmieren oder Fremdprodukte kaufen. Für Microsoft und VMware gibt es bessere Unterstützung durch Fremdprodukte, etwa veeam Backup & Replication, die erweiterte Funktionen anbieten. Beispielsweise können gesicherte Gäste in einer isolierten Umgebung ausgeführt werden, um ein Restore von bestimmten Dateien oder Objekten auszuführen, oder einfach nur die Backups auf Konsistenz überprüft. Sogar das direkte Starten einer gesicherten VM vom Backup ist möglich. Diese kann dann später im laufenden Betrieb wieder auf den ursprünglichen Storage migriert werden. Auch hier wird die RTO drastisch minimiert, da die VM sofort gestartet werden kann und nicht vor dem Start vom Backup zurückgespielt werden muss.

Gastbetriebssysteme

Entscheidend für die Servervirtualisierung kann, besonders bei heterogenen Umgebungen, auch die Unterstützung möglichst vieler oder aber auch spezieller Gastbetriebsbsysteme sein. Bei Microsoft und Citrix werden nur Windows und einige Linux-Distributionen unterstützt. VMware bietet hier, dank Vollvirtualisierung, wesentlich mehr an, derzeit über 400, darunter auch seltenere Betriebsysteme wie zum Beispiel Solaris, BSD oder Novell Netware. Es werden bei VMware vSphere sogar mehr Windows Betriebssysteme unterstützt, als bei der microsofteigenen Lösung Hyper-V. Hier sollte man sich im Vorfeld detailliert informieren, ob die eingesetzten Betriebssysteme nicht nur lauffähig, sondern auch vom Hersteller der Virtualisierungssoftware unterstützt werden, falls es zu Problemen kommen sollte.

Fazit

Virtualisieren können sie alle drei, die Entscheidung für eine bestimmte Virtualisierungslösung sollte nicht nur von den Features und dem Preis abhängen, es sollten auch die Skills der Administratoren, Usability, nötige Schulungen oder die Ausfallsicherheit auf Personalebene berücksichtigt werden. Da haben VMware und Microsoft derzeit deutliche Vorteile durch die weite Verbreitung. Wenn beispielsweise eine reine Windows Umgebung virtualisiert werden soll und die Administratoren hauptsächlich Skills in diesem Umfeld haben, sollte man Microsofts Hyper-V in die engere Auswahl nehmen.

Axel Denfeld, System Engineer, PROFI Engineering Systems AG

Diesen Artikel finden Sie auch in der it management Ausgabe 11-2012.

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.