Vier Modelle

Virtualisierung bringt dynamische Prozesse

29.01.2009 von Johann Baumeister
Die Virtualisierung hat sich einen festen Platz in den IT-Szenarien erobert. Sie wird von Anwendern und Anbieter gleichermaßen geschätzt und vorangetrieben. Für die kommenden Jahre erwarten daher die Marktauguren ein beständiges und starkes Wachstum. Doch die Techniken der Virtualisierung sind so unterschiedlich wie ihre Einsatzgebiete. Im Allgemeinen unterscheidet man heute die vier unten genannten Modelle der Virtualisierung:

Allen Arten der Virtualisierung gemeinsam ist die Tatsache, dass durch eine Emulationsschicht eine IT-Komponente, die real nicht existiert, virtuell nachgebildet wird. Trotz der heute bekannten vier Varianten der Virtualisierung beziehen viele Anwender den Begriff meist allein auf die Servervirtualisierung. Dies soll auch in den folgenden Erläuterungen gelten.

Konsolidierung durch Virtualisierung

Der ursprüngliche Zweck der Servervirtualisierung diente vor allem der Konsolidierung der Rechner. Dabei werden mehrere Server zu einem zusammengefasst. Dies passiert durch die virtuelle Nachbildung eines Servers durch eine Emulationsschicht. Hierbei lassen sich mehrere ehemals physisch eigenständige Server in ein einziges System zusammenfassen. Der Vorteil des Verfahrens ist eindeutig: Es wird Hardware gespart. Wie viele der Rechner sich so zusammenfassen lassen, hängt im Wesentlichen von zwei Faktoren ab: der Leistungsfähigkeit der verwendeten Hardware die zum Träger aller virtuellen Maschinen wird und dem Lastbedarf der darauf eingerichteten virtualisierten Server.

Ist beispielsweise die Auslastung eines physischen Servers vor der Virtualisierung lediglich zehn Prozent, so können, in einem vereinfachten Modell, zehn dieser Rechner parallel betrieben werden. Davon abzuziehen wäre aber korrekterweise der Verwaltungs-Overhead des Virtualisierers, so dass die tatsächliche Leistung kleiner als der Faktor zehn sein wird. Dies ist allerdings ein stark vereinfachtes Modell. Es geht von der Annahme aus, dass die abgeforderte Leistung gleichbleibend ist oder sich die Leistungsspitzen der zehn virtualisierten Server gegenseitig aufheben. Wenn die virtuellen Geräte allerdings nahezu zum gleichen Zeitpunkt Leitungsspitzen von beispielsweise 30 Prozent aufweisen, so können eben zu diesem Zeitpunkt nur drei Geräte parallel betrieben werden oder es treten Engpässe auf. Hinzu kommt, dass in vielen dieser Modelle meist nur von der CPU-Auslastung gesprochen wird. Der Arbeitsspeicher, die Anbindung an das Netzwerk oder die Speichersysteme werden häufig nicht explizit erwähnt. Diese sind für den Durchsatz aber ebenso entscheidend. Wenn nun, wie im Beispiel gewählt, die zehn virtualisierten Server über eine zu geringe Netzwerkbandbreite verfügen, so nützen freie CPU-Zyklen wenig, denn die Applikationen werden dann durch das Netzwerk ausgebremst. Gleiches gilt für die Anbindung an die Massenspeicher oder den Arbeitsspeicher. Aus diesem Grund müssen Server, die als Arbeitspferde (Host) für die Virtualisierung herangezogen werden immer ein ausgewogenes Verhältnis aller Rechnerressourcen, also der CPU, des Arbeitsspeicher, der Netzwerkanbindung und der Speicheranbindung aufweisen.

Einen bestehenden Server, der bis dato nur zu zehn Prozent ausgelastet ist, kurzerhand in einen Host für die Virtualisierung zu machen, wird folglich kaum die gewünschten Ergebnisse liefern. Dies bedeutet aber, dass bei der Virtualisierung von Systemen meist ohnehin neue Geräte zu beschaffen sind. Auch dieser Aspekt fällt mitunter unter den Tisch.

Servervirtualisierung heute = Parallelbetrieb der Server in einer Box

