14.01.2008, 08:37 Uhr
Transparenz schaffen in virtuellen Umgebungen
Die Server-Virtualisierung verspricht eine effizientere Nutzung der Hardware, bedingt aber hohe Transparenz von Kapazitätsbedarf und Ressourcenverbrauch. Monitoring-Tools sorgen für den nötigen Durchblick.
Werner Lippert ist Managing Partner bei der Zürcher In&Work.
Trotz steigender CPU-Leistungen wächst die Anzahl Server in den Rechenzentren, so dass diese förmlich aus den Nähten platzen. Dabei fehlt in der Regel aber ein Monitoring der vorhandenen Kapazitäten und Ressourcen. Entstanden sind dabei zum Teil abstruse Verhältnisse: Während Stellfläche, Stromversorgung und Kühlung vielfach schon heute nicht mehr ausreichen, dümpeln vielerorts Server vor sich hin, weil die in ihnen schlummernde Leistung nur selten abgerufen wird. Solche Rechenzentren sind einerseits teuer, weil die beschafften Infrastruktur-Komponenten nicht effizient ausgelastet sind, und anderseits wachstumsfeindlich, weil Business-Prozesse nicht unterstützt werden.
Die Server-Virtualisierung verspricht hier Abhilfe, indem Hardware-Ressourcen effizienter genutzt werden. Allerdings ergeben sich mit Einführung einer virtuellen Infrastruktur auch zwei Problembereiche: Das Capacity- und das Performance-Management. Es muss geklärt werden, wie viele Applikationen respektive Server überhaupt auf ein System mit virtuellen Maschinen migriert beziehungsweise konsolidiert werden können. Und es muss klar sein, wie sich die verschiedenen Applikationen auf einem virtualisierten System die vorhandenen Ressourcen teilen. Somit müssen der aktuelle Kapazitätsbedarf und Ressourcenverbrauch der Applikationen mit Virtualisierungspotenzial und der erwartete Ressourcenverbrauch auf dem virtualisierten System definiert sein, bevor es an die Migration der vorhandenen Applikationen geht.
Darüber hinaus wird mit den neuen Möglichkeiten einer virtualisierten Umgebung die Frage nach der Transparenz des Ressourcenverbrauchs im Betrieb wesentlich. Denn durch den zusätzlichen Software Layer - eben die Virtualisierung - steigt die Komplexität. Überdies steht eine Ressource nicht mehr exklusiv für einen Anwender zur Verfügung. Das Management einer virtuellen Infrastruktur ist daher sehr anspruchsvoll.
Monitoring als Ausweg
Treten im laufenden Betrieb einer virtualisierten Umgebung Performanceprobleme auf, ist nicht mehr unmittelbar klar, welche Applikation die Probleme verursacht und welche Anwendungen betroffen sind. Die nötige Transparenz kann nur mit Hilfe eines Capacity- und Performance-Monitoring geschaffen werden.
Dieses bietet eine Gesamtsicht des Verbrauchs der wichtigsten Ressourcen wie CPU-Leistung und Memory über alle virtuellen Maschinen eines physischen Servers. So werden die Top-Ressourcenverbraucher schnell und sicher identifiziert. Monitoring-Tools sollten etwa die Anzahl Prozesse und den CPU- und Memory-Verbrauch in einzelnen Virtualisierungszonen im direkten Vergleich zeigen können.
Beim Monitoring kann aus technischer Sicht ein virtueller Server vereinfacht als Klasse von Prozessen mit dem zusätzlichen Attribut «virtuelle Maschine» angesehen werden. Diese Vereinfachung trifft mehr oder weniger präzise auf die im Markt angetroffenen Server-Virtualisierungs-Lösungen zu. Sie hilft beim Verständnis der für die Transparenz wichtigen Messparameter. Denn die Prozesse eines Rechnersystems sind logische Objekte, welche die vom Rechner angebotenen physischen Ressourcen CPU-Taktrate, IO-, und Netzwerk-Bandbreite sowie dessen Memory-Kapazität konsumieren.
Anforderungen an das Monitoring
Bei der Server-Virtualisierung im Rechenzentrum ist es heute üblich, dass der physische Ressourcenverbrauch auf dem Wirtsystem, also dem Host oder der globalen Zone, gemessen wird - analog dem Stromzähler daheim. Das wird künftig nicht mehr ausreichen. Denn die Ressourcenkonsumation geschieht innerhalb der jeweiligen virtuellen Maschine. Darum ist es weder sinnvoll, den physischen Ressourcenverbrauch auf Niveau der virtuellen Maschine zu messen, noch den Verbrauch der Prozesse auf Host-Ebene, auch wenn Ausnahmen diese Regel bestätigen.
Ein geeigneter Capacity- und Performance-Monitor muss also die Messung des physischen Ressourcenverbrauchs des Servers und den Ressourcenkonsum durch die Prozesse trennen. Weiter ermöglicht er eine Zusammenfassung des Verbrauchs der verschiedenen Prozesse, die zu einer Applikation gehören. Schliesslich will man Applikationen migrieren und muss auf deren Stufe entscheiden, wie viele auf einem virtualisierten Server parallel betrieben werden können. Zudem bietet er eine server-übergreifende Zusammenfassung des Verbrauchs der physischen Ressourcen an. So kann der gesamte physische Verbrauch, also CPU-Leistung, IO- und Netzwerk-Durchsatz sowie Memory-Verbrauch aller für die Konsolidierung in Frage kommenden Systeme vor der Migration zuverlässig festgestellt werden. Ermittelt wird dabei nicht nur der relative CPU-Verbrauch der Applikationen in Prozent der zur Verfügung stehenden CPU-Leistung. Gemessen wird auch die Server CPU-Leistung in GHz, um so eine Abschätzung der notwendigen CPU-Leistung des physischen Hosts für die zu konsolidierenden Applikationen zu ermöglichen. Schliesslich wird der ideale Capacity- und Performance-Monitor eine Aggregierung der wichtigsten Parameter auf Stufe Rechenzentrum beziehungsweise einer ausgewählten Untermenge davon anbieten. Dargestellt wird dann die installierte Kapazität pro Parameter und die mittlere sowie die maximale Auslastung im Messzeitraum.
Kontinuität als Voraussetzung
Der Messzeitraum, in dem die Daten ermittelt werden, sollte mittel- bis langfristig sein, und die wichtigsten Prozessierungen wie Tages-, Wochen-, Monats- und sogar Jahres-Endverarbeitung beinhalten. Das heisst, Capacity- und Performance-Monitoring muss systematisch und dauernd im Einsatz stehen. Es sollte nicht erst der Problemfall abgewartet werden.
Welche Prozessierungen aus Sicht des Ressourcenverbrauch wichtig sind, entscheidet der Applikationsverantwortliche und nicht der IT-Betreiber. Für die Dimensionierung der Virtualisierungsplattform ist ebenso wichtig, dass die diversen Arten des Ressourcenverbrauchs mit ihrem zeitlichen Kontext gebündelt werden. Denn auf diese Weise berücksichtigt man bei der Ermittlung des maximalen Ressourcenverbrauchs, dass die verschiedenen Applikationen ihre Spitzenlast (Peakload) im Allgemeinen zu unterschiedlichen Zeiten erreichen und deshalb sehr wohl koexistieren können. Dass eine systematische Capacity- und Performance-Messung auch für die Analyse von Problemfällen wichtig ist, steht ausser Frage.
Checkliste
Grundlegende Monitoring-Parameter für die Virtualisierung
Die folgenden Monitoring-Parameter sind Voraussetzungen, um die Potenziale und Chancen zur Kostensenkung und Erhöhung der Flexibilität mittels Server-Virtualisierung zu realisieren.
- Anzahl Server respektive nötige CPU-Leistung und erforderliches Memory. Dies sind die wichtigsten Informationen, da sie die grössten Kostentreiber betreffen.
- Nötige Netzwerk- und IO-Bandbreite für die Server.
- Nötige Disk-Kapazität und IO-Bandbreite sowie Anzahl Ports auf dem Disk-System und im SAN.
- Konfiguration der virtuellen Maschinen, die die CPU-Leistung und das Memory betrifft.
- Absoluter Kapazitätsbedarf und mittlerer sowie maximaler Ressourcenverbrauch der Applika-tionen in absoluten Einheiten (GByte, MByte/s) unabhängig von der darunter liegenden Infrastruktur.
- Eigenverbrauch der Virtualisierungslösung. Diese Funktionalität ist nicht «kostenlos», und kann nur in entsprechenden Load- und Performancetests ermittelt werden.
Werner Lippert