vSphere 7 VMware PowerCLI (v12.1+) installieren

Dies ist wieder so ein klassicher Fall von Selbst-Notiz: Nachdem ich schon wieder aus Gewohnheit das aktuellen VMware PowerCLI aus dem vMware Code Portal herunterladen wollte.

Das ist jetzt ein (NuGet) PowerShell Modul – man muss nichts mehr einzeln herunterladen. Install-Module läd das passende NuGet-Paket, sofern nicht vorhanden, auch gleich mit herunter.

PS> Install-Module -Name VMware.PowerCLI

Der native Download des NuGet-Paketes (für Offline-PCs) liegt hier:

https://psg-prod-eastus.azureedge.net/packages/vmware.powercli.12.1.0.17009493.nupkg

vCenter 6.7 Host hinzufügen schlägt fehl „Ein allgemeiner Systemfehler ist aufgetreten: Unable to push CA certificates and CRLs to host „

Das Hinzufügen eines neuen Hosts (vSphere ESX 6.7 U3) unter vCenter 6.7 schlägt mit der Meldung fehl:

Ein allgemeiner Systemfehler ist aufgetreten: Unable to push CA certificates and CRLs to host <HOSTNAME>

Lösung

Mit vSphere 6.7U3 wurde die Zertifikatssicherheit verschärft. Die Fehlermeldung ist (indirekt) darauf zurückzuführen, dass selbstsignierte Zertifikate (oder Zertifikate ohne vertraute CA) aus dem TRUSTED_ROOTS Speicher des vCenters Server beim Hinzufügen (oder Verbinden) den ESXi-Host übertragen werden sollen. Ab U3 lässt der Host das aber nicht mehr zu.

Man kann diese Verhalten aber zum Glück ändern:

  1. vSphere Host-Client des neuen hosts öffnen
  2. Verwalten -> System -> Erweiterte Einstellungen
  3. Config.HostAgent.ssl.keyStore.allowSelfSigned auf „true“ setzen

Veeam Backup & Replication Console startet nicht (veeam.backup.shell.exe System.Xml.XmlException)

Problem

Die Veeam Backup & Replication Console startet „auf einmal“ nicht mehr. Gestern ging es noch, heute passiert (scheinbar) nichts mehr, es ist nicht einmal der Anmeldedialog zu sehen. Im Ereignisprotokoll sind nach jedem Versuch veeam.backup.shell.exe zu starten diese Fehler zu sehen:

  • Protokoll: Anwendung
  • Quelle: .NET Runtime
  • Ereignis-ID: 1026
Anwendung: veeam.backup.shell.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.Xml.XmlException
bei System.Xml.XmlTextReaderImpl.Throw(System.Exception)
bei System.Xml.XmlTextReaderImpl.ParseText(Int32 ByRef, Int32 ByRef, Int32 ByRef)
bei System.Xml.XmlTextReaderImpl.ParseText()
bei System.Xml.XmlTextReaderImpl.ParseElementContent()

[...]

Lösung

Warscheinlich ist nur die Benutzerkonfiguration der Konsole kaputt. Das .NET Framework ist (ausnahmsweise) da mal nicht schuld.

Es hilft das Löschen der Datei:

%USERPROFILE%\AppData\Local\Veeam_Software_Group_GmbH\veeam.backup.shell.exe_Url_hu1utqnj52thvmhrg5kie2bl15o22i22\10.0.0.0\user.config

Danach startet die Konsole sofort wieder.

vmWare ESXi Host Warnung „esx.problem.hyperthreading.unmitigated“ (ESXi 6.5/6.7)

esx.problem.hyperthreading.unmitigated

Aktuelle ESXi Server beschweren sich mit einer Warnung über CPUs mit Microcode, die anfällig für Angriffe wie Meltdown, Lazy FP state restore und/oder die L1 Terminal Fault sind. Einige AMD und Intel Prozessoren können über so einen side-channel Angriff Daten lesbar machen, die nicht lesbar sein sollten.

Bevor die Warnung unterdrückt wird, lohnt abe ein Blick in die Mitigation und vor allem auch die performance impacts. In privaten Cluster Setups ist die Gefahr eines solchen Angriffs vermutlich auch nicht so hoch, wie in öffentlichen Wolken.

Lösung

Da die Mitigations dazu ziemlich viel CPU-Performance fressen, bleiben die Schutzfunktionen wie der „Side-Channel-Aware Scheduler“ in privaten und geschlossenen Clustern oft ausgeschaltet. Trotzdem will man die Warnung natürlich loswerden 🙂

