DHCP 서버가 TFTP 또는 HTTP 서버의 주소와 초기 부트 로더의 파일 이름을 ESXi 호스트로 보내야 합니다.
대상 시스템은 처음 부팅될 때 자체적으로 부팅하기 위해 네트워크를 통해 패킷을 브로드캐스트하여 필요한 정보를 요청합니다. DHCP 서버가 응답합니다. DHCP 서버는 대상 시스템의 부팅이 허용되는지 여부와 초기 부트 로더 이진 파일의 위치를 확인할 수 있어야 합니다. PXE 부팅의 경우 위치는 TFTP 서버의 파일입니다. UEFI HTTP 부팅의 경우 위치는 URL입니다.
사용할 수 있는 DHCP 서버가 여러 개 있습니다. 다음은 ISC DHCP 서버에 대한 예입니다. Microsoft Windows용 DHCP 버전을 사용하는 경우 next-server 및 filename 인수를 타겟 시스템으로 전달하는 방법을 확인하려면 DHCP 서버 설명서를 참조하십시오.
IPv4 주소를 가진 PXE 및 TFTP를 사용하는 부팅의 예제
이 예제에서는 IPv4 주소 xxx.xxx.xxx.xxx에 있는 TFTP 서버를 사용하여 ESXi를 PXE 부팅하도록 ISC DHCP 서버를 구성하는 방법을 보여 줍니다.
# # ISC DHCP server configuration file snippet. This is not a complete # configuration file; see the ISC server documentation for details on # how to configure the DHCP server. # allow booting; allow bootp; option client-system-arch code 93 = unsigned integer 16; class "pxeclients" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; next-server xxx.xxx.xxx.xxx; if option client-system-arch = 00:07 or option client-system-arch = 00:09 { filename = "mboot.efi"; } else { filename = "pxelinux.0"; } }
시스템이 PXE 부팅을 시도하면 DHCP 서버는 IP 주소와 TFTP 서버에 있는 pxelinux.0 또는 mboot.efi 이진 파일의 위치를 제공합니다.
IPv6 주소를 가진 PXE 및 TFTP를 사용하는 부팅의 예제
이 예제에서는 IPv6 주소 xxxx:xxxx:xxxx:xxxx::xxxx에 있는 TFTP 서버를 사용하여 ESXi를 PXE 부팅하도록 ISC DHCPv6 서버를 구성하는 방법을 보여 줍니다.
# # ISC DHCPv6 server configuration file snippet. This is not a complete # configuration file; see the ISC server documentation for details on # how to configure the DHCP server. # allow booting; allow bootp; option dhcp6.bootfile-url code 59 = string; option dhcp6.bootfile-url "tftp://[xxxx:xxxx:xxxx:xxxx::xxxx]/mboot.efi";
시스템이 PXE 부팅을 시도하면 DHCP 서버는 IP 주소와 TFTP 서버에 있는 mboot.efi 이진 파일의 위치를 제공합니다.
IPv4 주소를 가진 iPXE 및 HTTP를 사용하는 부팅의 예제
이 예제에서는 IPv4 주소 xxx.xxx.xxx.xxx에 있는 TFTP 서버에서 iPXE를 로드하여 ESXi를 부팅하도록 ISC DHCP 서버를 구성하는 방법을 보여 줍니다.
# # ISC DHCP server configuration file snippet. This is not a complete # configuration file; see the ISC server documentation for details on # how to configure the DHCP server. # allow booting; allow bootp; option client-system-arch code 93 = unsigned integer 16; class "pxeclients" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; next-server xxx.xxx.xxx.xxx; if option client-system-arch = 00:07 or option client-system-arch = 00:09 { if exists user-class and option user-class = "iPXE" { # Instruct iPXE to load mboot.efi as secondary bootloader filename = "mboot.efi"; } else { # Load the snponly.efi configuration of iPXE as initial bootloader filename = "snponly.efi"; } } else { if exists user-class and option user-class = "iPXE" { # Instruct iPXE to load pxelinux as secondary bootloader filename = "pxelinux.0"; } else { # Load the undionly configuration of iPXE as initial bootloader filename = "undionly.kpxe"; } }
시스템이 PXE 부팅을 시도하면 DHCP 서버는 IP 주소와 TFTP 서버에 있는 undionly.kpxe 또는 snponly.efi 이진 파일의 위치를 제공합니다. 레거시 BIOS의 경우 iPXE는 다음으로 로드할 파일을 DHCP 서버에 요청하고, 서버에서 pxelinux.0을 파일 이름으로 반환합니다. UEFI의 경우 iPXE는 다음으로 로드할 파일을 DHCP 서버에 요청하고, 이번에는 서버에서 mboot.efi를 파일 이름으로 반환합니다. 두 경우 모두 iPXE가 상주하고 시스템에 HTTP 기능이 있습니다. 그 결과 시스템에서 HTTP 서버에서 추가 파일을 로드할 수 있습니다.
IPv6 주소를 가진 iPXE 및 HTTP를 사용하는 부팅의 예제
이 예제에서는 IPv6 주소 xxxx:xxxx:xxxx:xxxx::xxxx에 있는 TFTP 서버에서 iPXE를 로드하여 ESXi를 부팅하도록 ISC DHCPv6 서버를 구성하는 방법을 보여 줍니다.
# # ISC DHCPv6 server configuration file snippet. This is not a complete # configuration file; see the ISC server documentation for details on # how to configure the DHCP server. # allow booting; allow bootp; option dhcp6.bootfile-url code 59 = string; if exists user-class and option user-class = "iPXE" { # Instruct iPXE to load mboot.efi as secondary bootloader option dhcp6.bootfile-url "tftp://[xxxx:xxxx:xxxx:xxxx::xxxx]/mboot.efi"; } else { # Load the snponly.efi configuration of iPXE as initial bootloader option dhcp6.bootfile-url "tftp://[xxxx:xxxx:xxxx:xxxx::xxxx]/snponly.efi"; }
시스템이 PXE 부팅을 시도하면 DHCP 서버는 IP 주소와 TFTP 서버에 있는 snponly.efi(iPXE) 이진 파일의 위치를 제공합니다. 그런 다음 iPXE는 다음으로 로드할 파일을 DHCP 서버에 요청하고, 이번에는 서버에서 mboot.efi를 파일 이름으로 반환합니다. iPXE가 상주하고 시스템에 HTTP 기능이 있습니다. 그 결과 시스템에서 HTTP 서버에서 추가 파일을 로드할 수 있습니다.
IPv4 주소를 가진 UEFI HTTP를 사용하는 부팅의 예제
이 예제에서는 웹 서버 www.example.com에서 IPv4를 통해 네이티브 UEFI HTTP를 사용하여 ESXi를 부팅하도록 ISC DHCP 서버를 구성하는 방법을 보여 줍니다.
# # ISC DHCP server configuration file snippet. This is not a complete # configuration file; see the ISC server documentation for details on # how to configure the DHCP server. # allow booting; allow bootp; option client-system-arch code 93 = unsigned integer 16; class "httpclients" { match if substring(option vendor-class-identifier, 0, 10) = "HTTPClient"; option vendor-class-identifier "HTTPClient"; if option client-system-arch = 00:10 { # x86_64 UEFI HTTP client filename = http://www.example.com/esxi/mboot.efi; } }
IPv6 주소를 가진 UEFI HTTP를 사용하는 부팅의 예제
이 예제에서는 웹 서버 www.example.com에서 IPv6을 통해 네이티브 UEFI HTTP를 사용하여 ESXi를 부팅하도록 ISC DHCPv6 서버를 구성하는 방법을 보여 줍니다.
# # ISC DHCPv6 server configuration file snippet. This is not a complete # configuration file; see the ISC server documentation for details on # how to configure the DHCP server. # allow booting; allow bootp; option dhcp6.bootfile-url code 59 = string; option dhcp6.user-class code 15 = { integer 16, string }; option dhcp6.vendor-class code 16 = { integer 32, integer 16, string }; if option dhcp6.client-arch-type = 00:10 { # x86_64 HTTP clients option dhcp6.vendor-class 0 10 "HTTPClient"; option dhcp6.bootfile-url "http://www.example.com/esxi/mboot.efi"; }