Server-Virtualisierung auf dem Vormarsch

Multicore-Prozessoren und Direktunterstützung in der CPU verschaffen softwarebasierten Virtualisierungslösungen erheblichen Auftrieb.

Artikel erschienen in Swiss IT Magazine 2006/12

     

Mehrere Systemumgebungen auf ein und derselben Serverhardware: In der Mainframe-Welt ist dies seit Anbeginn gang und gäbe, meist unter Bezeichnungen wie «Partitionen» oder «virtuelle Maschinen». Aber Mainframes finden sich vornehmlich in Gross­unternehmen bestimmter Branchen wie Banken oder Airlines, trotz gegenläufiger Bemühungen von Herstellern wie IBM mit der kürzlichen Ankündigung der «Business Class»-Ausgabe der z9-Familie. Dort beherbergen die Mainframes in erster Linie die missionskritischen Hauptanwendungen.


Wozu Servervirtualisierung?

Sowohl bei den Abteilungsservern im Grosskonzern als auch im KMU kommt man jedoch immer mehr zur Erkenntnis, dass wenige starke Serversysteme erstens besser auszunutzen und zweitens einfacher zu verwalten sind als die unzähligen Server-PCs mit ein oder zwei Prozessoren, die sich im Lauf der Jahre angesammelt haben: Typischerweise erledigt jeder einzelne Server genau eine Aufgabe und ist die meiste Zeit höchstens zu einem Viertel seiner eigentlichen Leistungsfähigkeit ausgelastet.
Eine logische und technisch durchaus mögliche Abhilfe ist die Zusammenfassung mehrerer Serverdienste auf einer «grösseren Hardware» – aber darunter leidet die Zuverlässigkeit. Wenn eine Anwendung abstürzt, reisst sie damit oft auch andere Dienste mit. Serverkonsolidierung ruft nach einem Mechanismus, der die verschiedenen Anwendungen und Dienste sauber voneinander trennt (Containment) und gleichzeitig jeder Anwendung ihre komplett eigene Systemumgebung vorgaukelt (Virtualisierung), denn Betriebssysteme wie Windows, Linux und Unix gehen prinzipiell davon aus, dass ihnen die ganze Hardware exklusiv zur Verfügung steht.
Virtualisierungslösungen für den Servereinsatz lassen sich technisch auf verschiedene Arten realisieren und bringen mehrere Vorteile und Möglichkeiten:


• Bessere Ausnutzung der Ressourcen: Die höhere Anschaffungsinvestition für einen leistungsfähigeren Server wird durch die verbesserte Auslastung der Gesamt-Rechenkapazität meist mehr als egalisiert. Intel spricht von Konsolidierungsraten zwischen 20:1 bis 30:1 bei der Migration von Ein- und Zweiwegeservern auf Server mit 4 bis 16 Prozessoren. Um die nötigen Anfangsinvestitionen in einen High-end-Server zu entschärfen, bieten die Hardwarehersteller zudem teils Preismodelle wie Capacity-on-Demand an: Es wird zwar ein System mit viel CPU-Power installiert, der Kunde bezahlt aber nur die aktuelle genutzte Rechenleistung.


• Einfachere Administration, mehr Zuverlässigkeit: Management-Tools für verzweigte heterogene Serverlandschaften sind teuer, und die Verwaltung bleibt auch mit der besten Software oft ein Alptraum. Mit der Anzahl der physischen Server sinkt der Administrationsaufwand, dank Virtualisierung steigt die Fehleranfälligkeit mit der Konsolidierung nicht an.


• Flexible Einsatzszenarien: Die strenge Abschottung der virtuellen Umgebungen erlaubt den gleichzeitigen Betrieb von Produktions-, Test- und Entwicklungssystemen auf der gleichen Hardware. Einige Virtualisierungslösungen erlauben die unterbruchsfreie Migration eines laufenden Systems zwischen verschiedenen physischen Servern. Mit Snapshots und Templates lassen sich komplett konfigurierte Systemumgebungen sichern und zu beliebigen Zeitpunkten wieder in Betrieb nehmen – ideal für Testzwecke, bei der RZ-Migration und für die rasche Bereitstellung zusätzlicher Dienste.


