È possibile utilizzare un server TFTP per avviare PXE per avviare il programma di installazione ESXi. Il processo è leggermente diverso a seconda che si utilizzi UEFI o l'avvio da un BIOS legacy.

  • Per le macchine con BIOS legacy, la procedura supporta l'avvio di più versioni diverse del programma di installazione di ESXi utilizzando lo stesso caricatore di avvio iniziale pxelinux.0 per tutte le macchine di destinazione, ma file di configurazione PXELINUX potenzialmente diversi in base all'indirizzo MAC della macchina di destinazione.
  • Per le macchine UEFI, la procedura supporta l'avvio di più versioni diverse del programma d'installazione di ESXi utilizzando lo stesso caricatore di avvio iniziale mboot.efi per tutte le macchine di destinazione, ma potenzialmente diverso da boot.cfg in base all'indirizzo MAC della macchina di destinazione.

Prerequisiti

Dato che la maggior parte degli ambienti include host ESXi che supportano l'avvio UEFI e host che supportano solo BIOS legacy, questo argomento illustra i prerequisiti e i passaggi per entrambi i tipi di host.

Verificare che l'ambiente soddisfi i seguenti requisiti.

  • Immagine ISO del programma di installazione di ESXi, scaricata dal sito Web di VMware.
  • Host di destinazione con una configurazione hardware supportata per la versione di ESXi in uso. Vedere la Guida alla compatibilità di VMware.
  • Scheda di rete con supporto PXE nell'host ESXi di destinazione.
  • Server DHCP che è possibile configurare per l'avvio PXE. Vedere Esempi di configurazioni DHCP.
  • Server TFTP.
  • Criteri di sicurezza della rete per consentire il traffico TFTP (porta UDP 69).
  • Per il BIOS legacy, è possibile utilizzare solo la rete IPv4. Per l'avvio PXE UEFI, è possibile utilizzare la rete IPv4 o IPv6.
  • (Facoltativo) Script di installazione (file kickstart).
  • Utilizzare una VLAN nativa nella maggior parte dei casi. Se si desidera specificare l'ID VLAN da utilizzare con l'avvio PXE, verificare che la scheda NIC supporti la specifica dell'ID VLAN.
Per i sistemi BIOS legacy, ottenere la versione 3.86 del pacchetto SYSLINUX. Per ulteriori informazioni, vedere Informazioni sullo sfondo dell'avvio di rete.

Procedura

  1. Se l'host ESXi esegue solo il firmware BIOS legacy, ottenere e configurare PXELINUX.
    1. Ottenere SYSLINUX versione 3.86, decomprimerlo e copiare il file pxelinux.0 nella directory di primo livello /tftpboot sul server TFTP.
    2. Creare un file di configurazione PXELINUX utilizzando il modello di codice seguente.
      ESXi-8.x.x-XXXXXX è il nome della sottodirectory TFTP che contiene i file del programma di installazione di ESXi.
      DEFAULT install
      NOHALT 1
      LABEL install
        KERNEL ESXi-8.x.x-XXXXXX/mboot.c32
        APPEND -c ESXi-8.x.x-XXXXXX/boot.cfg
        IPAPPEND 2
      
    3. Salvare il file PXELINUX nella directory /tftpboot/pxelinux.cfg sul server TFTP con un nome di file che determinerà se tutti gli host avviano questo programma di installazione per impostazione predefinita:
      Opzione Descrizione
      Stesso programma di installazione Assegnare al file il nome default se si desidera che tutti gli host avviino questo programma di installazione di ESXi per impostazione predefinita.
      Diversi programmi di installazione Denominare il file con l'indirizzo MAC della macchina host di destinazione (01-mac_address_of_target_ESXi_host) se si desidera che solo un host specifico venga avviato con questo file, ad esempio 01-23-45-67-89-0a-bc.
  2. Se l'host ESXi esegue il firmware UEFI, copiare i file efi/boot/bootx64.efi e efi/boot/crypto64.efi dell'immagine ISO del programma di installazione di ESXi nella cartella /tftpboot del server TFTP.
  3. Rinominare il file efi/boot/bootx64.efi con mboot.efi.
    Nota: In genere, le versioni più recenti di mboot.efi possono avviare le versioni precedenti di ESXi, ma le versioni precedenti di mboot.efi potrebbero non essere in grado di avviare le versioni più recenti di ESXi. Se si intende configurare host diversi per l'avvio di versioni diverse del programma di installazione di ESXi, utilizzare il file mboot.efi della versione più recente.
  4. Configurare il server DHCP.
  5. Creare una sottodirectory della directory /tftpboot di primo livello del server TFTP e denominarla come la versione di ESXi che includerà, ad esempio /tftpboot/ESXi-8.x.x-xxxxx.
  6. Copiare il contenuto dell'immagine del programma di installazione di ESXi nella directory appena creata.
  7. Modificare il file boot.cfg
    1. Aggiungere la seguente riga:
      prefix=ESXi-7.x.x-xxxxxx
      In questo caso, ESXi-7.x.x-xxxxxx è il percorso dei file del programma di installazione relativi alla directory root del server TFTP.
    2. Se i nomi dei file nelle righe kernel= e modules= iniziano con un carattere barra (/), eliminare tale carattere.
    3. Se la riga kernelopt= contiene la stringa cdromBoot, rimuovere solo la stringa.
  8. (Facoltativo) Per un'installazione controllata da script, nel file boot.cfg, aggiungere l'opzione kernelopt alla riga dopo il comando del kernel per specificare la posizione dello script di installazione.
    Utilizzare il codice seguente come modello, in cui XXX.XXX.XXX.XXX è l'indirizzo IP del server in cui si trova lo script di installazione e esxi_ksFiles è la directory che contiene il file ks.cfg.
    kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
  9. Se l'host ESXi esegue il firmware UEFI, specificare se si desidera che tutti gli host UEFI avviino lo stesso programma di installazione.
    Opzione Descrizione
    Stesso programma di installazione Copiare o collegare il file boot.cfg in /tftpboot/boot.cfg
    Diversi programmi di installazione
    1. Creare una sottodirectory di /tftpboot denominata dopo l'indirizzo MAC della macchina host di destinazione (01-mac_address_of_target_ESXi_host), ad esempio 01-23-45-67-89-0a-bc.
    2. Inserire una copia (o un collegamento) del file boot.cfg dell'host in tale directory, ad esempio /tftpboot/01-23-45-67-89-0a-bc/boot.cfg.