Der Parallelbetrieb mehrerer Serversysteme in einer einzigen Hardware weist gegenüber dem traditionellen Modell, bei dem jedes Serverbetriebssystem seine eigene Hardware hatte, Vorteile auf. Es spart Platz, Energie und Verkabelung. Die Virtualisierungskonzepte der ersten Generation packen hierzu mehrere Systeme parallel auf eine Box. Das ist sicher sinnvoll, kann aber immer nur der erste Schritt sein. Damit ist das Problem des wechselnden Ressourcenbedarfs für die CPU, den Arbeitsspeicher oder das Netzwerk aber noch nicht gelöst. Daneben stehen noch eine ganze Reihe weiterer Möglichkeiten, die sich durch die Virtualisierung ergeben und die bis dato kaum genutzt werden. Obgleich die Auslastung der verwendeten Hardware durch den Parallelbetrieb zweifelsfrei ansteigt, ein Optimum erreicht sie nicht. Was aber ist das Optimum? Das Optimum ist dann erreicht, wenn die bereitgestellte Rechnerleistung deckungsgleich mit der abgeforderten Last der Benutzer und Geschäftprozesse ist. Da die Last allerdings ständigen Schwankungen unterworfen ist, muss sich die bereitgestellte Leistung ebenso anpassen. Am deutlichsten ist das in den oftmals erwähnten Nachtstunden oder am Wochenende. Wenn die Benutzer nicht anwesend sind, so werden sie kaum IT-Dienste benötigen und abfordern.

Herausforderungen der Virtualisierung durch Laständerungen

Bei Applikationen mit stark schwankenden Lastanforderungen führt der Parallelbetrieb der Applikationen durch Virtualisierung auf einer Hardware zwar zu einer besseren, aber kaum optimalen Auslastung. Hinzu kommt, dass wohl der Großteil der Applikationen nichtlineare Lastprofile aufweisen. Im Windows-Umfeld beispielsweise sind die Anmeldeserver und Mailserver vor allem bei Arbeitsbeginn besonders belastet. Tagsüber wenn die Benutzer anwesend sind und Emails empfangen oder erstellen, ist dessen Auslastung sicherlich hoch. Ist das Mailsystem aber deswegen nachts gänzlich schlafen zu legen? Sicherlich nicht! Um ihre Anwendungssysteme zu optimieren, nutzen sie bereits heute diese schwankenden Lastanforderungen. Für Mailsysteme bedeutet dies beispielsweise, dass sie nachts durch Malwarescanner die Postfächer und Emails der Benutzer nach Angriffen durchforsten. Eine einfache Zeitsteuerung der Prozesse, also sie nachts abzuschalten und tagsüber zu aktivieren, ist daher nur die halbe Wahrheit. Ein Einschätzung für Webserver zu geben ist auch kaum machbar, da die Nutzer hierbei ja von außerhalb kommen. Aber auch die zentralen Unternehmensanwendungen wie ERP, CRM oder Warenwirtschaft weisen schwankende Lastanforderungen auf. Dabei ist die Situation von oszillierenden Anforderungen keineswegs ein neues Phänomen. In den Urzeiten der Datenverarbeitung schuf man, um dem zu begegnen, die Batchverarbeitung. Leistungsintensive Anwendungen wie Rechnungsläufe, Buchungen oder umfangreiche Auswertungen wurde dabei in die nächtlichen Batchjobs gelegt. Die heute meist eingesetzten Virtualisierungstechniken vermögen zwar die Auslastung zu erhöhen, sie können aber nur unzureichend mit unterschiedlichen Lastprofilen umgehen. Ein weiterer Aspekt, den es zu beachten gilt betrifft die Ausfallsicherheit. Durch die Zusammenführung mehrerer Serversysteme auf einen leistungsstarken Rechner wird dieser zum Single-Point-of-Failure. Vorkehrungen zur Ausfallsicherheit und Hochverfügbarkeit werden damit zu einer zwingenden Anforderung.

Virtualisierung 2.0 - abgestimmt auf höchste Flexibilität

