Tags: vSphere, Prozessoren, Performance
Bei VMCO handelt es sich um zwei PowerCLI-Scripts, die VMs auf die RAM- und CPU-Konfiguration prüfen. Das kostenlose Tool der VMware Labs generiert für nicht optimierte VMs eine Empfehlung, bei der es die Zahl der konfigurierten vCPUs mit den vorhandenen virtuellen Kernen und Sockets vergleicht.
Um Missverständnisse von vornherein auszuschließen: Das Tool analysiert nicht anhand der Auslastung, ob VMs die richtige Anzahl von vCPUs haben, sondern nur, ob und wie sich die konfigurierten Größen mit den am Host verfügbaren Ressourcen vertragen. Damit lässt sich etwa eine massive Überbuchung der CPUs oder des RAM vermeiden.
Für ein echtes lastbezogenes Rightsizing braucht man ein fortgeschrittenes Analysewerkzeug wie VMware vRealize Operations Manager, das die richtige Größe auf Basis der tatsächlichen Leistung bestimmt.
Vorbereitungen
Bevor man die Scripts startet, sollte man ein Benutzerkonto mit schreibgeschützten Rechten bereitstellen, das auf vCenter-Ebene mit aktivierter Option An Kinder weitergeben zugewiesen wurde. Diese Rechte werden für jedes zu analysierende vCenter benötigt.
Zudem kopiert man die beiden PowerShell-Scripts Virtual_Machine_Compute_Optimizer.ps1 und Get-OptimalvCPU.ps1 in den gleichen Ordner.
Das erste der beiden kann bei Angabe eines vCenter folgende Prozesse automatisieren:
- Herstellen der Verbindung zum vCenter und Einrichten des Multi-vCenter-Modus
- Überprüfen der PowerShell-Version und ggf. Aktualisieren der PowerCLI-Version
- Laden und Ausführen des Scripts Get-OptimalvCPU.ps1 mit anschließendem Exportieren der Ergebnisse in eine CSV-Datei
Das zweite Script kann man auch allein verwenden, um nur ausgewählte VMs zu analysieren. Auch dabei kann der Nutzer entscheiden, was mit den Ergebnissen geschehen soll, bzw. die Funktion in eigene Scripts einbinden.
VMCO anwenden
Sind alle Voraussetzungen gegeben, dann fragt das Script am Anfang nach dem FQDN für den oder die vCenter-Server in der Form vcenter1.domain.com, vcenter2.domain.com, vcenter3.domain.com.
Das Benutzerkonto muss über die eingangs erwähnten Berechtigungen verfügen. Es wäre demnach eigentlich nicht notwendig, sich mit dem SSO-Administrator anzumelden, wie ich das im Lab praktiziert habe. Nach der Authentifizierung zeigt es den Fortschritt und nach Abschluss der Analyse den Pfad zur Report-Datei an.
Ist die CSV-Datei bereits vorhanden, dann versucht das Tool, die neuen Berichtsdaten darin einzufügen. Dies kann hilfreich sein, um mehrere vCenter-Berichte zu kombinieren, die möglicherweise separat ausgeführt wurden.
Dem unten abgebildeten Ergebnis ist zu entnehmen, dass die analysierte VM eines vCenter Server Appliance mit ihren 2 Kernen nicht NUMA-optimiert platziert wird, weil VMware Virtual NUMA (vNUMA) bei VMs mit weniger als 8 vCPUs aus Kompatibilitätsgründen deaktiviert.
Das Verwenden der Funktion
Get-Help Get-OptimalvCPU
setzt voraus, dass man PowerCLI selbständig startet und sich mittels
Connect-VIServer
mit dem gewünschten vCenter verbindet.
Führt man den Aufruf ohne Angabe weiterer Parameter aus, werden sämtliche VMs vom derzeit verbundenen vCenter abgerufen. Ansonsten verrät
Get-Help Get-OptimalvCPU -examples
weitere Optionen und Filtermöglichkeiten
So ruft
Get-OptimalvCPU -VMName <VM-Name>
nur eine bestimmte VM ab.
Die im Report aufgeführten Mindestwerte ClusterMinMemoryGB, ClusterMinSockets und ClusterMinCoresPerSocket dienen zur Berechnung, ob Cluster inkonsistente Hosts enthalten, was sich auf die Umsetzung von vNUMA und die Leistung des Gastes auswirken kann.
Der Einfluss der NUMA-Architektur eines physischen Hosts auf die vNUMA-Konfiguration von virtuellen Maschinen erläutert ausführlich der Blog-Eintrag Virtual Machine vCPU and vNUMA Rightsizing - Rules of Thumb. Auf das Host-Power-Management in ESXi hingegen geht das PDF Performance Best Practices VMware for vSphere 6.7 ein.
Systemvoraussetzungen und Verfügbarkeit
VMCO erfordert mindestens Windows 7 oder Server 2008 sowie PowerShell v5 oder höher plus PowerCLI. Bei nicht installiertem PowerCLI versucht das Tool automatisch, das Modul zu installieren bzw. ein Upgrade durchzuführen, falls das installierte veraltet ist.
Der Virtual Machine Compute Optimizer kann kostenlos von der Website der VMware Labs heruntergeladen werden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Drilling arbeitet ist seit fast 30 Jahren selbständig in der IT-Welt sowohl als Consultant, als auch als Redakteur, Buchautor und Journalist für viele ehemalige und aktuelle IT-Magazine sowie Blogs.
Aktuell bestätigt sich Thomas schwerpunktmäßig als IT-Trainer für Cloud-Computing in den Bereichen Microsoft Azure, Amazon Web Services und VMware.
Thomas ist zertifizierter Microsoft-Trainer für nahe das gesamte Portfolio an Microsoft Azure Trainings. Thomas ist außerdem zertifizierter Microsoft Azure Solutions Architect Expert sowie VMware Certified Professional und wurde von VMware in den Jahren 2016 bis 2022 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas führt aktuell jeden Monat zwei selbstkonziperte 4-tägigen Grundlagenkurse in Cloud Computing mit Azure durch, die sich inhaltlich bewusst von den Microsft-Kursen abheben und vorzuweise als Bootcamp in eine besonderen Lokation stattfinden. Optional kann aber aber auch remote via Microsoft Teams teilgenommen werden.
Das aktuelle Trainingsprogramm findet sich unter Azure-Trainings. Weitere Informationen und Anmeldung über sein Azure-Blog.
Verwandte Beiträge
- VMware veröffentlicht eBook mit Performance-Tipps für vSphere 8
- Leistung von vSphere-Speicher überprüfen mit VMware Storage Performance Tester
- Virtuelle Disk-Controller für VMs auf VMware ESXi: LSI-Logic SAS oder VMware Paravirtual?
- Performance von VMware vSAN testen mit Hyper-Converged Infrastructure Benchmark (HCIBench)
- Leistung von VMware vSAN mit dem kostenlosen Performance Monitor auswerten
Weitere Links