Web サーバを使用して ESXi インストーラを PXE ブートすることができます。ほとんどの環境には、UEFI ブートをサポートする ESXi ホストと、レガシーの BIOS のみをサポートするホストが含まれています。このトピックでは、両方のタイプのホストにおける PXE ブートの前提条件と手順について説明します。

このタスクについて

  • レガシー BIOS マシンの場合、すべてのターゲット マシンに対して同じ pxelinux.0 または gpxelinux.0 の初期ブート ローダーを使用して複数の異なるバージョンの ESXi インストーラを起動することができますが、PXELINUX 構成ファイルはターゲットマシンの MAC アドレスに応じて異なる場合があります。

  • UEFI マシンの場合、すべてのターゲット マシンに対して同じ mboot.efi の初期ブート ローダーを使用して複数の異なるバージョンの ESXi インストーラを起動することができますが、boot.cfg ファイルはターゲットマシンの MAC アドレスに応じて異なる場合があります。

前提条件

使用する環境内に次のコンポーネントがあることを確認します。

  • VMware Web サイトからダウンロードした ESXi インストーラの ISO イメージ。

  • 使用している ESXi のバージョンでサポートされるハードウェア構成を備えたターゲット ホスト。『VMware の互換性ガイド』を参照してください。

  • ターゲット ESXi ホストに、PXE をサポートするネットワーク アダプタ。

  • PXE ブート用に構成された DHCP サーバ。DHCP の構成例 を参照してください。

  • TFTP サーバ。

  • TFTP トラフィックを許可するネットワーク セキュリティ ポリシー(UDP ポート 69)。

  • レガシー BIOS の場合は、IPv4 ネットワークのみを使用できます。UEFI の PXE ブートの場合は、IPv4 または IPv6 ネットワークを使用できます。

  • (オプション)インストール スクリプト(キックスタート ファイル)。

  • ほとんどの場合、ネイティブ VLAN を使用します。PXE ブートで使用する VLAN ID を指定する場合は、NIC が VLAN ID 仕様をサポートしていることを確認します。

Web サーバを使用して PXE ブートを実行するための前提条件を、ご使用の環境が満たしていることを確認します。

手順

  1. HTTP ブートを実行できるように DHCP サーバを設定します。
  2. (UEFI のみ)iPXE を取得して構成します。
    1. http://ipxe.org/download の説明に従って iPXE ソース コードを取得します。
    2. このページの指示に従いますが、次の make コマンドを使用します。

      make bin-x86_64-efi/snponly.efi

    3. 生成されるファイル snponly.efi を TFTP サーバの /tftpboot ディレクトリにコピーします。
  3. (UEFI のみ)ESXi インストーラの ISO イメージから、efi/boot/bootx64.efi ファイルを TFTP サーバの /tftpboot/mboot.efi にコピーします。
    注:

    通常、mboot.efi の新しいバージョンは、ESXi の前のバージョンを起動できますが、mboot.efi の前のバージョンは、ESXi の新しいバージョンを起動できない場合があります。異なるホストを構成して異なるバージョンの ESXi インストーラを起動する場合は、最新バージョンの mboot.efi を使用します。

  4. (レガシーの BIOS のみ)PXELINUX を取得して構成します。
    1. SYSLINUX バージョン 3.86 を取得し、解凍した gpxelinux.0 ファイルを TFTP サーバの最上位の /tftpboot ディレクトリにコピーします。
    2. 次のコード モデルを使用して、PXELINUX 構成ファイルを作成します。

      ESXi-6.x.x-XXXXXX は、ESXi インストーラ ファイルが含まれる TFTP サブディレクトリの名前です。

      DEFAULT install
      NOHALT 1
      LABEL install
        KERNEL ESXi-6.x.x-XXXXXX/mboot.c32 					
        APPEND -c ESXi-6.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 のようになります。

  5. HTTP サーバにディレクトリを作成します。ディレクトリ名には、ディレクトリに格納する ESXi のバージョンを含めます。たとえば /var/www/html/ESXi-6.x.x-XXXXXX のようになります。
  6. ESXi インストーラ イメージのコンテンツを、作成したディレクトリにコピーします。
  7. boot.cfg ファイルを修正します。
    1. 次の行を追加します。
      prefix=http://XXX.XXX.XXX.XXX/ESXi-6.x.x-XXXXXX

      http://XXX.XXX.XXX.XXX/ESXi-6.x.x-XXXXXX は HTTP サーバのインストーラ ファイルの場所です。

    2. kernel=modules= の行のファイル名がスラッシュ (/) で始まる場合は、このスラッシュを削除します。
  8. (オプション) : スクリプトを使用したインストールの場合は、boot.cfg ファイルの kernel コマンドの後の行に kernelopt オプションを追加して、インストール スクリプトの場所を指定します。

    次のコードをモデルとして使用します。XXX.XXX.XXX.XXX には、インストール スクリプトが置かれたサーバの IP アドレスを指定します。esxi_ksFiles は、ks.cfg ファイルが格納されているディレクトリです。

    kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
  9. (UEFI のみ)すべての UEFI ホストが同じインストーラを起動するか指定します。

    オプション

    説明

    同じインストーラ

    /tftpboot/boot.cfgboot.cfg ファイルをコピーまたはリンクします。

    異なるインストーラ

    1. /tftpboot のサブディレクトリを作成します。名前には、たとえば 01-23-45-67-89-0a-bc のようにターゲットのホストマシンの MAC アドレス (01-mac_address_of_target_ESXi_host) を使用します。

    2. このディレクトリ(たとえば/tftpboot/01-23-45-67-89-0a-bc/boot.cfg)に、ホストの boot.cfg ファイルをコピー(またはリンク)します。