Möglichkeit 1 – Warnung unterdrücken

  1. vSphere GUI (vCenter) öffnen, den betroffenen Host auswählen
  2. Konfigurieren > Erweiterte Systemeinstellungen > Bearbeiten
  3. „UserVars.SuppressHyperthreadWarning“ auf „1“ stellen
SuppressHyperthreadWarning

Möglichkeit 2 – „Side-Channel-Aware Scheduler“ einschalten

  1. ESXi Hostclient (nicht im vCenter) öffnen
  2. Konfiguration > Erweiterte Einstellungen > Bearbeiten
  3. VMkernel.Boot.hyperthreadingMitigation“ auf „true“ stellen
  4. Host neu starten

Es empfielt sich vor diesem Schritt das zugehörige Support-Dokument zu lesen. Hier sind die Vorbereitungen für diesen Schritt und die möglichen Auswirkungen davon genauer beschrieben.

„GParted Bug: Eine Partition kann nicht (xxx) nach dem Ende des Laufwerks enden (%2)“

Problem

GParted beschwert sich bei der Anpasung von Partitionsgrößen: „GParted Bug: Eine Partition kann nicht (xxx) nach dem Ende des Laufwerks enden (%2)“

Die gleiche Meldung gibt es auch auf Englisch: „GParted Bug: A partition cannot end after the end of the device (%2)“

Das tritt beim resizing oder verschieben einer Partition auf, obwohl noch genug Platz da ist und das Ende des Laufwerks noch nicht erreich scheint.

Lösung

Der Fehler (Bug) liegt in der Berechnung der Partitionsgrenzen bei der Verwendung des Binärpräfixe gemäß IEC (MiB/KiB …). Man stelle den Dialog also einfach einfach auf „Zylinder“ (Cylinder) um, schon funktioniert die selbe Operation fehlerfrei.

vCenter Update „“Error in method invocation Timeout happens while sending message to microservice“

Problem

Die Aktualisierung des VMware vCenter Servers (VCSA) kann bei der Lizenzanzeige (EULA) nicht fortgesetzt werden. Nach einem Klick auf „Next“ landet man immer im selben Bildschirm, der die Fehlermeldung „Error in method invocation Timeout happens while sending message to microservice“ zeigt.

Zudem findet man in /var/log/vmware/applmgmt/applmgmt.log mehrere Meldung wie:

DEBUG:vmware.appliance.update.update_functions: Exception happens  while sending message to microservice: ConnectionRefusedError(111,  'Connection refused')

INFO:vmware.appliance.update.update_functions:Timeout happens  while sending message to microservice

ERROR:vmware.vapi.provider.local:Error in invoking  com.vmware.appliance.update.pending in precheck - Timeout happens while sending message to microservice 

Lösung

Der Update-Micrososervice vergisst manchmal, sein PID-file zu entfernen. Das verhindert den korrekten neustart des Prozesses. Das lässt sich an der SSH-Konsole der VCSA (SSH öffnne, mit ’shell‘ eine Shell starten) aber schnell beheben.

Prüfen ob die PID noch da ist

 ls /var/run/vmware/applmgmt/update_microservice.pid 

Wenn dem so ist, diese PID File entfernen

rm /var/run/vmware/applmgmt/update_microservice.pid

Danach läuft da sUpdate sofort fehlerfrei weiter.

VMware vSphere VCSA/vCenter Liste über VMs mit Betriebssystemen ausgeben

Manchmal braucht man eine schnelle Liste über die laufenden Gast-Betriebssysteme (und -Versionen) in einer vCenter-Instanz. In meinem speziellen Fall benötigte ich vor allem die konfigurierten Betriebssysteme und die tatsächlich laufenden Gäste, um nach einer Migration die Einstellungen für die ESXi-Hosts auz zu räumen.

Nach ein bisschen Bastelei nutze ich nun diesen PowerCLI Einzeiler. Das Script erstellt einfach eine Liste über Name, Konfiguriertes OS und das gemeldete OS aller Gastsysteme.

Lösung

Liste aller OS in einem vCenter via Powershell erstellen:

Get-VM | Get-View -Property @("Name", "Config.GuestFullName", "Guest.GuestFullName") | Select -Property Name, @{N="Eingestellt";E={$_.Config.GuestFullName}},  @{N="Läuft";E={$_.Guest.GuestFullName}} | Format-Table -AutoSize
So sieht die Ausgabe des Befehls aus.