Tags: ESXi, Patch-Management, OS Deployment, Kommandozeile
Zwar bietet vSphere gleich mehrere Mechanismen für ein automatisiertes Upgrade von ESXi, aber beim kostenlosen vSphere Hypervisor beschränken sich diese auf wenige manuelle Verfahren. Entscheidet man sich dabei für die Kommandozeile, dann übernimmt das Dienstprogramm esxcli die gewünschte Aufgabe.
Als bevorzugtes Tool für das zentrale Upgrade von ESXi-Hosts positioniert VMware den vSphere Update Manager (VUM). Besitzt man eine Lizenz von vSphere, dann verursacht er keine Extrakosten und seine Inbetriebnahme hat sich in vSphere 6.5 deutlich vereinfacht.
Kommandozeile, Host-Client oder Setup
In kleinen Umgebungen, die ohne vCenter auskommen, ist das Upgrade über Kommandozeilen-Tools nach wie vor die gängigste Variante, auch wenn der neue Host Client ebenfalls dazu in der Lage ist. Allerdings erfordert dieser ähnlich viel Handarbeit und bietet somit bloß den Vorteil, dass man nicht an die Konsole bzw. keine SSH-Verbindung aufbauen muss.
Das Gleiche gilt erst recht für die dritte Methode, wo man einen Host von den Installationsmedien (DVD oder USB-Stick) bootet und anschließend das Setup durchläuft.
Remote-Upgrade bei ESXi Free eingeschränkt
Je nachdem welche ESXi-Version Sie einsetzen, gibt es dazu verschiedene CLI-Werkzeuge, die sich lokal oder remote nutzen lassen. Wer den freien ESXi-Hypervisor verwendet, muss allerdings auf jegliche Remote-Werkzeuge verzichten, da VMware bei diesem die verfügbaren APIs künstlich beschneidet.
Während sich also ein lizenzierter ESXi auch über das Perl-basierte vCLI oder das PowerCLI-Cmdlet InstallVMHostPatch remote aktualisieren lässt, bleibt bei ESXi Free nur der Aufruf von esxcli in der ESXi-Shell. Dies erfordert entweder physischen Zugang zum Host, wo man sie auf der DCUI via Alt+F1 erreichen kann. Alternativ baut man eine SSH-Verbindung zum ESXi-Server auf.
Als Basis für ESXi-Upgrades dienen vSphere Installation Bundles (VIBs). Wie man solche Installationspakete anpasst und einspielt, habe ich bereits im Beitrag Was sind VIBs und wie werden sie installiert? erklärt.
Upgrades über esxcli installieren
Denken Sie daran, eingeschaltete VMs vor dem Upgrade herunterzufahren oder zu migrieren und den Host in den Maintenance Mode zu versetzen.
Auf der ESXi-Shell des betreffenden Hosts findet man mit diesem Befehl schnell heraus, welche ESXi-Version aktuell läuft:
vmware -lv
Wir verzichten auf das Einrichten eines Offline-Depots und beziehen die Patches direkt von VMwares Online-Depot, wozu Sie den entsprechenden Zugriff ggf. zunächst in der ESXi-Firewall mittels
esxcli network firewall ruleset set -e true -r httpClient
zulassen müssen. Um herauszufinden, welche Profile in VMwares Online-Depot verfügbar sind, verwenden Sie
esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | sort -r
Die Sortierung nach Datum sorgt dafür, dass das neuste Profil oben steht, hier ESXi-6.5.0-20170304001-standard. Der Parameter -d referenziert dabei ein Depot. In der Abbildung ist der Acceptance Level übrigens PartnerSupported, was nicht der Voreinstellung entspricht.
Greift Ihr ESXi-Host über einen Proxy-Server auf das Internet zu, dann geben Sie diesen über den Parameter -proxy SERVER:PORT an. Mit dem gewünschten Profilnamen bewaffnet, können Sie das gewünschte Upgrade wie folgt herunterladen und nach diesem Muster anwenden:
esxcli software profile update -p ESXi-6.5.0-20170304001-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
Anschließend ist ein Reboot fällig. Den Nachweis, ob das Upgrade geklappt hat, liefert wieder
vmware –lv
Sind mehrere Hosts zu aktualisieren, dann ist es zu überlegen, ob Sie nicht ein Offline-Bundle auf einem Shared Storage bereitstellen sollten, um den mehrfachen Download des VIB vom Internet zu vermeiden.
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 vSphere 8 Update 2: ESXi Lifecycle Management Service, mehr KI-Rechenleistung, Integration mit Azure AD
- ESXi-Kommandozeile: Die 25 wichtigsten esxcli-Befehle
- Gartner Quadrant zu Unified Endpoint Management: Microsoft und VMware führend, nur 6 Hersteller im Vergleich
- VMware bringt App mit Benachrichtigungen zu Patches, Schwachstellen und Troubleshooting
- ESXi remote via HTTP installieren
Weitere Links
6 Kommentare
Glaube es geht mit der Methode nicht mehr:
Got no data from process: LANG=en_US.UTF-8 /usr/lib/vmware/esxcli-software sources.profile.list -d "https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-ind..."
I am also getting same error.How to resolve it?
Moin,
ich bekomme leider eine Fehlermeldung aufgrund meiner Treiber für meine Netzwerkkarte.
[root@localhost:~] esxcli software profile update -p=ESXi-6.7.0-8169922-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-inde
x.xml
[DependencyError]
VIB VFrontDe_bootbank_net51-r8169_6.011.00-2vft.510.0.0.799733 requires vmkapi_2_1_0_0, but the requirement cannot be satisfied within the ImageProfile.
VIB VFrontDe_bootbank_net51-sky2_1.20-2vft.510.0.0.799733 requires vmkapi_2_1_0_0, but the requirement cannot be satisfied within the ImageProfile.
Please refer to the log file for more details.
Eine Idee, wie ich das lösen kann? Oder muss ich noch warten?
Moin, die URL stimmt schon. Allerdings hat sich in den Befehl bei "-p=" ein überflüssiges Gleichheitszeichen eingeschlichen. Ferner muss das gewünschte Image-Profil natürlich an den aktuellen Zeitpunkt angepasst werden. Ferner ist es natürlich ein Standard-Profil von VMware. Wer spezifische Treiber (VIBS) benötigt,muss natürlich mit Imagebuilder ein eigenes individualisiertes Image/Image-Profil verwenden.
Hallo!
Gute Anleitung, wenn man das nicht so oft macht. Läuft leider auf einen Fehler:
Could not download from depot at https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-ind..., skipping (('https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-ind...', '', 'file not found'))
Gibt es eine neue URL zum Download des XML?
I am trying to upgrade my ESXi 6.7 host with below command.
esxcli software profile update -p ESXi-7.0.0-15843807-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-ind...
But getting below error,
Got no data from process: LANG=en_US.UTF-8 /usr/lib/vmware/esxcli-software profile.update -d "https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-ind..." -p "ESXi-7.0.0-15843807-standard"
Any idea how I can solve that?