È possibile utilizzare iPXE per avviare il programma di installazione di ESXi da un server HTTP.

  • 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

I prerequisiti e i passaggi dipendono solo dal supporto dell'avvio UEFI o del BIOS legacy. È possibile utilizzare iPXE per avviare il programma di installazione di ESXi da un server HTTP. L'argomento seguente illustra i prerequisiti e i passaggi per gli host ESXi che supportano l'avvio UEFI e gli host che supportano solo il BIOS legacy.

Verificare che l'ambiente disponga dei seguenti componenti:

  • 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.
Verificare che l'ambiente soddisfi anche i seguenti prerequisiti necessari per l'avvio PXE tramite un server HTTP:
  • Verificare che il server HTTP sia accessibile per gli host ESXi di destinazione.
  • Se l'host ESXi esegue solo il firmware BIOS legacy, recuperare la versione 3.86 del pacchetto SYSLINUX. Per ulteriori informazioni, vedere Informazioni sullo sfondo dell'avvio di rete.

Procedura

  1. Ottenere e configurare iPXE.
    1. Ottenere il codice sorgente iPXE.
    2. Nella pagina di download di iPXE, seguire le istruzioni della build, ma eseguire uno dei seguenti comandi.
      • Solo per gli host ESXi che eseguono il firmware BIOS legacy, eseguire make bin/undionly.kpxe.
      • Per gli host ESXi che eseguono il firmware UEFI, eseguire make bin-x86_64-efi/snponly.efi.
    3. Copiare il file undionly.kpxe o snponly.efi nella directory /tftpboot sul server TFTP.
  2. 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 /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.
      Il nome del file determina 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 Assegnare al file l'indirizzo MAC della macchina host di destinazione (01-mac_address_of_target_ESXi_host), se questo file deve essere avviato solo da un host specifico. Ad esempio, 01-23-45-67-89-0a-bc.
  3. Se l'host ESXi esegue il firmware UEFI, copiare il file efi/boot/bootx64.efi dall'immagine ISO del programma di installazione di ESXi nella cartella /tftpboot sul server TFTP e rinominare il file 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. Sul server HTTP creare una directory con lo stesso nome della versione di ESXi che conterrà. Ad esempio, /var/www/html/ESXi-8.x.x-XXXXXX.
  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=http://XXX.XXX.XXX.XXX/ESXi-8.x.x-XXXXXX
      dove http://XXX.XXX.XXX.XXX/ESXi-8.x.x-XXXXXX è la posizione dei file del programma di installazione sul server HTTP.
    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 a /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.