• Migration von Legacy-Anwendungen: Per Virtualisierung lässt sich zum Beispiel eine ältere Windows-NT-Anwendung parallel zu aktuellen Applikationen auf der gleichen Serverhardware betreiben. Das funktioniert allerdings nur mit Hardware-Virtualisierungslösungen, die unterschiedliche Gast-Betriebssysteme zulassen.
Auf der anderen Seite sind der Virtualisierung physikalische Grenzen gesetzt. Der Virtualisierungsmechanismus benötigt selbst einiges an Rechenleistung. Für die virtuellen Gast-Systeme reduziert sich die verfügbare Leistung im Vergleich zum simplen, nicht virtualisierten Parallelbetrieb. Die Leistungseinbusse beträgt je nach Virtualisierungsmethode zwischen unter einem bis gegen 30 Prozent. Essentiell ist der im Server installierte Arbeitsspeicher – auch die beste Virtualisierungssoftware kann insgesamt nicht mehr RAM zur Verfügung stellen als wirklich installiert ist.






Hosted-Virtualisierung


Virtualisierung der Hardware

Die meisten aktuellen Lösungen virtualisieren auf Hardware-Level, indem sie jedem Gast-System einen kompletten virtuellen Server mit CPU, Hauptspeicher und den wichtigsten Peripheriegeräten vorgaukeln, obwohl die Hardware in Wirklichkeit nur einmal vorhanden ist.
Der Virtualisierungsmechanismus, meist Hypervisor oder Virtual Machine Monitor genannt, läuft dazu im privilegierten Kernel-Modus des Prozessors (auch «Ring 0» genannt) und muss die vorhandenen Ressourcen so aufteilen, dass die Gäste möglichst gleichberechtigt bedient werden und sich gegenseitig nicht stören.
Wichtig ist dies insbesondere für systemnahe Befehle, die vom Betriebssystem abgesetzt werden und kritische Ressourcen der Hardwareplattform steuern. Diese Instruktionen, auf der Intel-Plattform sind es 17, sind nur im Ring 0 zugänglich. Auf einem nicht virtualisierten Server ist dies kein Problem – das Betriebssystem läuft ja selbst im Ring 0 und kann somit privilegierte Befehle nutzen.





In einer virtualisierten Umgebung dagegen läuft nur der Hypervisor im Ring 0; die virtuellen Maschinen und damit die Gast-Betriebssysteme leben zwecks Containment im User-Modus («Ring 3»). Wenn ein Gast einen privilegierten Befehl absetzt, muss der Hypervisor diesen abfangen, ihn selbst an den Prozessor übergeben und die Resultate dem Gast-System zurückliefern. Diese Simulation braucht Zeit und ist hauptverantwortlich für die erwähnte Leistungseinbusse.
Ausserdem simulieren Hardware-Virtualisierungslösungen im allgemeinen nicht die gesamte Peripherie. Nicht alle Produkte stellen dem Gast USB-, serielle oder parallele Schnittstellen bereit, und meist werden maximal vier virtuelle Netzwerkkarten unterstützt. Support für virtuelle PCI-Karten ist noch seltener. Auch punkto Arbeitsspeicher gibt es Einschränkungen: Den Gästen stehen typischerweise zwischen 3 und 16 Gigabyte simuliert-physisches RAM zur Verfügung (nicht zu verwechseln mit dem virtuellen Arbeitsspeicher, den das Gast-Betriebssystem daraus selbst generiert). Für ihre eigene Funktion unterstützen alle Lösungen symmetrisches Multiprocessing mit maximal 16 oder 32 CPUs – je mehr Prozessoren im Server installiert sind, desto mehr virtuelle Umgebungen können bedient werden. Für die Gäste werden dagegen höchstens zwei oder vier virtuelle CPUs simuliert.





Bare-Metal-Virtualisierung


Drei Wege zur virtualisierten Hardware

Es gibt drei Varianten der Hardwarevirtualisierung. Im Fall der sogenannten «Bare-Metal»-Virtualisierung arbeitet die Virtualisierungslösung direkt auf der Serverhardware, stellt also gewissermassen eine eigene Betriebs­systemschicht bereit. Der einzige
in Europa relevante Vertreter der Kategorie ist der ESX Server der EMC-Tochter VMWare; daneben existiert noch eine vor allem in den USA bekannte High-end-Lösung namens Virtual Iron. Die Bare-Metal-Methode leidet aufgrund der direkten Einbindung der Hardware weniger am Problem der Leistungseinbusse, dafür laufen die Produkte nur auf bestimmten Hardwarekonfigurationen.





