Sie können iPXE zum Starten des ESXi-Installationsprogramms über einen HTTP-Server verwenden. Im folgenden Thema werden die Voraussetzungen und Schritte für ESXi-Hosts diskutiert, die UEFI-Start und Hosts unterstützen, die nur Legacy-BIOS unterstützen.

  • Für Legacy-BIOS-Maschinen unterstützt das Verfahren den Start mehrerer verschiedener Versionen des ESXi-Installationsprogramms mithilfe desselben anfänglichen pxelinux.0-Bootloaders für alle Zielmaschinen, wobei aber je nach MAC-Adresse der Zielmaschine möglicherweise unterschiedliche PXELINUX-Konfigurationsdateien verwendet werden.
  • Für UEFI-Maschinen unterstützt das Verfahren den Start mehrerer verschiedener Versionen des ESXi-Installationsprogramms mithilfe desselben anfänglichen mboot.efi-Bootloaders für alle Zielmaschinen, wobei aber je nach MAC-Adresse der Zielmaschine möglicherweise unterschiedliche boot.cfg-Dateien verwendet werden.

Voraussetzungen

Überprüfen Sie, ob Ihre Umgebung über die folgenden Komponenten verfügt:

  • ISO-Image des ESXi-Installationsprogramms, das von der VMware-Website heruntergeladen wurde.
  • Zielhosts mit einer Hardwarekonfiguration, die für Ihre ESXi-Version unterstützt wird. Weitere Informationen finden Sie im VMware-Kompatibilitätshandbuch.
  • Netzwerkadapter mit PXE-Unterstützung auf dem ESXi-Zielhost
  • DHCP-Server, den Sie für den PXE-Startvorgang konfigurieren können. Weitere Informationen hierzu finden Sie unter DHCP-Beispielkonfigurationen.
  • TFTP-Server.
  • Netzwerksicherheitsrichtlinien zum Zulassen des TFTP-Datenverkehrs (UDP-Port 69)
  • Für Legacy-BIOS können Sie nur IPv4-Netzwerke verwenden. Zum Starten von UEFI mit PXE können Sie IPv4- oder IPv6-Netzwerke verwenden.
  • (Optional) Installationsskript (Kickstart-Datei).
  • In den meisten Fällen ist die Verwendung eines nativen VLANs sinnvoll. Wenn Sie die VLAN-ID angeben möchten, die mit dem PXE-Startvorgang verwendet wird, stellen Sie sicher, dass Ihre Netzwerkkarte die VLAN-ID-Spezifikation unterstützt.
Stellen Sie sicher, dass Ihre Umgebung auch die folgenden Voraussetzungen für den PXE-Start mithilfe eines HTTP-Servers erfüllt:
  • Stellen Sie sicher, dass die ESXi-Zielhosts auf den HTTP-Server zugreifen können.
  • Wenn auf Ihrem ESXi-Host nur Legacy-BIOS-Firmware ausgeführt wird, erwerben Sie Version 3.86 des SYSLINUX-Pakets. Weitere Informationen finden Sie unter Hintergrundinformationen zum Netzwerkstart.

