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.