ESXi remote via HTTP installieren ESXi-Setup über natives UEFI-HTTP

Mit vSphere 7.0 Update 2 hat VMware eine neue Methode zum Starten des ESXi-Setups einge­führt, die natives UEFI-HTTP ver­wendet. Dieses bietet die Möglich­keit, ESXi über das Netz­werk zu instal­lieren, ohne dafür die gesamte PXE-Infra­struktur (PXE-Server, TFTP und DHCP) von Auto Deploy ein­richten zu müssen.

Wer PXE bzw. Auto Deploy bereits einsetzt, sollte dies auch weiterhin tun. Ein HTTP-Boot von ESXi versteht sich lediglich als weitere Option zum Starten von ESXi über das Netzwerk. Alles was Sie dazu benötigen, ist ein Web-Server und die Konfiguration einiger erweiterter VM-Parameter.

Voraussetzungen

Wer dieses Setup ausprobieren möchte, braucht einen ESXi-Host, der UEFI-Firmware mit HTTP-Support unterstützt. Ich verwende in der Lab-Umgebung dafür einen virtualisierten ESXi-Host.

Ferner benötigen wir ein aktuelles Installations-ISO mit ESXi 7.0 U2 oder höher und (optional) eine Kickstart-Datei für die unbeaufsichtigte Installation.

Web-Server vorbereiten

Zuerst extrahieren Sie das Installer-ISO für ESXi und kopieren die gesamte Verzeichnis­struktur inklusive aller Dateien in einen Ordner auf Ihrem Web-Server. Ich verwende hierzu einfach einen frisch aufgesetzten IIS. Das Ziel­verzeichnis ist in diesem Fall C:\inetpub\wwwroot\esxi

Entpackte Installationsmedien für ESXi 7 U2 auf dem Web-Server
Entpackte Installationsmedien für ESXi 7 U2 auf dem Web-Server.

Dann kopieren Sie von der gerade extrahierten ISO die Datei /efi/boot/bootx64.efi in ein Verzeichnis auf Ihrem HTTP-Server und benennen Sie die Datei in mboot.efi um.

Boot-Datei auf dem Web-Server umbenennen
Boot-Datei auf dem Web-Server umbenennen.

Wir verwenden für die Datei einfach dasselbe ESXi-Verzeichnis. Dann öffnen Sie die Datei /efi/boot/boot.cfg und ändern Sie einige Einträge.

Erst müssen Sie die folgende Zeile mit der URL des neu erstellten Verzeichnisses hinzufügen:

prefix=http://<IP Webserver>/esxi

Die Dateinamen in den Zeilen kernel= und modules= beginnen mit einem Schrägstrich (/). Löschen Sie dieses Zeichen dort und bei allen anderen Dateinamen.

boot.cfg für den Start vom Web-Server anpassen
boot.cfg für den Start vom Web-Server anpassen.

Wenn die Zeile

kernelopt=

die Zeichenkette „cdromBoot“ enthält, dann entfernen Sie nur diesen String.

Für eine Script-gesteuerte Installation fügen Sie in der Datei boot.cfg nach dem Kernel-Befehl die Option kernelopt ein und geben Sie den Speicherort des Installations-Scripts an. Die Anweisung könnte so aussehen:

kernelopt=ks=http://www.example.com/esxi_ksFiles/ks.cfg

Tipp: UEFI-HTTP unterstützt das Starten mehrerer Versionen des ESXi-Setups. Sie verwenden dann anfänglich denselben Bootloader mboot.efi für alle Ziel­maschinen, danach jedoch unterschiedliche boot.cfg-Dateien, und zwar abhängig von der MAC-Adresse der Server.

Stellen Sie sicher, dass auf Ihren Web-Server zugegriffen werden kann und er nicht durch eine Firewall blockiert wird. Auf unserem Windows-IIS erlauben wir dazu Port 80.

Virtualisierter ESXi-Host

Jetzt benötigen Sie für den Test im Lab einen virtualisierten ESXi-Host. Den können Sie wahlweise auf einem physischen ESXi-Server via Host-Client erstellen oder erstellen eine VM für einen verschachtelten ESXi. Achtung: Für Nested Virtualization gibt es keinen Support von VMware.

Virtuelle Maschine für den verschachtelten ESXi erstellen
Virtuelle Maschine für den verschachtelten ESXi erstellen.

Wichtig ist hierbei, dass Sie im Reiter VM Optionen unter Erweitert => Konfigurations­parameter => Konfiguration bearbeiten zwei Parameter manuell hinzufügen:

networkBootProtocol - httpv4

networkBootUri - http://172.20.10.81/esxi/efi/boot/bootx64.efi

Hier weiterlesen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.