Die virtuellen Systeme der Zukunft müssen also viel stärker auf die unterschiedlichen Lastanforderungen reagieren. Gleichzeitig müssen sie aber auch sicher sein und gegen Ausfälle abgesichert werden, denn durch die Zusammenfassung mehrerer Systeme in einer Box werden die Auswirkungen bei Ausfällen weitaus gravierender.

HP begegnet diesen neuen Anforderungen in seiner High-End Server Baureihe Integrity. Diese Systeme sind auf die kommenden Anforderungen der Virtualisierung getrimmt. Dazu ermöglichen diese Rechner eine optimale Abstimmung der geforderten Rechenleistung mit den bereitgestellten IT-Kapazitäten. Dies wird durch die Anpassung und wahlfreie Kombination der Rechenleistung, der CPUs und des Speichers erreicht. Diese Rechnerressourcen werden dann den Betriebssystemen mitsamt deren Applikationsdiensten zur Verfügung gestellt. Wenn notwendig, lassen sich beispielsweise weitere CPUs oder Speicher zu einem Applikationspool hinzunehmen oder, wenn der Bedarf wieder entfällt, auch entfernen. Dies geht weit über den derzeitigen Parallelbetrieb von Servern in einer Box hinaus. HP ermöglicht in seiner Serverreihe eine granulare Zuweisung der IT-Ressourcen an die fordernden Geschäftsprozesse. Die Rechner bestehen aus frei konfigurierbaren Cellboards. Jedes dieser Cellboards umfasst alle gängigen Rechnerkomponenten wie etwa Mehrwege-CPUs, den Arbeitsspeicher oder die IO-Anschlüsse. Als Prozessor kommt der Intel Itanium zum Einsatz. Diese Hochleistungs-CPU basiert auf einem 64 Bit-Kern und weist bereits die Erweiterungen zur Virtualisierung (Intel-VT) auf. Die in den Microcode gegossenen Virtualisierungsfunktionen sind damit auch immun gegen Angriffe auf die Virtualisierungsfunktionen.
Die Cellboards können mit den Bladesystemen der Standardrechner verglichen werden. Cellboards und Bladesysteme stellen beide einen abgeschlossenen Rechner dar, der eigenständig aktiviert und einer Applikation zugewiesen werden kann. Zum Betrieb dieser Rechner müssen sie lediglich mit Strom, Kühlung und den Kommunikationsanschlüssen versorgt werden. Dies passiert durch das Enclosure, dem Gehäuse, in das die Cellboards gepackt werden. Ein vollständiges Integrity-Rechnersystem setzt sich immer aus mehreren unabhängigen Cellboards und den weiteren Rechnerbaugruppen zusammen.

Die Server der Integrity-Reihe unterstützen die Virtualisierung von IT-Diensten in mehreren Facetten.
Die vier Modelle zur Partitionierung der Rechenleistung sind nPar, vPar, HP Integrity Virtual Machines und HP Secure Resource Partitions. Diese vier unterschiedlichen Modelle der Partitionierung und Virtualisierung lassen sich beliebig kombinieren und damit eine feine Abstufung der Rechenleistung erzielen. Damit erlauben sie eine optimale Abstimmung der zur Verfügung gestellten IT-Ressourcen an die Geschäftsprozesse.

nPar – Clusterbildung für Höchstleistung

Im nPar-Betrieb erfolgt die Zusammenfasssung mehrerer physikalischer Rechnerressourcen in ein logisches System. Dabei werden Servercluster aus mehreren Rechenknoten gebildet. Die Zusammenfassung der einzelnen Ressourcen kann auch über Cellboard-Grenzen hinweg erfolgen. Damit ergeben sich Rechnerknoten mit höchster Leistung. Die parallel betriebenen Knoten werden dabei durch Hardware-Isolation elektrisch getrennt und weisen keine Verbindung auf. Dies prädestiniert sie auch für den Einsatz in Szenarien, bei denen Applikationen völlig getrennt laufen müssen und keinerlei Interaktionen haben dürfen. Die Zuweisung der Hardware Partitions mit CPU und Speicher an das Betriebssystem und die Applikation erfolgt dynamisch. Unter dem Betriebssystem HP-UX sind diese Anpassungen der bereitgestellten Rechenleistung sogar im laufenden Betrieb, ohne Reboot, durchführbar. Dies ermöglicht die Zuweisung von weiteren IT-Ressourcen an die Applikation, je nach geforderter Last. Die Betriebssysteme Windows und Linux unterstützen derzeit keine Änderungen an der Konfiguration von CPU oder dem Speicher zur Laufzeit. Für diese Systeme müssen CPU und Speicher bereits beim Booten fest stehen. Dennoch lassen sich mit nPar auch Windows und Linux dynamischer gestalten. Sie erfordern lediglich einen Neustart des Systems.

