VMware-Monitoring: Methoden zur Überwachung einer Virtual Machine verfeinern

Monitoring einer Virtual Machine mit Hardware- und Performance-Agents überwacht effizient den Zustand einer virtualisierten Umgebung.

Dieser Artikel ist ein Auszug aus dem im Verlag Prentice Hall erschienen Buch „VMware ESX and ESXi in the Enterprise“...

von Edward L. Haletky. In diesem Abschnitt erörtert Haletky Techniken zum Sammeln von Performance-Daten für virtuelle Maschinen. Traditionelle Hardware-Performanceagents liefern in virtuellen Infrastrukturen keine hinreichend genauen Messdaten und können sogar die Leistung beeinträchtigen. Aber es gibt auch andere Wege, um einen realistischen Überblick über die Effizienz Ihrer VMware-Infrastruktur zu erhalten.

Die Überwachung der Performance und anderer Merkmale stellt unter betrieblichen Gesichtspunkten eine wichtige Aufgabe dar. Viele IT-Anwender behalten dazu den einwandfreien Betriebszustand ihrer Hardware und Server mit so genannten Hardware- und Performance-Agents im Auge.

Hardware-Agents helfen dabei, den „Gesundheitszustand“ des ESX-Hosts zu kontrollieren. Zur Überwachung von VMs sollten sie aber nicht eingesetzt werden, denn natürlich ist virtuelle Hardware direkt von ihrer physischen Hardware abhängig. Außerdem kommunizieren die meisten Agents mit spezifischen Chips, die es innerhalb einer Virtual Machine (VM) so gar nicht existieren. Deshalb wird die Nutzung von Hardware-Agents Ihre Virtual Machine in den meisten Fällen sogar verlangsamen.

Best Practice für Hardware-Agents


Installieren Sie keinesfalls Hardware-Agents in einer VM; diese werden deutliche Leistungseinbußen verursachen. Die Performance-Messung ist inzwischen ein wichtiges Werkzeug für virtuelle Umgebungen. Sie gibt Ihnen beispielsweise Hinweise, wann es sinnvoll ist, in einen neuen ESX-Host zu investieren und wie Sie Workloads am besten auf verschiedene ESX-Hosts verteilen. Obwohl es automatisierte Methoden zur Workload-Verteilung zwischen ESX-Hosts gibt, wird der überwiegende Teil oder sogar alles immer noch per Hand erledigt. Denn es gilt mehr als nur ein paar Eckdaten zu überprüfen, wenn man VMs von Host zu Host bewegt.

Es gibt eine Debatte darüber, ob Dynamic Resource Scheduling (DRS) in der Lage ist, VMs über alle verfügbaren Hosts zu verteilen. Allerdings stößt DRS nur dann ein Balancing an, wenn eine hohe CPU-Auslastung vorliegt. Doch auch in anderen Fällen kann es durchaus vorkommen, dass Sie ein Load-Balancing von Hand vornehmen wollen.

Der erste Punkt, den es hier zu verstehen gilt, ist: Das Hinzufügen einer Virtual Machine zu einem Host hat Einfluss auf die Leistung des ESX-Hosts – bisweilen nur in geringem Maße, manchmal aber durchaus in einer Größenordnung, die deutlich wahrnehmbar ist. Als zweiten Punkt müssen Sie sich vor Augen führen, wie Performance-Tools, die innerhalb einer VM laufen – zum Beispiel unter Windows – die Nutzung berechnen: In Leerlauf-Zeiten wird ein Tick-Counter schrittweise hochgezählt und diese Zeitsumme dann von der abgelaufenen Gesamtzeit, abgelesen an der System-Uhr, abgezogen.

Da die Virtual Machine bei Leerlauf-Phasen jedoch in Standby geht, wird diese Messung verzerrt – die echte Auslastung ist geringer als die vom Mess-Werkzeug angegebene. Da es zudem in der Regel mehr VMs als CPUs bzw. Kerne gibt, muss sich eine VM eine CPU mit anderen VMs teilen. Je mehr VMs hinzugefügt werden, desto kleiner fällt für jede VM der Anteil an der  Laufzeit der gemeinsamen CPUs aus.

Auf diese Weise ergibt sich eine größere zeitliche Verzögerung zwischen den einzelnen CPU-Zugriffen und demzufolge ein längerer CPU-Zyklus. Weil Performance-Tools jedoch eben diesen CPU-Zyklus zur Messung von Leistung und Zeit verwenden, sind die verwendeten Daten relativ ungenau. Wenn das System bis zum gewünschten Niveau ausgelastet ist, sollten Sie deshalb mittels VMware vCenter oder anderen Werkzeugen für Performance Management zunächst ein Set von Basis-Daten ermitteln.

Wenn diese vorliegen, können Performance-Tools innerhalb einer VM immerhin feststellen, ob eine Änderung in der Leistung aufgetreten ist. Absolute Werte bekommen Sie damit jedoch nicht, sondern eben nur Angaben zur Veränderung gegenüber den Basis-Daten. Nehmen wir einmal willkürlich an, dass der Basis-Wert der CPU-Nutzung innerhalb der VM mit rund 20 Prozent gemessen wurde. Wenn dieser nun plötzlich bei 40 Prozent liegt, dann ist klar, dass eine Änderung um den Faktor Zwei aufgetreten ist.

