So aktualisieren Sie einen VMware ESXi-Host über die Befehlszeile (ESXCLI)

Dieser Artikel beschreibt, wie Sie Ihren VMware ESXi-Host manuell über die Befehlszeile aktualisieren. Zugegeben, es ist nicht die eleganteste Methode – insbesondere, wenn Sie den vSphere Update Manager oder Lifecycle Manager gewohnt sind –, aber manchmal haben Sie nur einen Einzelplatzhost oder eine Testumgebung und müssen Patches installieren oder Upgrades durchführen. Die Aktualisierung über die Befehlszeile esxclimag zunächst abschreckend wirken, ist aber recht einfach, sobald Sie den Dreh raus haben. Normalerweise wird diese Methode für Sicherheitspatches, kleinere Updates innerhalb einer Version oder den Wechsel zwischen ESXi-Versionen verwendet, beispielsweise von 6.7 auf 7.0 oder 8.0. Sie ist praktisch, da sie einige Einschränkungen der grafischen Benutzeroberfläche umgeht und die Skripterstellung oder Automatisierung ermöglicht. Beachten Sie jedoch: Wenn Ihr Host Updates nicht direkt aus dem VMware-Repository bezieht oder Ihr Netzwerk nicht zuverlässig ist, kann der gesamte Prozess unerwartet fehlschlagen. Für große Installationen empfiehlt VMware weiterhin die Verwendung der offiziellen Tools, aber manchmal ist die manuelle Aktualisierung unumgänglich. Rechnen Sie am Ende mit einem Neustart und stellen Sie sicher, dass die Hardware Ihres Servers offiziell für das Upgrade unterstützt wird – denn natürlich muss VMware es unnötig kompliziert machen.“

So aktualisieren Sie VMware ESXi in wenigen Schritten mithilfe der Befehlszeile

Überprüfen Sie Ihre aktuelle Version und bereiten Sie sich vor

  • Stellen Sie zunächst eine SSH-Verbindung zu Ihrem ESXi-Host her – aktivieren Sie SSH über die Konsole, falls es noch nicht aktiviert ist. Dies können Sie über die Direct Console User Interface (DCUI) unter „ Optionen zur Fehlerbehebung“ tun.
  • Überprüfen Sie Ihre aktuelle ESXi-Version mit dem Befehl `esxi –version` vmware -v. Sie erhalten beispielsweise eine Ausgabe wie `–version` VMware ESXi 8.0.2 build-22380479. Diese zeigt Ihnen an, welche ESXi-Version aktuell installiert ist.
  • Um herauszufinden, wann die Updates installiert wurden, führen Sie den Befehl aus esxcli software vib list | grep 'Install\|esx-base'. Bei manchen Systemen kann dies helfen, zu bestätigen, wann ein Patch oder ein Update angewendet wurde und wie das aktuelle Profil aussieht.

Für Online-Updates eingerichtet

  • Bevor Sie Updates von VMware beziehen, stellen Sie sicher, dass Ihre Firewall-Regeln HTTP/HTTPS-Datenverkehr zu VMware-Repositories zulassen. Sie können die Regel mit folgendem Befehl öffnen: [Befehl einfügen] esxcli network firewall ruleset set -e true -r httpClient. Dies funktioniert manchmal, aber in bestimmten Konfigurationen müssen Sie möglicherweise Ihre spezifischen Firewall-Einstellungen überprüfen.
  • Sehen Sie sich die verfügbaren Profile im VMware-Depot an, um zu sehen, auf welche Sie ein Upgrade durchführen können. Dort esxcli software sources profile list --depot=https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xmlfinden Sie Optionen wie ESXi-8.0U2b-23305546-standard oder ähnliche. Wählen Sie das Profil, das Ihrer Patch-Richtlinie entspricht.

Host in den Wartungsmodus versetzen – Warum? Weil Sie es müssen

  • Führen Sie den Befehl aus esxcli system maintenanceMode set --enable=true. Dies ist eine sinnvolle Sicherheitsmaßnahme, um sicherzustellen, dass auf dem Host während des Upgrades keine VMs laufen. Einige Befehle lassen sich jedoch nur im Wartungsmodus ausführen. Bei einer Konfiguration funktionierte es auf Anhieb, bei einer anderen nicht. Seltsam, wie uneinheitlich das sein kann.

