iPXE를 사용하여 HTTP 서버에서 ESXi 설치 관리자를 부팅할 수 있습니다. 다음 항목에서는 UEFI 부팅을 지원하는 ESXi 호스트와 기존 BIOS만 지원하는 호스트에 대한 사전 요구 사항 및 단계에 대해 설명합니다.

  • 레거시 BIOS 시스템의 경우 이 절차는 모든 대상 시스템에 대해 동일한 pxelinux.0 초기 부트 로더를 사용하여 여러 다른 버전의 ESXi 설치 관리자 부팅을 지원하지만 다른 PXELINUX 구성 파일은 대상 시스템의 MAC 주소에 따라 다를 수 있습니다.
  • UEFI 시스템의 경우 이 절차는 모든 대상 시스템에 대해 동일한 mboot.efi 초기 부트 로더를 사용하여 여러 다른 버전의 ESXi 설치 관리자 부팅을 지원하지만 다른 boot.cfg 파일은 대상 시스템의 MAC 주소에 따라 다를 수 있습니다.

사전 요구 사항

환경에 다음 구성 요소가 있는지 확인합니다.

  • VMware 웹 사이트에서 다운로드한 ESXi 설치 관리자 ISO 이미지.
  • 사용 중인 ESXi 버전에 대해 지원되는 하드웨어 구성이 포함된 대상 호스트. "VMware 호환성 가이드" 를 참조하십시오.
  • 대상 ESXi 호스트에 있는 PXE가 지원되는 네트워크 어댑터
  • PXE 부팅을 위해 구성할 수 있는 DHCP 서버. DHCP 구성 샘플의 내용을 참조하십시오.
  • TFTP 서버.
  • TFTP 트래픽을 허용하는 네트워크 보안 정책(UDP 포트 69)
  • 기존 BIOS의 경우 IPv4 네트워킹만 사용할 수 있습니다. UEFI PXE 부팅의 경우 IPv4 또는 IPv6 네트워킹을 사용할 수 있습니다.
  • (선택 사항) 설치 스크립트(kickstart 파일).
  • 대부분의 경우 네이티브 VLAN을 사용합니다. PXE 부팅에 사용될 VLAN ID를 지정하려면 NIC에서 VLAN ID 지정을 지원하는지 확인합니다.
환경이 HTTP 서버를 사용하는 PXE 부팅에 필요한 다음과 같은 사전 요구 사항도 충족하는지 확인합니다.
  • 대상 ESXi 호스트에서 HTTP 서버에 액세스할 수 있는지 확인합니다.
  • ESXi 호스트가 기존 BIOS 펌웨어만 실행하는 경우에는 SYSLINUX 패키지의 3.86 버전을 가져옵니다. 자세한 내용은 네트워크 부팅 배경 정보의 내용을 참조하십시오.

