Bei der Virtualisierung ist das Monitoring Pflicht, weil die Möglichkeit des „Überbuchens“ von Ressourcen vorgesehen und in gewissen Grenzen gewollt ist, denn Sinn und Zweck der Virtualisierung besteht ja vorrangig in der Konsolidierung von physikalischen Servern.
VMware empfiehlt je nach Workload der einzelnen VMs eine Konsolidierungsrate von 4 bis 8, d. h. auf 4 physische CPU-Kerne lassen sich bis zu 32 vCPUs abbilden. VMware empfiehlt zudem, auch bei gegebenem Hyperthreading-Support pro VM nicht mehr vCPUs zu vergeben als zwingend nötig und keinesfalls die maximale Anzahl logischer CPUs am Host auszureizen.
Arbeitsspeicher hingegen lässt sich über die physisch vorhandene Menge hinaus vergeben, denn genau wie das Gast-System mit Virtual Memory beherrscht auch der Hypervisor bei Bedarf das Auslagern von Speicherseiten auf Festplatte. Bevor jedoch bei VMware das Swappen des Hypervisors als letzte aller Speichersparmaßnahmen einsetzt, kommen eine Reihe anderer Technologien zum Einsatz. Hier ist es wichtig durch den Einsatz von Monitoring rechtzeitig die Sättigung zu erkennen.
Esxtop
Beim Überwachen von Virtualisierungsumgebungen hat es der Admin stets mit zwei „Sicht-Ebenen“ zu tun, dem Host-System und der virtuellen Maschine. Für beide müssen jeweils eigene Tools zum Einsatz kommen, bei einem Windows-Gastsystem z. B. der Taskmanager, Resmon oder Perfmon. Auf der Host-Seite stehen neben den in vSphere „eingebauten“ Tools „esxtop“ (dem VMware-Analogon zu Linux-top) auf der Kommandozeile und den Performance-Charts im Web-Client, bzw. vSphere-Client eine Reihe externer Lösungen zur Verfügung. Für einen schnellen Überblick leistet esxtop aber gute Dienste.
Loggt man sich als root via SSH, mit Hilfe der vMA oder direkt an der ESXi-Shell am ESXi-Host ein, liefert esxtop auf Knopfdruck die wichtigsten Momentanwerte. Das Tool kennt verschiedene Ansichten, zwischen denen man mit „c“ (CPU), „m“ (Memory), „n“ (Network) oder „v“ (Disk VM) wechselt. Weitere Modi verrät das Drücken der Taste „h“ (Help). Zudem gibt es einen Batchmodus.
Visual Esxtop
Wer es komfortabler mag, kann sich von den VMware Labs eine grafische Version VisualEsxtop herunterladen. Hierbei handelt es sich um ein Java-Programm, das sich an einem beliebigen Arbeitsplatz ohne weitere Installation wahlweise unter Windows oder Linux aufrufen lässt. Es genügt, das heruntergeladene ZIP-File zu entpacken und dann unter Linux „vtop.sh“ oder unter Windows „vtop.bat“ zu starten. Einzige Voraussetzung ist, das Java 1.6 installiert und im Standardpfad ist.
Hat man VisualEsxtop gestartet, verbindet man sich im Menü „File / Connect to Live Server“ mit dem zu überwachenden ESXI-Host. Die einzelnen Ansichten für CPU, Memory, Network usw. stehen dann unmittelbar in einzelnen Tabs zur Verfügung. Zudem gibt es einen umfangreichen Online-Guide der auch Bedeutung und Einheiten der zahlreichen Metriken erklärt.
Überbuchung erkennen
In Virtualisierungsumgebungen geht es beim Monitoring vor allem darum, Überbuchungen bei CPU und RAM im Auge zu behalten und rechtzeitig eine sich anbahnende Sättigung zu erkennen. Insofern ist z. B. eine konstant relativ hohe CPU-Usage auf Host-Seite unkritisch, solange sie nicht dauerhaft 75% überschreitet, denn der Host soll bei der Server-Konsolidierung möglichst gut ausgelastet sein.
Hinweise auf eine Sättigung bei der CPU-Überbuchung dagegen liefert das Überwachen der „CPU-Ready-Time“ auf VM-Ebene. Das ist die Zeit, welche die vCPU im Durchschnitt wartet, bis sie vom CPU-Scheduler des Hypervisors erneut bedient wird. Diese soll nach Empfehlung von VMware nicht dauerhaft über 5 % liegen. Bei esxtop ist der Wert in der CPU-Ansicht („c“) oder im Tab „CPU“ von VisualEsxtop in der Spalte „%RDY“ zu erkennen.