Prozedur

  1. Rufen Sie iPXE ab und konfigurieren Sie diese Datei.
    1. Rufen Sie den iPXE-Quellcode ab.
    2. Befolgen Sie auf der Downloadseite von iPXE die Anweisungen zum Erstellen, aber führen Sie einen der folgenden Befehle aus.
      • Führen Sie für ESXi-Hosts unter Legacy-BIOS-Firmware den Befehl make bin/undionly.kpxe aus.
      • Führen Sie für ESXi-Hosts unter UEFI-Firmware den Befehl make bin-x86_64-efi/snponly.efi aus.
    3. Kopieren Sie die Datei undionly.kpxe oder snponly.efi in das Verzeichnis /tftpboot auf Ihrem TFTP-Server.
  2. Wenn auf Ihrem ESXi-Host nur Legacy-BIOS-Firmware ausgeführt wird, rufen Sie PXELINUX ab und konfigurieren Sie diese Datei.
    1. Rufen Sie SYSLINUX Version 3.86 ab, entpacken Sie das Programm und kopieren Sie die Datei pxelinux.0 in das Verzeichnis /tftpboot auf dem TFTP-Server.
    2. Erstellen Sie eine PXELINUX-Konfigurationsdatei mithilfe des folgenden Codemodells.
      ESXi-7.x.x-XXXXXX ist der Name des TFTP-Unterverzeichnisses, das die Dateien des ESXi-Installationsprogramms enthält.
      DEFAULT install
      NOHALT 1
      LABEL install
        KERNEL ESXi-7.x.x-XXXXXX/mboot.c32
        APPEND -c ESXi-7.x.x-XXXXXX/boot.cfg
        IPAPPEND 2
      
    3. Speichern Sie die PXELINUX-Datei auf dem TFTP-Server im Verzeichnis /tftpboot/pxelinux.cfg/.
      Der Dateiname gibt an, ob dieses Installationsprogramm von allen Hosts standardmäßig gestartet wird.
      Option Beschreibung
      Dasselbe Installationsprogramm Geben Sie der Datei den Namen default, wenn alle Hosts dieses ESXi-Installationsprogramm standardmäßig starten sollen.
      Verschiedene Installationsprogramme Benennen Sie die Datei mit der MAC-Adresse der Zielhostmaschine (01-mac_address_of_target_ESXi_host), wenn diese Datei nur von einem bestimmten Host gestartet werden muss. Beispiel: 01-23-45-67-89-0a-bc.
  3. Wenn auf Ihrem ESXi-Host UEFI-Firmware ausgeführt wird, kopieren Sie die Datei efi/boot/bootx64.efi aus dem ISO-Image des ESXi-Dienstprogramms in den Ordner /tftpboot auf Ihrem TFTP-Server und benennen Sie die Datei in mboot.efi um.
    Hinweis: Neuere Versionen der Datei mboot.efi können in der Regel ältere Versionen von ESXi starten. Ältere Versionen der Datei mboot.efi hingegen können neuere Versionen von ESXi unter Umständen nicht starten. Wenn Sie verschiedene Hosts konfigurieren möchten, um unterschiedliche Versionen des ESXi-Installationsprogramms zu starten, verwenden Sie die Datei mboot.efi aus der neuesten Version.
  4. Konfigurieren Sie den DHCP-Server.
  5. Erstellen Sie ein Verzeichnis auf Ihrem HTTP-Server mit dem gleichen Namen wie die ESXi-Version, die darin enthalten ist. Beispiel: /var/www/html/ESXi-7.x.x-XXXXXX.
  6. Kopieren Sie den Inhalt des Images des ESXi-Installationsprogramms in das neu erstellte Verzeichnis.
  7. Bearbeiten Sie die Datei boot.cfg.
    1. Fügen Sie folgende Zeile hinzu:
      prefix=http://XXX.XXX.XXX.XXX/ESXi-7.x.x-XXXXXX
      wobei http://XXX.XXX.XXX.XXX/ESXi-7.x.x-XXXXXX den Speicherort der Installationsdateien auf dem HTTP-Server angibt.
    2. Wenn die Dateinamen in den kernel=- und modules=-Zeilen mit einem umgekehrten Schrägstrich (/) beginnen, löschen Sie dieses Zeichen.
    3. Wenn die kernelopt=-Zeile die Zeichenfolge cdromBoot enthält, entfernen Sie nur die Zeichenfolge.
  8. (Optional) Fügen Sie für eine Skriptinstallation in der boot.cfg-Datei die Option kernelopt in die Zeile nach dem Kernelbefehl ein, um den Speicherort des Installationsskripts anzugeben.
    Verwenden Sie den folgenden Code als Beispiel, wobei XXX.XXX.XXX.XXX die IP-Adresse des Servers ist, auf dem sich das Installationsskript befindet, und esxi_ksFiles das Verzeichnis, in dem sich die Datei ks.cfg befindet.
    kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
  9. Wenn auf Ihrem ESXi-Host UEFI-Firmware ausgeführt wird, geben Sie an, ob alle UEFI-Hosts dasselbe Dienstprogramm starten sollen.
    Option Beschreibung
    Dasselbe Installationsprogramm Kopieren Sie die Datei boot.cfg in das Verzeichnis /tftpboot/boot.cfg oder verknüpfen Sie sie mit diesem Verzeichnis.
    Verschiedene Installationsprogramme
    1. Erstellen Sie ein Unterverzeichnis von /tftpboot, das nach der MAC-Adresse der Zielhostmaschine (01-mac_address_of_target_ESXi_host) benannt ist, z. B. 01-23-45-67-89-0a-bc.
    2. Legen Sie eine Kopie (oder eine Verknüpfung mit) der Datei boot.cfg des Hosts in diesem Verzeichnis ab, z. B. /tftpboot/01-23-45-67-89-0a-bc/boot.cfg.