Die richtigen Tools zur Steigerung der Server-Effizienz
von Sean Chandler
Es wundert mich nicht besonders, dass sich der überwiegende Teil der Diskussionen über Virtualisierung auf die x86 Server-Virtualisierung konzentriert, da über 90 Prozent der heute verkauften Server mit x86 Technologie bestückt sind. Unglücklicherweise unterstützen aber die bedeutendsten x86 Betriebssysteme (z. B. Windows und Linux) mehrere parallel laufende Anwendungen nur äußerst unzureichend. Daraus resultiert, dass wir in den Rechenzentren heute Tausende von Servern finden, die mit extrem geringen Auslastungsraten betrieben werden.
über den Autor
Sean Chandler (sean.r.chandler äät gmail.com) ist Computer- und Netzwerk-Consultant mit über 30 Jahren an Feld-Erfahrung.
Virtualisierung adressiert das Problem geringer Auslastung. Der Einsatz von Virtualisierung zur Steigerung der x86 Server-Effizienz ist jedoch bestenfalls vergleichbar mit dem Einsatz eines Vorschlaghammers zum Anbringen eines Ziernagels – ein wahrhaft grobes Werkzeug zur Lösung eines filigranen Problems. Andere Systeme verfügen über eine größere Zahl von Werkzeugen in ihrer Virtualisierungs-Werkzeugkiste. Mit diesem Gedanken im Hinterkopf wollen wir uns die vorhandenen Tools zur Steigerung der Server-Effizienz sowohl für x-86 als auch für Power Server ansehen.
Die x86 Perspektive
Ich beschäftige mich mit x86 Servern, seit sie auf dem Markt sind. Man kann eine ganze Reihe netter Dinge über diese Server sagen: Sie bieten ein exzellentes Preis/Performance-Verhältnis, sie sind – sogar über unterschiedliche Anbieter hinweg – ziemlich standardisiert, sie bieten vernünftige Standards bezüglich Zuverlässigkeit, Verfügbarkeit und Verwaltbarkeit. Sie sind aber leider nicht besonders effizient. Effizienz ist ein Problem, mit dem x86 Server seit nunmehr fast zwanzig Jahren zu kämpfen haben. Vereinfacht ausgedrückt ist es extrem schwierig, x86 Server in einem Bereich von 60 bis 80 Prozent Ressourcenauslastung zu betreiben, einem Bereich, den wohl die meisten IT Spezialisten als operationale Effizienz bezeichnen würden.
Warum ist aber diese Effizienz bei x86 Servern so schwierig zu erzielen? Im Grunde sind es zwei Einflussfaktoren, die zu diesem Problem beitragen. Der erste ist der unerbittliche Fortschritt der Prozessor-Performance. Die Lebensdauer eines x86 Prozessors im Markt beträgt grob geschätzt 18 Monate, bevor er durch ein leistungsfähigeres Modell ersetzt wird (entweder mit höherer Taktrate oder mehreren Prozessoren). Daher steigt naturgemäß mit dem Ersatz älterer Server zuerst einmal die Leistungsfähigkeit.Wenn x86 Server nun aber dank der Lebenszyklen der Prozessoren etwa alle 18 Monate höhere Leistung bieten, wäre es nicht großartig, wenn wir diese auch nutzen könnten? Unglücklicherweise ist die Wahrscheinlichkeit recht hoch, dass die Anforderungen der Endbenutzer-Anwendungen immer häufiger nicht in gleichem Maße ansteigen wie die gebotene neue Leistung. Daraus folgt logischerweise das Bestreben, die zusätzlich vorhandene Performance durch den Betrieb mehrerer Anwendungen auf dem gleichen physischen Server zu nutzen.
Dieser Ansatz bringt uns zu dem zweiten Einflussfaktor – der Unterstützung für mehrere parallel laufende Anwendungen (eine Mixed WorkloadUnterstützung). 95 % der heute ausgelieferten x86 Server werden mit Windows oder Linux betrieben (ca. 80 % Windows und 15 % Linux). Unglücklicherweise ist keines dieser beiden Betriebssysteme in der Lage, mehrere parallel laufende Anwendungen effizient zu unterstützen – es fehlen einfach die adäquaten Steuerungsmechanismen, um Ressourcen für mehrere Anwendungen zu isolieren. Mir ist zwar bekannt, dass Windows und Linux über Workload Manager verfügen, die für sich in Anspruch nehmen, mehrere Anwendungen unterstützen zu können. Diese Lösungen erweisen sich aber als ineffektiv, da sie nur eine Basis-Isolation von Prozessor- und Speicherressourcen bieten. Ihnen fehlt die technische Raffinesse, einerseits die Server-Effizienz zu steigern, ohne dabei andererseits Konkurrenzsituationen zwischen gleichzeitig laufenden Anwendungen bezüglich der Ressourcen zu riskieren. Sie erweisen sich in dieser Hinsicht schlicht als unzulänglich.
Die Betriebssystemunterstützung für mehrere gleichzeitig laufende Anwendungen ist der „Tischlerhammer“ in der Werkzeugkiste, der sich zum Einschlagen von Ziernägeln eignet. Dieses Werkzeug fehlt jedoch in der x86 Werkzeugkiste und damit landen wir wieder bei unserem (Virtualsierungs-) „Vorschlaghammer“.
Die in der Praxis hauptsächlich eingesetzte Form der x86 Virtualisierung ist die Hypervisor Virtualisierung. Diese Form der Virtualisierung unterstützt mehrere parallel ablaufende Anwendungen, indem die Unterstützung für mehrere gleichzeitig betriebene Betriebssysteminstanzen bereitgestellt wird, in denen jeweils eine Anwendung läuft. Die Virtualisierungsebene ist hierbei in der Lage, eine Form von Ressourcen-Isolation aller Hardware-Ressourcen (Speicher, Prozessor und I/O) zu bieten, die konkurrierende Ressourcen-Zugriffe zwischen den einzelnen Betriebssystem-Instanzen zwar minimiert, jedoch nicht unterbindet.
Mit der x86 Virtualisierung lässt sich eine Server-Effizienz zwischen 60 und 80 % erreichen. Gesteigerte Effizienz bedeutet letztlich, dass nur eine geringere Anzahl von Servern benötigt wird. Die Virtualisierung selbst bietet zusätzliche operationale Vorteile, wie z. B. geringere Entwicklungszeiten oder die Möglichkeit, Workloads zu verlagern. Dennoch bleibt die x86 Virtualisierung eine Lösung mit dem Vorschlaghammer. Würden Windows und Linux mehrere gleichzeitig ablaufende Anwendungen besser unterstützen, wäre der „Mega-Trend“ der x86 Virtualisierung vermutlich niemals entstanden.
Die Power Perspektive
Ich bin nicht unbedingt ein großer Fan von Power Servern, denn letztlich handelt es sich dabei um proprietäre Hardware-Lösungen, die proprietäre Betriebssysteme erfordern – und ich bevorzuge eigentlich eher die Möglichkeit, frei zu wählen. Betrachtet man aber die Unterstützung parallel laufender Anwendungen, finden wir bei den Power Servern eine ausgefeilte Unterstützung, die von x86 Lösungen nicht annähernd erreicht wird. Schaut man in die Werkzeugkiste der Power Server, so sind dort alle Arten von „Hämmern“ vorhanden, die man sich vorstellen kann.
So verfügen sowohl AIX als auch IBM i über langzeiterprobte Lösungen für den Betrieb mehrerer im gleichen Betriebssystem parallel ablaufender Anwendungen. AIX unterstützt diese Fähigkeit durch den Workload Manager (WLM), IBM i üblicherweise durch Subsysteme. (Ich persönlich bevorzuge den Subsystem-Ansatz, das aber ist sicherlich ein eigenes Thema.) Weder WLM noch Subsysteme sind perfekte Lösungen, aber sie bieten ausreichende Ressource-Isolation und Verwaltung konkurrierender Zugriffe, um die Server-Effizienz beim gleichzeitigen Betrieb mehrerer Anwendungen zu steigern. Noch entscheidender ist, wenn man WLM oder Subsysteme mit dem x86 Workload Management vergleicht, dass … nun gut – es wäre ein unfairer Vergleich.
Wenn aber die Unterstützung für parallel laufende Anwendungen auf Power Servern so gut ist, warum benötigen wir dann für diese Systeme ebenfalls Virtualisierung? Die Antwort ist einfach: Für eine Reihe von Szenarien ist keine MLW- und keine Subsystem-Unterstützung vorhanden. Dazu gehören:
- der Betrieb mehrerer Versionen des Betriebssystems (oder unterschiedlicher Betriebssysteme) auf einem Server. Die hier am häufigsten vorkommende Form ist der parallele Betrieb mehrerer Anwendungen, die jeweils unterschiedliche Betriebssystemversionen benötigen.
- der Betrieb von Entwicklungs- oder Testanwendungen auf demselben physischen Server, auf dem sich auch die Produktionsversion befindet. Diese Konstellation ist bestenfalls als problematisch zu bezeichnen und daher wünschen viele Benutzer eine größtmögliche Trennung zwischen diesen Umgebungen. (In der System i Umgebung werden in solchen Fällen traditionell Subsysteme eingesetzt, MLW bietet keine vergleichbare Isolationsebene.)
- die Trennung von Anwendungsumgebungen z. B. wegen gesetzlicher Regelungen oder anderer Bestimmungen. Hier wird oft gefordert, dass Schlüsselanwendungen und zugehörige Datenbestände strikt getrennt von anderen Anwendungen zu halten sind.
Die Virtualisierungstechnik, die diese Szenarien in der Power Server-Welt abdeckt, ist LPAR (logical partitioning– siehe auch „Arten der Server-Virtualisierung“).
Power Packaging
Die LPAR Technologie ist die Grundlage der Power Server-Virtualisierung. Erweitert um zusätzliche Technologien wird daraus letztlich „PowerVM“, die von IBM gewählte Bezeichnung für die Virtualisierungsfähigkeiten der Power Server. Genau genommen beinhaltet PowerVM ein Zusammenwirken der nachfolgend aufgeführten Technologien:
LPARs ermöglichen den Betrieb mehrerer Betriebssysteminstanzen auf demselben physischen Server.
IVM (Integrated Virtualization Manager) und HMC (Hardware Management Console) erlauben die Verwaltung der Virtualisierungsumgebung über eine Browser-basierte Schnittstelle (IVM) oder eine Hardware-basierte Konsolen-Schnittstelle (HMC)
Virtual I/O Server wird in einer dedizierten Partition ausgeführt und wickelt die I/O Anforderungen der LPARs ab. Dieser virtuelle Server ist für das Verteilen von Bandbreiten (und I/O Prioritäten) zwischen den LPARs zuständig.
Lx86 bietet eine Emulationsebene innerhalb einer logischen Partition, um darin x86 Linux Software ausführen zu können. IBM hat diese Technologie von Transitive Corporationunter Lizenz genommen. Die Emulationsebene emuliert sowohl x86 Instruktionen als auch Linux APIs.
Shared Dedicated Capacity befähigt logische Partitionen, aktuell nicht benötigte Prozessor-Zyklen anderen logischen Partitionen zur Verfügung zu stellen, um der Anforderung an variable Workload-Verteilung gerecht zu werden.
Multiple Shared Processor Pools ermöglicht logischen Partitionen die gemeinsame Nutzung von Prozessor-Pools. Dieses Feature erlaubt überdies die Verwaltung der in Pools zusammengefassten Prozessoren.
Live Partition Mobility ist in etwa vergleichbar mit VMware’s VMotionin x86 Servern. Es erlaubt die Migration laufender AIX oder Linux Partitionen von einem Server auf einen anderen.
PowerVM ist in mehreren „Editionen“ verfügbar, wobei jede unterschiedliche Technologiekomponenten umfasst. Die Express-Edition ist die Basisversion, die nur drei logische Partitionen pro Server unterstützt und die Funktionen Multiple Shared Processor Poolssowie Live Partition Mobilitynicht enthält. Die Standard- und Enterprise Editionen unterstützen eine größere Anzahl von Partitionen sowie diese beiden zusätzlichen Funktionen.
Der Sieger ist …
Virtualisierung ist nun seit geraumer Zeit ein Top-Thema für die erste Seite von IT-Publikationen und ich hoffe, dieses Thema wird bald etwas verblassen. Ich wage vorherzusagen, dass gegen Ende des Jahres 2009 neue Themen diese Rolle einnehmen und das Thema Virtualisierung eher auf „Seite 3“ verdrängen werden.
In der Zwischenzeit aber wird Virtualisierung weiter ein heiß diskutiertes Thema bleiben. Ich habe viele eins-zu-eins Vergleiche zwischen x86 und Power Virtualisierung gesehen, aber letztlich ist ein detaillierter Vergleich Zeitverschwendung. Kaum jemand wird sich entscheiden, eine Anwendung auf x86- oder Power-Basis nur allein wegen der Virtualisierungsfähigkeiten der speziellen Plattform zu implementieren. Daher denke ich, dass eher die folgenden Argumente die Entscheidung beeinflussen werden:
- Power Server verfügen über bessere Tools zum Workload Management, die auch ohne Virtualisierung eine Steigerung der Server-Effizienz erlauben.
- PowerVM Fähigkeiten sind derzeit den x86 Virtualisierungsfähigkeiten deutlich überlegen, aber diese Überlegenheit allein ist normalerweise keine ausreichende Begründung für die Implementierung von Power Servern anstelle von x86 Servern, weil …
- letztlich die Anwendung der entscheidende Faktor ist. Die Anwendung, nicht die Virtualisierung treibt die Server-Entscheidung.
Die wahren Gewinner in dem „Virtualisierungskrieg“ zwischen x86 und Power Servern sind in Wahrheit Sie! Eine gesteigerte Unterstützung für mehrere gleichzeitig laufende Anwendungen und ein erhöhter Fokus darauf, eine bessere Effizienz sowohl aus x86 als auch aus Power Servern zu erzielen, führt letztendlich zu einem besseren Leben für gequälte IT Spezialisten. Und die Verfügbarkeit einer größeren Anzahl von Werkzeugen in der Werkzeugkiste ist immer eine gut Sache.
![Künstler Burgy Zapp [http://burgyzapp.de]](http://newsolutions.de/it/wp-content/uploads//ma0_111-1119_IMG.jpg)