Allerdings bedeutet die Anzeige einer verdoppelten CPU-Nutzung der VM nicht automatisch auch eine doppelt so starke Nutzung des Servers. Für Performance-Daten über eine VM  brauchen Sie also andere Tools, die selbst nicht innerhalb dieser VM laufen. Geeignet dafür sind VMware vCenter oder Werkzeuge von Drittanbietern wie zum Beispiel Vizioncore vFoglight; auch die Verwendung des Befehls esxtop über die Kommandozeile oder Remote-CLI sind möglich. In jeder dieser Varianten wird VM-extern die Performance von VM und ESX-Host gemessen, und sie alle liefern ein deutlicheres Bild des gesamten ESX-Hosts.

Der wichtigste Punkt, den es hier mitzunehmen gilt: Bei einer durchgängigen Nutzung der CPU im ESX-Hosts in Höhe von 80 Prozent, gemessen mit vCenter oder einem der anderen Tools gemessen, ist ein neuer ESX-Host sowie eine Neuverteilung der Workloads auf dem ESX-Host erforderlich. Der identische Mechanismus kann auch verwendet werden, um zu ermitteln, ob mehr Netzwerk- oder Storage-Bandbreite gebraucht wird.

Das Balancing der ESX-Hosts kann täglich oder mehrmals am Tag geschehen, und zwar mit Hilfe der vMotion-Technologie zur Migration laufender VMs von Host zu Host verwendet – Ausfallzeiten werden so vermieden. Dies ist zwar auch in dynamischer Form möglich, doch der manuelle Einsatz von vMotion und Storage vMotion kann Ihnen einen verbesserten Blick auf das System verschaffen. Dadurch wird ein erneutes Balancing zum richtigen Zeitpunkt – dann, wenn es vonnöten ist – ermöglicht.

Wenn zum Beispiel die CPU-Nutzung eines ESX-Hosts auf 95 Prozent steigt, muss mithilfe eines der Tools die VM ermittelt werden, die der Auslöser dafür ist. Sobald diese gefunden wurde, kann sie mittels vMotion auf einen nicht oder nur geringfügig genutzten ESX-Host verschoben werden. Falls dies zum Regelfall wird, ist es jedoch besser, die betreffende VM permanent auf eine Maschine mit geringerer Auslastung zu verlagern. Dies ist häufig der Hauptgrund für die Empfehlung, eine N+1-Hostkonfiguration zu verwenden.

Die Bereitstellung von VMs kann die CPU-Nutzung erhöhen. Hier empfiehlt es sich, einen Deployment-Server aufzubauen, der Sicht auf alle LUNs hat und für die Bereitstellung jeglicher neuer VMs zuständig ist. Diese können dann auf dem Deployment-Server getestet werden, bevor sie mittels vMotion auf einen echten Produktiv-Server verschoben werden.

Dazu ein Beispiel aus der Beratungspraxis: Ein Kunde wollte zunächst die Performance aller VMs messen, um die voraussichtliche Auslastung des ESX-Host in seiner aktuellen Netzwerk-Konfiguration abschätzen zu können. Dazu erklärten wir ihm die Problematik der CPU-Zyklen und entwickelten einen Maßnahmen-Plan für das weitere Vorgehen.

Zum Einsatz kamen dabei zwei Werkzeuge: VMware vCenter und esxtop, verwendet über die Service-Konsole oder über vMA im Batchmodus (esxtop –b). Zur Lösung von Performance-Problemen ist esxtop klar besser geeignet, allerdings gibt es enorm viele Daten aus. vCenter dagegen bildet Mittelwerte über Intervalle von je fünf Minuten oder mehr, Echtzeit-Daten werden alle 20 Sekunden erfasst. Esxtop meldet echte anstatt gemittelter Daten; diese werden standardmäßig alle fünf Sekunden erhoben, einstellbar sind auch Abstände bis hinunter zu zwei Sekunden.

Unser Plan war, die Leistung mit beiden Tools zu messen, während in der jeweiligen VM die üblichen Anwendungen laufen – denn dies hat großen Einfluss auf die Performance von ESX. Es ist äußerst wichtig, sich dies bewusst zu machen und sich bei der Beschäftigung mit Performance-Problemen nicht nur auf eine einzelne VM zu konzentrieren, sondern auf den Host insgesamt.

Die Abhängigkeit von den Workloads ist auch der Grund dafür, dass VMware generell keine Veröffentlichung von Performance-Daten gestattet. Am besten ist es also, wenn Sie eigene Analysen Ihrer eigenen Anwendungen vornehmen. Denn die virtualisierte Anwendungssuite des einen Unternehmens hat mit der eines anderen nichts gemein. Selbst bei einer identischen Ausstattung mit Anwendungen sind noch erhebliche Workload-Unterschiede möglich.

Fall Sie dennoch die Leistung Ihrer ESX-Hosts messen und mit anderen vergleichen wollen, kommt dafür VMmark von VMware in Frage; das Tool erzeugt für Vergleichszwecke über mehrere Server und Hypervisoren hinweg eine immer gleiche Workload. Bedauerlicherweise ist VMmark noch kein Standard. Die Standards Performance Evaluation Corporation bietet als Benchmark jedoch SPECvirt_sc2010 an, zu finden unter www.spec.org/virt_sc2010/.

Artikel wurde zuletzt im Februar 2011 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über VMware

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close