Bei der zweiten Variante, in unserer Tabelle «Hosted» genannt, wird auf dem Server zunächst ein gewöhnliches Betriebssystem wie Windows Server oder Linux installiert (das Host-System), auf dem die Virtualisierungssoftware aufsetzt. Neben dem kostenlosen VMWare Server, der vor kurzem den kommerziell gehandelten GSX Server von VMWare ersetzt hat, fällt auch das aktuelle Servervirtualisierungsprodukt von Microsoft in diese Kategorie. Der Microsoft Virtual Server 2005 R2 kann seit einigen Wochen ebenfalls gratis als Add-on zu Windows Server 2003 heruntergeladen werden – der Schritt ist als eine Reaktion auf VMWares Gratis-Strategie zu werten. Microsofts Lösung hinkt im Moment der Konkurrenz allerdings hintennach: Weder unterstützt Virtual Server 2005 virtuelles Multiprocessing im Gast, noch bietet er Support für die CPU-seitige Virtualisierungsunterstützung in den neuesten Intel- und AMD-Serverprozessoren – dies ist erst für das nächste Update irgendwann diesen Sommer vorgesehen. Für die Servervariante von Longhorn plant Microsoft dann einen völlig neuen, direkt ins Betriebssystem integrierten Hypervisor – Codename «Viridian».






Beide Varianten unterstützen den gleichzeitigen Betrieb unterschiedlicher Gast-Betriebssysteme; sogar Microsoft hat kürzlich offiziellen Support für den Betrieb virtueller Linux-Partitionen auf dem Virtual Server 2005 R2 angekündigt.
Die dritte Variante der Hardwarevirtualisierung nennt sich «Para»-Virtualisiserung und ist in reiner Form nur beim sehr leistungsfähigen, aber eher schwierig zu konfigurierenden Open-Source-Projekt Xen zu haben. Diese Lösung arbeitet zur Milderung des Performance-Einbusse-Problems mit speziell optimierten Gast-Betriebssystemen. Die bei der Simulation der Hardware anfallende Zusatzlast lässt sich so besser zwischen Host und Gast verteilen. Da diese Methode starke Eingriffe in den Kernel des Gast-Betriebssystems bedingt, muss dessen Quellcode offen zur Verfügung stehen. Als Gäste eignen sich somit nur Open-Source-Betriebssysteme wie Linux und BSD.


Virtualisierung auf OS-Ebene

Um verschiedenen Anwendungen eine jeweils separate Laufumgebung zur Verfügung zu stellen, muss nicht zwingend die ganze Hardware simuliert werden. Es genügt, wenn statt dessen das Betriebssystem virtualisiert wird: Das Host-Betriebssystem spiegelt jeder Gast-Umgebung ein komplettes eigenes Betriebssystem vor, obwohl auf dem Server in Wirklichkeit nur ein Kernel läuft, nämlich derjenige des Host-Betriebssystems. Der Virtualisierung auf Betriebssystemebene bedienen sich die mit der aktuellen Solaris-Version 10 eingeführten «Containers», aber auch kommerzielle Linux- und Windows-Produkte wie Virtuozzo von SWsoft sowie dessen Open-Source-Subset OpenVZ, das weniger bequeme Administrationstools bietet und nur für Linux erhältlich ist.





Aus dem Funktionsprinzip folgt zwingend, dass Host und Gast mit der gleichen Version des gleichen Betriebssystems arbeiten müssen; ein gemischter Betrieb unterschiedlicher Gast-Systeme ist hier nicht möglich. Auch die Trennung der virtuellen Umgebungen ist nicht völlig gewährleistet: Im seltenen Fall, wo eine virtuelle Umgebung eine Kernel Panic oder einen Bluescreen verursacht, stürzt das gesamte System ab, was der Grundidee der Virtualisierung ziemlich stark widerspricht.
Im Gegensatz zum Hypervisor der Hardwarevirtualisierung muss ein OS-Virtualisierer aber keine Hardwarekomponenten simulieren; die Leistungseinbusse ist entsprechend geringer. Ausserdem arbeitet die Methode hardwareunabhängig – sie funktioniert prinzipiell auf allen Servern, auf denen das Host-Betriebssystem läuft.
Je nach Umgebung spart die OS-Virtualisierung zudem Softwarekosten: Da der gleiche Systemkernel alle virtuellen Umgebungen bedient, braucht man nur eine einzige Lizenz für das Serverbetriebssystem. Der Hauptvertreter der Kategorie, Virtuozzo, wartet zudem mit günstigen Lizenzkosten auf und ist besonders bei Webhostern beliebt, die ihren Kunden «virtuelle dedizierte Server» anbieten. Das ist auch deshalb kein Wunder, weil Hersteller SWsoft auch für die bei Hostern ebenfalls verbreiteten Server-Adminstrationspanels Plesk und Confixx verantwortlich zeichnet.





