Tags: ESXi, OS Deployment
Ein vSphere-Upgrade umfasst zuerst ein Upgrade von vCenter, dann von ESXi und ggf. gefolgt von einem solchen für vSAN. Zum Schluss erfolgt die Aktualisierung der virtuellen Maschinen. VMware sieht mehrere Methoden für die Aktualisierung von ESXi vor, darunter auch zwei, die sich für Standalone-Hosts eignen.
Auf Servern mit ESXi 6.5 oder 6.7 erfordert das Update auf ESXi 7.0 keine Neuinstallation des Hypervisors, denn diese beiden Versionen unterstützen ein direktes Upgrade auf Version 7. Wer ESXi 6.0 oder älter verwendet, muss einen Zwischenschritt einlegen. Man aktualisiert beispielsweise zuerst auf Version 6.5 und dann auf Version 7.0. Alternativ können Sie ESXi 7.0 neu installieren.
ESXi-Upgrade-Anforderungen
Die bisher mit ESXi 6.x verwendete Hardware muss natürlich auch mit ESXi 7.0 kompatibel sein, also die Hardware-Anforderungen von VMware erfüllen. Diese haben sich im Vergleich zu den Vorgängerversionen nicht wesentlich verändert. Neu hingegen ist, dass ESXi 7.0 neben einem Boot-Laufwerk mit mindestens 8 GB für USB- oder SD-Geräte noch ein 32 GB-Volume auf HDD-, SSD- oder NVMe-Geräten für die neue OS-Data-Partition benötigt.
Bei Festplatten, die an einem unterstützten SAS- oder On-Board-SATA-Controller hängen, muss man bedenken, dass diese als remote und nicht als lokal betrachtet werden. ESXi verwendet sie daher standardmäßig nicht für die Scratch-Partition, sie stehen also nicht als HDD-Volume für die OS-Data-Partition zur Verfügung.
Sobald ein nicht unterstütztes Gerät erkannt wird, etwa veraltete CPUs oder Festplatten-Controller, dann bricht das ESXi-Upgrade ab. Darüber hinaus dürfen auf einem Host keine VMs ausgeführt werden, wenn man den Aktualisierungsprozess startet, und es muss ausreichend freier Speicherplatz vorhanden sein.
Obwohl ein ESXi-Upgrade nicht schwierig ist, sollten Sie vorher dennoch ein Backup der Host-Konfiguration erstellen. Auf diese Weise können Sie den Rechner, wenn etwas schief geht, auf eine Sicherungsversion zurücksetzen.
Wenn VMware-Add-Ons oder -Plugins installiert sind, überprüfen Sie deren Kompatibilität ebenfalls mithilfe der VMware-Kompatibilitätsmatrix.
Upgrade-Methoden
Klammert man Auto Deploy erstmal aus, dann gibt es drei valide Methoden für ein ESXi 7-Upgrade:
- Booten vom Installationsmedium und Auswahl eines vorhandenen ESXi-6.5/6.7-Volumes als Installations-Ziel. Diese Methode klappt sowohl für eigenständige ESXi-Hosts, als auch für solche, die von vCenter verwaltet werden.
- Mithilfe der esxcli-Befehlszeile. Auch diese Methode eignet sich für beide Arten von Hosts (Standalone von vCenter verwaltet).
- Via Lifecycle Manager (einer Weiterentwicklung von VMware Update Manager). Diese Methode geht nur für ESXi-Hosts, die von vCenter Server verwaltet werden. Sie ermöglicht das gleichzeitige Aktualisieren mehrerer ESXi-Server mithilfe desselben Images.
Methode 1: Update mit Hilfe des Installers
Sie müssen dafür nur vom unterstützten Installationsmedium booten (zum Beispiel von der CD-ROM-Emulation in Ihrer Server-Management-Software). Wie üblich starten Sie die Installation durch Drücken von F11.
Nachdem der Installer das Speichersystem gescannt hat, müssen Sie lediglich in der Spalte Local: das entsprechende Device auswählen, welches die bestehende Installation von ESXi 6.7 beherbergt.
Im Abschnitt ESXi found bestätigt man dann die bereits ausgewählte Option Upgrade.
Methode 2: Aktualisieren via esxcli
Für Methode 2 fahren Sie zuerst alle VMs auf dem betreffenden Host herunter. Falls er Teil eines vCenter oder HA-/DRS- bzw. vSAN-Custers ist, versetzen Sie ihn entweder im vSphere-Client in dem Wartungsmodus oder geben Sie an der Kommandozeile den Befehl
esxcli system maintenanceMode set --enable true
ein. Sorgen Sie dafür, dass auf dem betreffenden Host SSH erlaubt ist, also der SSH-Daemon läuft.
Offline-Variante mit esxcli
Beim ESXi-Upgrade via esxcli kann man prinzipiell zwischen Offline- und Online-Upgrade unterscheiden. Bei der Offline-Methode müssen Sie zuvor das passende ESXi-7-Offline-Bundle von der myvmware-Seite herunterladen.
Grundsätzlich versteht VMware unter einem Software-Depot eine Sammlung von VIBs und Image-Profilen mit einer Hierarchie von Dateien und Verzeichnissen, auf die über HTTPS zugegriffen werden kann.
Auch das heruntergeladene ZIP-Archiv kann man als ein solches verwenden. Dazu enthält dieses eine Manifest-Datei, die das ZIP-Archiv als Offline-Depot charakterisiert. Zum gegenwärtigen Zeitpunkt heißt die Datei VMware-ESXi-7.0b-16324942-depot.zip.
Nach dem Herunterladen kopieren Sie das Archiv, zum Beispiel via SCP oder mit einem grafischen SFTP-Client wie Bitvise SSH von putty.org auf den ESXi-Host in das /tmp-Verzeichnis. Optional können Sie es auch auf einen vorhandenen Datastore hochladen.
Das Installieren des Offline-Depots erfolgt dann mittels
esxcli software profile update -p ESXi-7.0b-16324942-standard -d /vmfs/volumes/<datastore-name>/ VMware-ESXi-7.0b-16324942-depot.zip
Nach erfolgreicher Ausführung des Befehls wird in der Konsolenausgabe eine Liste der aktualisierten VMware-Installationspaketen (VIBs) angezeigt. Danach starten Sie den ESXi-Host neu, um das Upgrade abzuschließen.
Online-Aktualisierung über die Kommandozeile
Bei der Online-Methode können Sie auf das vorherige Herunterladen und den anschließenden Upload des ZIP-Archivs verzichten, indem Sie das Upgrade direkt aus VMwares Online-Depot bereitstellen.
Dazu muss der betreffende ESXi-Host über einen Internet-Zugang verfügen, sprich ein valides Default-Gateway konfiguriert sein. Dann listen Sie das aktuelle Image-Profil mit den darin enthaltenen Paketen auf:
esxcli software profile get
Sofern der Host im Wartungsmodus ist, müssen Sie in der ESXi-Firewall HTTP-Traffic erlauben:
esxcli network firewall ruleset set -e true -r httpClient
Dann rufen Sie die von VMware im Online-Repository für ESXi 7.0 bereitgestellten Profile folgendermaßen ab:
esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml | grep ESXi-7.0.0
Wir verwenden im Bespiel das Profil: ESXi-7.0.0-15843807-standard
Nun führen Sie wie folgt den Aktualisierungsprozess aus:
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-7.0.0-15843807-standard
Warten Sie einige Minuten, bis der Upgrade-Vorgang abgeschlossen ist.
Das Aktualisieren des esxcli-Softwareprofils verhindert im Gegensatz zur ebenfalls möglichen Installation, dass vorhandene Pakete, Treiber und Konfigurationen überschrieben werden.
Überprüfen Sie anschließend, ob eine dauerhafte Scratch-Partition vorhanden ist. Sie fehlt möglicherweise, wenn Sie ESXi von einem USB-Flash-Laufwerk ausführen. Sofern alles OK ist, müssen Sie den Host jetzt neu starten und anschließend entweder via Host- bzw. vSphere-Client oder mittels
esxcli system maintenanceMode set --enable false
aus dem Wartungsmodus holen.
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
- ESXi remote via HTTP installieren
- ESXi 7 auf SD-Karte oder USB-Stick installieren
- ESXi-Installation mit Kickstart automatisieren: ISO-Image anpassen
- Installation von VMware ESXi mit Kickstart und Antwortdatei automatisieren
- VMware ESXi 6.7 Free: Neuerungen, Einschränkungen, Lizenzierung, Upgrade-Optionen
Weitere Links
8 Kommentare
Hallo Herr Drilling,
ich bin immer wieder begeistert über Ihre ausführlichen und hilfreichen Artikel. Vor Allem aber auch Ihren Präsentationsstil !
Verfolge regelmäßig Ihre Artikel-Neuigkeiten.
Mit freundlichen Grüßen
E.P.
Nice, CLI rocks! Aber da hat sich ein Fehler eingeschlichen.
esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-ind... -p ESXi-7.0.0-15843807-standard (Das s bei standard muss klein geschrieben werden. Ansonsten ist die Rückmeldung "Kenn ich nicht" :D )
Danke, ist korrigiert!
Tolle Anleitung.
Wenn man allerdings beim Aufruf der verfügbaren Profile im Online-Repository den folgenden Fehler erhält:
Could not download from depot at https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-ind...
dann heisst das das ESXi im Moment auf keinen gültigen DNS Server zugreifen kann (ich hatte meinen virtuellen DNS-Server ja mit dem ESXi im Wartungsmodus).
Schnell über F2 > Configure DNS einen gültigen DNS eingetragen und schon kann man der Anleitung wieder folgen.
Solltet ihr in eurem aktuellen ESXi noch alte Treiber installiert haben, wird ein Dependeny Error ausgegeben:
[DependencyError]
VIB Realtek_bootbank_net55-r8168_8.045a-napi requires com.vmware.driverAPI-9.2.2.0, but the requirement cannot be satisfied within the ImageProfile.
Diese alten VIBs lassen sich dann folgendermassen entfernen.
Mit grep den in der Fehlermeldung genannten Treiber heraussuchen:
esxcli software vib list |grep Realtek
Hier dann den vorne stehenden VIB-Namen notieren und den notierten VIB deinstallieren:
esxcli software vib remove --vibname=net55-r8168
Wenn das erfolgreich war kommt folgende Meldung:
Removal Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed:
VIBs Removed: Realtek_bootbank_net55-r8168_8.045a-napi
VIBs Skipped:
Und nach dem Reboot kann man den Updateversuch ohne die störenden alten Treiber versuchen.
Torsten, danke für die hilfreichen Ergänzungen!
Hallo
Ich habe einen ESXI 7.0.0 (Build 15843807)
Kann ich diesen wie oben beschrieben einfach über die Onlineaktualisierung per Kommando Zeile auf die neueste Version heben?
Oder muss ich hier auf Zwischenschritte achten?
Vielen dank.
Danke! Klasse Anleitung die auf den Punkt kommt. Top