ESXi インストーラを PXE ブートするには、DHCP サーバが TFTP サーバのアドレスと初期ブート ローダーのファイル名を ESXi ホストに送信する必要があります。
ターゲット マシンは初めて起動するときに、ネットワーク全体にパケットをブロードキャストして、起動に必要な情報を要求します。DHCP サーバがこれに応答します。DHCP サーバは、ターゲット マシンの起動が許可されているかどうかと、初期ブート ローダーのバイナリ(通常は TFTP サーバ上のファイル)の場所を判断できる必要があります。
多くの DHCP サーバは、ホストを PXE ブートできます。Microsoft Windows 用の DHCP バージョンを使用している場合は、DHCP サーバのドキュメントを参照して、next-server 引数と filename 引数をターゲット マシンに渡す方法を確認してください。
IPv4 の TFTP を使用した起動の例
この例では、IPv4 アドレスが xxx.xxx.xxx.xxx の TFTP サーバを使用して 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 { filename = "mboot.efi"; } else { filename = "pxelinux.0"; } }
マシンが PXE ブートを行うときには、DHCP サーバが IP アドレスと TFTP サーバの pxelinux.0 または mboot.efi バイナリ ファイルの場所を示します。
IPv6 の TFTP を使用した起動の例
この例では、IPv6 アドレスが xxxx:xxxx:xxxx:xxxx::xxxx の TFTP サーバを使用して 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.bootfile-url "tftp://[xxxx:xxxx:xxxx:xxxx::xxxx]/mboot.efi";
マシンが PXE ブートを行うときには、DHCP サーバが IP アドレスと TFTP サーバの mboot.efi バイナリ ファイルの場所を示します。
IPv4 の HTTP を使用した起動の例
この例では、IPv4 アドレスが xxx.xxx.xxx.xxx の Web サーバを使用して ESXi を起動するように ISC DHCP サーバを構成する方法を示しています。この例では、レガシーの BIOS ホストには gPXELINUX、UEFI ホストには iPXE を使用します。
# # 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 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 { filename "gpxelinux.0"; } }
マシンが PXE ブートを行うときには、DHCP サーバが IP アドレスと TFTP サーバの gpxelinux.0 または snponly.efi バイナリ ファイルの場所を示します。UEFI の場合は、iPXE が DHCP サーバにロードする次のファイルを要求し、この時点でサーバはファイル名として mboot.efi を返します。
IPv6 の HTTP を使用した起動の例
この例では、IPv6 アドレスが xxxx:xxxx:xxxx:xxxx::xxxx の TFTP サーバを使用して 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 を返します。