Führen Sie das eigentliche Upgrade durch.

  • Und jetzt kommt der eigentliche Clou: Führen Sie das Upgrade mit dem von Ihnen gewählten Profil durch. Zum Beispiel: [ esxcli software profile update -p ESXi-8.0U2b-23305546-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xmlBefehl einfügen].Dieser Befehl lädt das Update herunter und installiert es. Manchmal erhalten Sie eine Warnung bezüglich der CPU-Unterstützung – etwa: „Ihre CPU wird nicht offiziell unterstützt“.Das ist zwar ärgerlich, lässt sich aber mit [Befehl einfügen] umgehen -no-hardware-warning. Mehr dazu später.
  • Rechnen Sie mit einigen Warnungen, aber das Ziel ist eine Meldung, die bestätigt, dass das Update erfolgreich war und ein Neustart erforderlich ist. Zum Beispiel: „ Das Update wurde erfolgreich abgeschlossen, aber das System muss neu gestartet werden, damit die Änderungen wirksam werden.“

Update abschließen – Neustart und Überprüfung

  • Deaktivieren Sie die Firewall-Regel, wenn Sie möchten: esxcli network firewall ruleset set -e false -r httpClientSicherheit geht vor.
  • Starten Sie den Host neu: reboot. Das System wird heruntergefahren, stellen Sie daher sicher, dass Ihre VMs ausgeschaltet sind oder gegebenenfalls Storage vMotion verwenden.
  • Nach dem Neustart können Sie die Aktualisierung überprüfen, indem Sie das Programm vmware -verneut ausführen, oder das Profil mit überprüfen esxcli software profile get.

Sollte Ihr Online-Upgrade fehlschlagen oder eine Fehlermeldung wie „Keine Daten vom Prozess empfangen“ ausgeben, empfiehlt sich die Offline-Methode: Laden Sie das Paket herunter und installieren Sie es lokal. So sind Sie nicht auf Netzwerkverbindungen oder das Online-Depot von VMware angewiesen, das mitunter instabil sein oder durch Proxys blockiert werden kann.

Offline-Bundle-Methode – Wenn das Internet nicht dein Freund ist

  1. Gehen Sie zum Patch-Portal von VMware und melden Sie sich an.
  2. Wählen Sie Ihr Produkt: ESXi (Embedded und Installable) und suchen Sie die gewünschte Version. Laden Sie die neueste Offline-Bundle-ZIP-Datei (oder einen Upgrade-Patch) herunter.
  3. Laden Sie die ZIP-Datei mithilfe des Datenspeicher-Browsers im vSphere Client oder per SSH in Ihren lokalen Datenspeicher hoch. Bei begrenztem Speicherplatz können Sie den VMFS-Datenspeicher erweitern oder ein externes USB-Laufwerk an ESXi anschließen.
  4. Stellen Sie eine SSH-Verbindung zu Ihrem Host her und wechseln Sie in den Wartungsmodus: vim-cmd /hostsvc/maintenance_mode_enter.
  5. Ausführen esxcli software sources profile list --depot /vmfs/volumes/your_datastore/folder/your_bundled_offline.zip, um verfügbare Profile anzuzeigen.
  6. Aktualisieren Sie von dieser ZIP-Datei mit: esxcli software vib update --depot /vmfs/volumes/your_datastore/folder/your_bundled_offline.zip. Fügen Sie dies hinzu --profile, wenn Sie eine bestimmte Version wünschen.
  7. Neustart reboot -fund Verlassen des Wartungsmodus: vim-cmd /hostsvc/maintenance_mode_exit.
  8. Überprüfen Sie Ihre Version mit [Befehl einfügen vmware -v].Hoffentlich wird die neue Version angezeigt!

Profi-Tipp: Sie können das alles auch mit PowerCLI automatisieren, insbesondere wenn Sie mehrere Hosts verwalten. Vergessen Sie aber nicht, vorher die Hardwareunterstützung für die neue ESXi-Version zu prüfen – der VMware-Kompatibilitätsleitfaden ist dabei sehr hilfreich.

Das war’s im Großen und Ganzen. Ja, es ist etwas mühsam, aber nach ein paar Malen geht es viel leichter von der Hand. Rechnen Sie mit den üblichen Schwierigkeiten und Fehlern, aber letztendlich ist es eine zuverlässige Methode, Ihre ESXi-Hosts auf dem neuesten Stand zu halten, falls die GUI-Tools nicht zur Verfügung stehen.