Sie können einen Webserver verwenden, um das ESXi-Installationsprogramm mit PXE zu starten. Da die meisten Umgebungen neben ESXi-Hosts, die UEFI-Starts unterstützen, auch Hosts enthalten, die ausschließlich Legacy-BIOS unterstützen, werden in diesem Thema Voraussetzungen und Schritte für beide Hosttypen behandelt.

  • Für Legacy-BIOS-Maschinen unterstützt das Verfahren den Start mehrerer verschiedener Versionen des ESXi-Installationsprogramms mithilfe desselben anfänglichen pxelinux.0- oder gpxelinux.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, der für PXE-Startvorgänge konfiguriert ist. 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 Webservers erfüllt.

Prozedur

  1. Konfigurieren Sie den DHCP-Server für den HTTP-Start.
  2. (Nur UEFI) iPXE abrufen und konfigurieren:
    1. Rufen Sie den iPXE-Quellcode wie unter http://ipxe.org/download beschrieben ab.
    2. Befolgen Sie die Anweisungen auf dieser Seite, aber verwenden Sie den folgenden Make-Befehl:
      make bin-x86_64-efi/snponly.efi
    3. Kopieren Sie die resultierende Datei snponly.efi in das Verzeichnis /tftpboot auf dem TFTP-Server.
  3. (Nur UEFI) Kopieren Sie die Datei efi/boot/bootx64.efi aus dem ISO-Image des ESXi-Installationsprogramms in das Verzeichnis /tftpboot/mboot.efi auf dem TFTP-Server.
    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. (Nur Legacy-BIOS) PXELINUX abrufen und konfigurieren:
    1. Rufen Sie SYSLINUX Version 3.86 ab, entpacken Sie das Programm und kopieren Sie die Datei gpxelinux.0 in das Verzeichnis /tftpboot der obersten Ebene auf dem TFTP-Server.
    2. Erstellen Sie eine PXELINUX-Konfigurationsdatei mithilfe des folgenden Codemodells.
      ESXi-6.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-6.x.x-XXXXXX/mboot.c32 					
        APPEND -c ESXi-6.x.x-XXXXXX/boot.cfg
        IPAPPEND 2
      
    3. Speichern Sie die Datei PXELINUX im Verzeichnis /tftpboot/pxelinux.cfg auf dem TFTP-Server mit einem Dateinamen, der angibt, ob alle Hosts dieses Installationsprogramm standardmäßig starten:
      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 nur ein bestimmter Host mit dieser Datei gestartet werden soll, z. B. 01-23-45-67-89-0a-bc.
  5. Erstellen Sie ein Verzeichnis auf dem HTTP-Server mit dem Namen der ESXi-Version, die darin abgelegt werden soll, z. B. /var/www/html/ESXi-6.x.x-XXXXXX.
  6. Kopieren Sie den Inhalt des Images des ESXi-Installationsprogramms in das soeben erstellte Verzeichnis.
  7. Bearbeiten Sie die Datei boot.cfg.
    1. Fügen Sie folgende Zeile hinzu:
      prefix=http://XXX.XXX.XXX.XXX/ESXi-6.x.x-XXXXXX
      wobei http://XXX.XXX.XXX.XXX/ESXi-6.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.
  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. (Nur UEFI) Geben Sie an, ob alle UEFI-Hosts dasselbe Installationsprogramm 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.