VM-Konfiguration mit dem Virtual Machine Compute Optimizer (VMCO) prüfen

    Virtual Machine Compute Optimizer (VMCO)Bei VMCO handelt es sich um zwei PowerCLI-Scripts, die VMs auf die RAM- und CPU-Konfiguration prüfen. Das kosten­lose Tool der VMware Labs generiert für nicht opti­mierte VMs eine Em­pfehlung, bei der es die Zahl der konfi­gurierten vCPUs mit den vor­handenen virtuellen Kernen und Sockets ver­gleicht.

    Um Missver­ständnisse von vornherein auszu­schließen: Das Tool analysiert nicht anhand der Auslastung, ob VMs die richtige Anzahl von vCPUs haben, sondern nur, ob und wie sich die konfi­gurierten 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 fort­geschrittenes Analyse­werkzeug 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 schreib­geschü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_Com­pute_Optimizer.ps1 und Get-Optimal­vCPU.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 Voraus­setzungen 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.

    Nach der erfolgreichen Ausführung von VMCO zeigt das Script den Pfad zum Report im CSV-Format an.

    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.

    Authentifizierung mit dem VM Compute Optimizer an VMware vCenter

    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öglicher­weise 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.

    Der VM Compute Optimizer gibt die Ergebnisse seiner Analyse im CSV-Format aus.

    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

    Mit Get-Help kann man alle unterstützten Optionen von Get-OptimalvCPU anzeigen.

    So ruft

    Get-OptimalvCPU -VMName <VM-Name>

    nur eine bestimmte VM ab.

    Die im Report aufgeführten Mindestwerte ClusterMinMemoryGB, ClusterMin­Sockets und ClusterMin­CoresPerSocket 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 VM Compute Optimizer aktualisiert PowerCLI bei Bedarf automatisch .

    Der Virtual Machine Compute Optimizer kann kostenlos von der Website der VMware Labs heruntergeladen werden.

    Keine Kommentare