9 Server-Virtualisierungslösungen


Virtualisierungstrend 1: Unterstützung durch die CPU

Sowohl Intel als auch AMD haben ihre neuesten Desktop- und Server-CPUs mit Features zur «hardwaregestützten Virtualisierung» ausgestattet. Bei Intel nennt sich die vormals unter dem Codenamen «Vanderpool» bekannte Technologie VT-x (für x86-CPUs) beziehungsweise VT-i (auf der Itanium-Plattform). Das AMD-Pendant heisst «Pacifica» oder offiziell Secure Virtual Machine (SVM). Beide Varianten sind nicht etwa als Ersatz für softwarebasierte Virtualisierungslösungen gedacht, sondern als Unterstützung. Um die Möglichkeiten von VT und SVM zu nutzen, muss die Virtualisierungssoftware angepasst werden, und zwar für jede Technologie separat.
Im Detail zwar nur schon wegen der verschiedenen Speicherarchitektur unterschiedlich implementiert (Intels Frontside-Bus versus AMDs Direct Connect), verfolgen Vanderpool und Pacifica ein gemeinsames Hauptkonzept: Zusätzlich zum Kernel- und Usermodus gibt es eine dritte Privilegierungsebene. Der Hypervisor läuft weiterhin im Kernel-, die virtuellen Maschinen und Gast-Betriebssysteme aber nicht im User-, sondern in einer Art virtuellem Kernelmodus. Die Gäste können so privilegierte Instruktionen absetzen, deren Ausführung nicht mehr vom Hypervisor simuliert werden muss, sondern direkt durch die CPU erfolgt. Die Gäste wissen aber selbst nicht, dass sie in diesem Modus laufen; der Aufruf des virtuellen Kernelmodus erfolgt ausschliesslich durch den Hypervisor. Er behält die Oberaufsicht über das Geschehen. Weitere Features der prozessorgestützten Virtualisierung betreffen schnelleres Context Switching zwischen dem Hypervisor und den Gästen sowie bessere Abschottung der Speicherbereiche.


Virtualisierungstrend 2: Infrastruktur und Administration

Die Virtualisierung einzelner Server ist gut und schön, noch mehr bringt die einheitliche Sicht auf die gesamte IT-Infrastruktur. Dies meint jedenfalls VMWare und kündigt Anfang Juni die Komplettlösung «Virtual Infrastructure 3» an, die neben dem Kernprodukt ESX Server die Verwaltungsapplikation Virtual Center enthält, mit der sich sämtliche virtualisierten Server zentral administrieren lassen. Dazu kommen das verteilte Dateisystem VMFS, die Hochverfügbarkeitskomponenten HA und DRS für automatischen Restart virtueller Maschinen und dynamisches Load-Balancing sowie ein Tool für konsolidierte Backups.
Ähnlich ambitiöse Pläne hegt Microsoft mit dem für die zweite Hälfte 2007 geplanten Virtual-Machine-Manager «Carmine».
Die übrigen Virtualisierungsprodukte bieten unterschiedlichen Administrationskomfort. Besonders die von der Technik her durchaus leistungsfähigen Open-Source-­Lösungen verzichten oft ganz auf grafische Verwaltungstools und lassen sich nur über die Kommandozeile konfigurieren. Die kommerziellen Lösungen wie der VMWare Server und SWSofts Virtuozzo bieten dagegen Web-basierte Administration oder spezielle GUI-Anwendungen.


Virtualisierungstrend 3: Offene VM-Dateiformate

Ein Vorteil der Servervirtualisierung ist die Möglichkeit, ganze Systemumgebungen als Image zu sichern und später oder auf einem anderen physischen Server «wiederzubeleben». Zur Speicherung der virtuellen Maschinen nutzte bisher jeder Hersteller sein ureigenes Format, dessen Innereien als Firmengeheimnis galten.
Images virtueller Maschinen lassen sich deshalb zwischen verschiedenen Virtualisierungslösungen nicht übertragen. Das könnte sich
in Zukunft ändern: Microsoft hat
sein Virtual Hard Disk File Format ans Open-Source-Projekt Xen lizenziert. VMWare ging in der Folge noch einen Schritt weiter und stellt allen Interessenten die Spezifikation des hauseigenen Virtual-Disk-Format auf Anfrage kostenlos zur Verfügung.

(ubi)


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