VMware ESXi Host im HomeLab
Für den Aufbau einer VMware vSphere Umgebung in meinem HomeLab habe ich mir einen neuen Mini-PC aus der Venus Serie von MinisForum zugelegt. Die Venus Serie ist der bekannten Intel NUC Serie sehr ähnlich, die VMware-Leute seit Jahren in ihren Labors einsetzen. Small Form Factor-Systeme wie der NUC oder seine Varianten werden jedoch von VMware nicht unterstützt und sind nicht in der HCL aufgeführt. Sie sind damit nicht für den Produktionseinsatz geeignet.
Eines der vielversprechendsten Features der Venus Serie ist, dass sie zu einem sehr fairen Preis zwei Intel I225-V 2,5-Gbit-Netzwerkadapter anbietet, die sofort mit ESXi 8.0 laufen. ESXi kann ab der Version 7.0 Update 3f oder Version 8.0 ohne zusätzliche Treiber installiert werden. Wenn versucht wird, eine ältere Version von ESXi 7.0 zu installieren, wird die Fehlermeldung angezeigt, dass kein Netzwerkadapter erkannt wurde. Der Treiber, der zum Ausführen von ESXi 7.0 erforderlich ist, wird von VMware-Mitarbeitern als Fling bereitgestellt.
Download und Lizenz
Wie aus früheren Versionen bekannt, stellt VMware eine kostenlose Version seines Hypervisor ESXi zur Verfügung. Der Lizenzschlüssel kann kostenlos auf der Website von VMware erstellt werden. Er hat kein Ablaufdatum und die Binärdateien, die man als „Free Hypervisor“ erhält, sind zu 100 % identisch mit der kostenpflichtigen Version, weisen jedoch einige Softwareeinschränkungen auf.
Das genaue Vorgehen, um die Software und die Lizenz zu erhalten, ist in einer Anleitung auf "virten.net" beschrieben.
Die Installation von ESXi lässt sich am einfachsten von einem USB Stick durchführen, der mit Hilfe von "Ventoy" direkt die ISO-Datei starten kann.
Installation
Wenn versucht wird, ESXi 7.0 oder 8.0 auf einem System mit einer Intel-CPU der 13. Generation zu installieren, schlägt die Installation mit einem violetten Diagnosebildschirm (PSOD) fehl:
HW feature incompatibility detected; cannot start
Fatal CPU mismatch on feature "Hyperthreads per core"
Fatal CPU mismatch on feature "Cores per package"
Fatal CPU mismatch on feature "Cores per die"
Dieses Problem wird durch die neue CPU-Architektur verursacht, die verschiedene Arten von Kernen umfasst – Performance-Cores und Efficient-Cores. Mit vSphere 7.0 Update 2 wurde der Kernel-Parameter cpuUniformityHardCheckPanic implementiert, um das Problem zu beheben. Die Option kann mit dem folgenden Befehl konfiguriert werden:
# esxcli system settings kernel set -s cpuUniformityHardCheckPanic -v FALSE
Außerdem muß die Kernel-Option ignoreMsrFaults aktiviert werden, um PSOD beim Start von VMs zu verhindern.
# esxcli system settings kernel set -s ignoreMsrFaults -v TRUE
Folgende Schritte waren bei mir nötig, um die Installation durchzuführen:
Schritt 1 - Während des Startvorgangs des ESXi Installers wird eine Option zum Anhängen zusätzlicher ESXi Kernel Boot Einstellungen angezeigt. Das Drücken von UMSCHALT+O ermöglicht die folgende Kernel Option cpuUniformityHardCheckPanic=FALSE an die Befehlszeile anzuhängen und durch Drücken der Eingabetaste den Startvorgang fortzusetzen.
Schritt 2 - Installieren von ESXi gemäß dem Installationsassistenten. Sobald zum Neustart aufgefordert wird, noch nicht neu starten. Die Kernel Option muss erneut hinzugefügt werden, damit ESXi nach der Installation erfolgreich booten kann. Dazu in mit ALT+F1 in die ESXi-Shell wechseln und sich mit Root und leerem Passwort anmelden, da ESXi keinen vollständigen Neustart durchlaufen hat und nicht das konfigurierte Passwort verwendet.
Schritt 3 - Bearbeiten der Datei /vmfs/volumes/BOOTBANK1/boot.cfg mit dem Editor "vi" indem die Kernel-Option cpuUniformityHardCheckPanic=FALSE an den vorhandenen kernelopt-Eintrag angehängt wird. Der sollte danach wie folgt aussehen:
kernelopt=weaselInstalled autoPartition=FALSE cpuUniformityHardCheckPanic=FALSE
Speichern der Änderungen mit dem vi Befehl ":wq" und wechseln zurück zur Neustartaufforderung, indem ALT+F2 gedrückt wird, um dann neu zustarten.
Schritt 4 - Um die ESXi-Kernel-Boot-Einstellung dauerhaft zu konfigurieren, können wir bei zukünftigen Updates/Upgrades die Kernel-Einstellung mit "esxcli" festlegen. Wir müssen uns zunächst bei DCUI anmelden, indem wir F2 drücken und dann zur Fehlerbehebungsoption navigieren und die ESXi Shell aktivieren. Danach wechseln wir in die ESXi-Shell, indem wir ALT+F1 drücken und mit root und dem Passwort anmelden, das bei der Installation konfiguriert wurde. Jetzt müssen die beiden Kernel Optionen mit dem folgenden Befehl konfiguriert werden:
# esxcli system settings kernel set -s cpuUniformityHardCheckPanic -v FALSE
# esxcli system settings kernel set -s ignoreMsrFaults -v TRUE
In diesem englischem Artikel finden sich detaillierte Anweisungen zum Festlegen der Optionen während der Installation. William Lam hat neben einem weiteren Artikel dazu auch ein Video online gestellt.
Für die Einrichtung meines ESXi Hosts hat mir auch diese Anleitung auf "virten.net" sehr geholfen.