vPar – virtuelle Partitionen für dynamische Systeme

Im Betriebsmodell vPar werden virtuelle Partitionen gebildet. Diese bestehen aus einer beliebigen Anzahl an CPUs und Arbeitsspeicher. Die Granularität dieser Zuweisung ist dabei immer ein CPU-Kern und dessen zugeordneter Arbeitsspeicher. Durch vPars lassen sich damit, ähnlich wie bei nPars, beliebige Rechnerkapazitäten alleine durch die Konfigurationsänderung des Gesamtsystems zusammenstellen. vPars können, ebenso wie nPars, im laufenden Betrieb geändert und angepasst werden. Dabei ist kein Reboot des Gastsystems, dem die Rechenleistung zugewiesen wird, notwendig. Als Betriebssystem und Applikationsplattform kommt HP-UX zum Einsatz.

HP Integrity Virtual Machines mit Hypervisor für beliebige Gäste

Das Modell HP Integrity VM verwendet für die Leistungsverteilung an die Applikationen einen Hypervisor. Diese setzt direkt auf der Hardware auf und steuert die Zuweisung der Ressourcen an die Zielsysteme. Diese Technik wird in einer ähnlichen Weise heute auch bei den gängigen Hypervisor angewandt. Durch die HP Integrity VM wird somit eine CPU auf mehrere Applikationen verteilt. Dies erlaubt eine sehr feine Granularität der Rechenleistung. Auf diesem Hypervisor laufen dann die virtuellen Maschinen der Zielbetriebssysteme mitsamt den Applikationen. Diese virtuellen Maschinen lassen sich dynamisch Erzeugen, Ändern und Stoppen. Die virtuellen Maschinen wiederum dienen als Ausführumgebung für die Gastsysteme. Hierbei kommen alle gängigen Betriebssysteme und Applikationen in Frage, wie etwa Windows, HP-UX und Linux.

HP Secure Resource Partitions für schlanke Gäste mit geringen Ressourcenverbrauch

Das Virtualisierungsmodell der HP Secure Resource Partitions basiert auf einem gemeinsam Basissystem, das sich alle Gäste teilen. Bei diesem Basissystem handelt es sich um HP-UX. Diese steht allen Gästen gemeinsam zur Verfügung. Die virtuellen Maschinen werden durch Container auf der Unix-Prozessebene abgebildet. Durch den Rückgriff auf das gemeinsame Betriebssystem sind die Gastsystem sehr schlank und flexibel. Dies führt zu geringstem Ressourcenbedarf und einer beschleunigten Abarbeitung der Anwendungsprozesse.

Fazit

Die vier Varianten der Ressourcenzuweisung, wie HP sie in seiner Integrity-Reihe bietet, erlauben eine leistungsbezogene Zuweisung der Rechnerressourcen an den geschäftlichen Nutzen. Die Spanne reicht dabei von der Aufteilung einer CPU auf mehrere Betriebssystem und Applikationen wie es bei HP Integrity Virtual Machines der Fall ist, bis hin zur Zusammenfasssung mehrerer CPUs oder Cellboards für eine Applikation. Diese ermöglicht eine weitaus flexiblere Zuweisung der Ressourcen und geht weit über die heutigen Konzepte der Virtualisierung hinaus. Dabei gilt natürlich, dass all diese Konzepte auch von den Betriebssystemen und den Applikationen unterstützt sein muss. Um auch die Sicherheit und Hochverfügbarkeit der Anwendungssysteme zu gewährleisten sind passende Verwaltungswerkzeuge notwendig. Diese gehören zum Umfang des HP Virtual Server Environment (VSE).