Administration

Tipps zum Monitoring virtueller Systeme

23.10.2009
Von Patrick Schwanke
Wer Engpässe im Betrieb seiner virtualisierten Server-Landschaft vermeiden will, kommt nicht umhin, Daten aus der physischen und virtuellen Sicht zu sammeln und zu korrelieren.
Überwachung einer VMware-Umgebung
Überwachung einer VMware-Umgebung

Virtualisierte Umgebungen liegen im Trend, denn durch das Zusammenlegen mehrerer ehemals physischer Server auf eine einzige physische Maschine lassen sich erhebliche Betriebskosten einsparen. Außerdem sind Aufgaben wie Server-Provisionierung und Ressourcenzuteilung in virtuellen Umgebungen ungleich einfacher und zeitsparender zu bearbeiten.

Andererseits entsteht durch die Virtualisierung auch eine weitere Komplexitätsebene. Schon an der Frage nach dem Ressourcenverbrauch scheitern herkömmliche Ansätze. Die Angabe der CPU-Auslastung ist beispielsweise wenig aussagekräftig. Um sie zu beurteilen, werden Zusatzinformationen darüber benötigt, wie viele CPU-Ressourcen der virtuellen Maschine (VM) vom Hypervisor in einem speziellen Moment zugeteilt waren. Zudem ist eine hohe CPU-Belastung in einer VM erst in Verbindung mit Wartezuständen ("CPU Ready … %") ein Indiz für einen CPU-Engpass.

Von Überallokation zur Überlastung

Die Mehrfach-Belegung des Hauptspeichers ist in virtuellen Umgebungen durchaus gewollt, um vorhandene, aber die meiste Zeit ungenutzte Ressourcen besser auszulasten. Durch diese Überallokation kann es jedoch zu Engpässen kommen, wenn doch einmal mehrere VMs gleichzeitig den ihnen zugewiesenen Hauptspeicher beanspruchen. Sollte kein physikalischer Speicher mehr zur Verfügung stehen, wird zunächst die Ballooning-Technik, eine Art Light-Variante des Swappings, angewendet. Die VMs werden dabei aufgefordert, nicht mehr benötigten Speicher freizugeben. Genügt dies nicht, werden die VMs angewiesen, besonders speicherintensive Prozesse zu beenden, was den normalen Betrieb zum Beispiel von Datenbanken erheblich stören kann. Beim Monitoring virtueller Umgebungen sollte demnach das Ballooning als Hinweis auf einen Memory-Engpass gedeutet werden.

Die Entstehung eines Flaschenhalses

Grafische Gegenüberstellung von alloziertem und tatsächlich genutztem Speicherplatz
Grafische Gegenüberstellung von alloziertem und tatsächlich genutztem Speicherplatz

Eine besondere Herausforderung stellt der Speicher dar. Dies betrifft insbesondere virtualisierte Datenbanken oder auch Exchange-Server. Oft sind deren Input- und Output-Kapazitäten (I/O) beschränkt, da beispielsweise durch eine Konsolidierung ehemals physischer Altsysteme zu virtuellen Maschinen eine Reduktion der Festplattenzahlen und damit der I/O-Kapazitäten erfolgte. Außerdem führt deren Virtualisierung dazu, dass weniger Ressourcen mehr Leistung bringen müssen, etwa weil die Benutzerzahl auf diesem einen physischen System gestiegen ist.

Es ist nahezu unmöglich zu sagen, wie viel Prozent Overhead Virtualisierung im I/O-Bereich erzeugt. Ist die Last auf der virtuellen Umgebung niedrig oder nur mäßig hoch, sind kaum Unterschiede zu den herkömmlichen physischen Systemen erkennbar. Jedoch kann bei hoher Last sehr viel Overhead erzeugt werden, da das virtuelle System selbst an seine Leistungsgrenzen stößt. Hier muss also besonderes Augenmerk auf die I/O-Antwortzeiten sowohl aus Sicht der Physik als auch aus Sicht der VM gelegt werden.