프로시저

  1. iPXE를 가져와서 구성합니다.
    1. iPXE 소스 코드를 가져옵니다.
    2. iPXE 다운로드 페이지에서 빌드 지침을 따르되 다음 명령 중 하나를 실행합니다.
      • 레거시 BIOS 펌웨어만 실행하는 ESXi 호스트의 경우 make bin/undionly.kpxe를 실행합니다.
      • UEFI 펌웨어를 실행하는 ESXi 호스트의 경우 make bin-x86_64-efi/snponly.efi를 실행합니다.
    3. undionly.kpxe 또는 snponly.efi 파일을 TFTP 서버의 /tftpboot 디렉토리에 복사합니다.
  2. ESXi 호스트가 레거시 BIOS 펌웨어만 실행하는 경우 PXELINUX를 가져와서 구성합니다.
    1. SYSLINUX 버전 3.86을 가져와서 압축을 푼 후 pxelinux.0 파일을 TFTP 서버의 /tftpboot 디렉토리에 복사합니다.
    2. 다음과 같은 코드 모델을 사용하여 PXELINUX 구성 파일을 생성합니다.
      ESXi-7.x.x-XXXXXXESXi 설치 관리자 파일이 포함된 TFTP 하위 디렉토리의 이름입니다.
      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. PXELINUX 파일을 TFTP 서버의 /tftpboot/pxelinux.cfg 디렉토리에 저장합니다.
      파일 이름은 모든 호스트가 기본적으로 이 설치 관리자를 부팅할지 여부를 결정합니다.
      옵션 설명
      동일한 설치 관리자 기본적으로 모든 호스트가 이 ESXi 설치 관리자를 부팅하도록 하려면 파일의 이름을 default로 지정합니다.
      다른 설치 관리자 특정 호스트만 이 파일을 부팅해야 하는 경우, 대상 호스트 시스템의 MAC 주소(01-mac_address_of_target_ESXi_host)로 파일 이름을 지정합니다. 예: 01-23-45-67-89-0a-bc.
  3. ESXi 호스트가 UEFI 펌웨어를 실행하는 경우 ESXi 설치 관리자 ISO 이미지의 efi/boot/bootx64.efi 파일을 TFTP 서버의 /tftpboot 폴더로 복사하고 파일 이름을 mboot.efi로 변경합니다.
    참고: 최신 버전의 mboot.efi는 일반적으로 이전 버전의 ESXi를 부팅할 수 있지만 이전 버전의 mboot.efi는 최신 버전의 ESXi를 부팅하지 못할 수 있습니다. 다른 버전의 ESXi 설치 관리자를 부팅하도록 다른 호스트를 구성할 계획인 경우 가장 최신 버전의 mboot.efi를 사용합니다.
  4. DHCP 서버를 구성합니다.
  5. 저장할 ESXi 버전과 동일한 이름으로 HTTP 서버에 디렉토리를 생성합니다. 예: /var/www/html/ESXi-7.x.x-XXXXXX
  6. ESXi 설치 관리자 이미지의 컨텐츠를 새로 생성된 디렉토리로 복사합니다.
  7. boot.cfg 파일을 수정합니다.
    1. 다음 줄을 추가합니다.
      prefix=http://XXX.XXX.XXX.XXX/ESXi-7.x.x-XXXXXX
      여기서 http://XXX.XXX.XXX.XXX/ESXi-7.x.x-XXXXXX는 HTTP 서버의 설치 관리자 파일의 위치입니다.
    2. kernel=modules= 줄의 파일 이름이 슬래시(/) 문자로 시작하는 경우 해당 문자를 삭제합니다.
    3. kernelopt= 줄에 문자열 cdromBoot가 포함되어 있으면 해당 문자열만 제거합니다.
  8. (선택 사항) 스크립트로 작성된 설치의 경우 boot.cfg 파일에서 kernel 명령 뒤의 줄에 kernelopt 옵션을 추가하여 설치 스크립트의 위치를 지정합니다.
    다음 코드를 모델로 사용합니다. 여기서 XXX.XXX.XXX.XXX는 설치 스크립트가 있는 서버의 IP 주소이고 esxi_ksFilesks.cfg 파일이 들어 있는 디렉토리입니다.
    kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
  9. ESXi 호스트가 UEFI 펌웨어를 실행하는 경우 모든 UEFI 호스트가 동일한 설치 관리자를 부팅하도록 할지 여부를 지정합니다.
    옵션 설명
    동일한 설치 관리자 boot.cfg 파일을 /tftpboot/boot.cfg로 복사하거나 연결합니다.
    다른 설치 관리자
    1. 대상 호스트 시스템의 MAC 주소(01-mac_address_of_target_ESXi_host) 이름을 따서 명명한 /tftpboot의 하위 디렉토리를 생성합니다(예: 01-23-45-67-89-0a-bc).
    2. 해당 디렉토리에 호스트 boot.cfg 파일의 사본 또는 링크를 배치합니다(예: /tftpboot/01-23-45-67-89-0a-bc/boot.cfg).