ホストでレガシー BIOS または UEFI が使用されている場合、Preboot Execution Environment (PXE) を利用してネットワーク デバイスから ESXi ホストを起動できます。

または、ESXi ホストでネイティブ UEFI HTTP がサポートされている場合、HTTP(ハイパー テキスト転送プロトコル)を使用してネットワーク デバイスからホストを起動できます。ESXi は、フラッシュ メモリまたはローカル ハード ドライブへのインストールに使用する ISO 形式で提供されます。ネットワーク インターフェイスを介してファイルを抽出し、起動できます。

PXE では、DHCP (Dynamic Host Configuration Protocol) と TFTP (File Transfer Protocol) を使用して、ネットワーク経由でオペレーティング システムを起動します。

PXE ブートを行うには、いくつかのネットワーク インフラストラクチャと、PXE 対応のネットワーク アダプタを搭載したマシンが必要です。ESXi を実行可能なマシンの多くが、PXE ブートが可能なネットワーク アダプタを搭載しています。

ネイティブ UEFI HTTP では、ネットワーク経由での起動に DHCP と HTTP が使用されます。UEFI HTTP ブートを利用するには、ネットワーク インフラストラクチャ、ESXi ホスト上の UEFI ファームウェアの HTTP ブート機能を備えたバージョン、および UEFI ネットワークをサポートするネットワーク アダプタが必要です。

HTTP を使用した起動は、TFTP を使用した起動よりも速度と信頼性が優れています。これは、組み込みのストリーミングや消失したパケットのリカバリなど、HTTP の基盤となる TCP プロトコルの機能によるものです。ESXi ホストがネイティブ UEFI HTTP をサポートしていない場合は、起動プロセスに iPXE HTTP を使用できます。

注: レガシー BIOS ファームウェアを使用するネットワーク ブートは IPv4 でのみ実行できます。UEFI BIOS ファームウェアを使用したネットワーク起動は、IPv4 または IPv6 で実行できます。

ネットワーク ブートのインストール プロセスの概要

ESXi ホストをネットワーク インターフェイスから起動できます。ネットワーク ブート プロセスは、ターゲット ホストがレガシー BIOS または UEFI ファームウェアのどちらを使用するか、およびブート プロセスが PXE TFTP、iPXE HTTP、UEFI HTTP のどれを使用するかによって異なります。

ターゲット ホストを起動すると、ターゲット ホストは、環境内の異なるサーバと通信を行い、ネットワーク アダプタ、ブート ローダー、カーネル、カーネルの IP アドレス、そして最後にインストール スクリプトを取得します。すべてのコンポーネントの準備が完了すると、次の図に示すようにインストールが開始します。

図 1. PXE ブートのインストール プロセスの概要
ESXi ホスト、DHCP サーバ、TFTP サーバ、Web サーバ、スクリプト デポ間の相互作用のフロー。

ESXi ホストと他のサーバ間のインタラクティブな作業は次のように行われます。

  1. ユーザーがターゲットの ESXi ホストを起動します。
  2. ターゲットの ESXi ホストが DHCP リクエストを送信します。
  3. DHCP サーバは、IP アドレス情報、TFTP または HTTP サーバの場所、および初期ネットワーク ブートローダーのファイル名または URL を返します。
  4. ESXi ホストが TFTP または HTTP サーバに接続し、DHCP サーバが指定したファイル名または URL を要求します。
  5. TFTP または HTTP サーバがネットワーク ブート ローダーを送信し、ESXi ホストがそれを実行します。初期ブート ローダーは、サーバから追加のブート ローダー コンポーネントをロードする場合があります。
  6. ブート ローダーは、TFTP または HTTP サーバ上の構成ファイルを検索し、構成ファイルで指定されたカーネルおよび他の ESXi コンポーネントをダウンロードし、ESXi ホストでカーネルを起動します。
  7. インストーラは、インタラクティブに実行するか、構成ファイルで指定された kickstart スクリプトを使用して実行します。

ネットワーク ブートの背景情報

ネットワーク ブート プロセスを理解しておくと、トラブルシューティング時に役立ちます。

TFTP サーバ

TFTP (Trivial File Transfer Protocol) は FTP サービスに似ており、通常は、システムのネットワーク起動や、ルータなどのネットワーク デバイスへのファームウェアの読み込みにのみ使用します。TFTP は Linux および Windows で使用できます。
  • ほとんどの Linux ディストリビューションには、tftp-hpa サーバのコピーが含まれています。サポートされているソリューションが必要な場合は、希望するベンダーからサポートされている TFTP サーバを購入してください。TFTP サーバは、VMware Marketplace にあるアプライアンス パッケージのいずれかで取得することもできます。
  • TFTP サーバを Microsoft Windows ホストで実行する場合は、tftpd32 バージョン 2.11 以降を使用してください。http://tftpd32.jounin.net/を参照してください。

SYSLINUX と PXELINUX

レガシーの BIOS 環境で PXE を使用している場合は、さまざまな起動環境について理解する必要があります。
  • SYSLINUX は、レガシー BIOS ファームウェアを実行するマシン用のオープンソースの起動環境です。BIOS システムに対する ESXi ブート ローダー mboot.c32 は、SYSLINUX プラグインとして実行されます。ディスク、ISO イメージ、ネットワークなどの複数の種類のメディアから起動するように SYSLINUX を構成できます。SYSLINUX パッケージは、http://www.kernel.org/pub/linux/utils/boot/syslinux/ に格納されています。
  • PXELINUX は、PXE 標準に従って TFTP サーバから起動するための SYSXLINUX 構成です。PXELINUX を使用して ESXi インストーラを起動する場合、pxelinux.0 バイナリ ファイル、mboot.c32、構成ファイル、カーネル、およびその他のファイルは TFTP で転送されます。
注: VMware では、SYSLINUX バージョン 3.86 で動作する mboot.c32 プラグインを作成し、そのバージョンでの PXE ブートのみをテストしています。他のバージョンは互換性がない場合があります。 VMware vSphere Hypervisor 用のオープン ソース公開パッケージには、SYSLINUX バージョン 3.86 のバグ修正が含まれています。

iPXE

iPXE は、HTTP の実装を提供するオープン ソース ソフトウェアです。このソフトウェアを使用して初期起動を実行できます。詳細については、『https://ipxe.org/』を参照してください。

VMware には、Auto Deploy の一部として iPXE のビルドが含まれています。このビルドのソース ツリーは VMware vCenter Server 用のオープン ソース公開パッケージで使用できます。

UEFI PXE と UEFI HTTP

ほとんどの UEFI ファームウェアでは、TFTP サーバからの起動を許可する PXE をネイティブでサポートしています。ファームウェアは、UEFI システムに ESXi ブート ローダー mboot.efi を直接ロードできます。PXELINUX などの追加のソフトウェアは必要ありません。

一部の UEFI ファームウェアはネイティブ UEFI HTTP の起動をサポートしています。この機能は、UEFI 仕様のバージョン 2.5 で導入されています。このファームウェアは、iPXE などの追加ソフトウェアを使用せずに、HTTP サーバから ESXi ブート ローダーをロードできます。

注: Apple Macintosh 製品は PXE ブートをサポートしていません。代わりに、Apple 固有のプロトコルを介したネットワーク ブートがサポートされます。

ネットワーク ブートの代替アプローチ

ネットワーク ブートの代わりに、異なるホスト上の異なるソフトウェアを起動することができます。例:
  • MAC アドレスまたはその他の基準に応じて、異なるホストに異なる初期ブート ローダーのファイル名を提供するように DHCP サーバを構成する。DHCP サーバのドキュメントを参照してください。
  • 初期ブート ローダーとして iPXE を使用する。iPXE 構成ファイルは、MAC アドレスまたはその他の基準に応じて次のブート ローダーを選択するように設定します。

PXELINUX 構成ファイル

レガシー BIOS システムで ESXi インストーラを起動するには、PXELINUX 構成ファイルが必要となります。構成ファイルには、ターゲット ESXi ホストの起動時に表示されるメニューが定義されています。

このセクションでは、PXELINUX 構成ファイルに関する全般的な情報を取り上げます。

構文の詳細については、SYSLINUX の Web サイト (http://www.syslinux.org/) を参照してください。

必要なファイル

PXE の構成ファイルには、次のファイルへのパスを含める必要があります。

  • mboot.c32 はブート ローダです。
  • boot.cfg はブート ローダ構成ファイルです。

boot.cfg ファイルについて』を参照してください

PXE 構成ファイルのファイル名

PXE 構成ファイルのファイル名には、次のいずれかのオプションを選択します。

  • 01-mac_address_of_target_ESXi_host。例: 01-23-45-67-89-0a-bc
  • ターゲット ESXi ホストの IP アドレスの 16 進表記。
  • default
初期起動ファイル pxelinux.0 は、次の順序で PXE 構成ファイルのロードを試行します。
  1. ARP タイプ コード(イーサネットは 01)をプリフィックスとする、ターゲット ESXi ホストの MAC アドレスが試されます。
  2. これに失敗した場合は、ターゲット ESXi システムの IP アドレスの 16 進表記が試されます。
  3. 最後に、default というファイルのロードが試されます。

PXE の構成ファイルの場所

ファイルを TFTP サーバの /tftpboot/pxelinux.cfg/ に保存します。

たとえば、このファイルは TFTP サーバの /tftpboot/pxelinux.cfg/01-00-21-5a-ce-40-f6 に保存できます。ターゲット ESXi ホストのネットワーク アダプタの MAC アドレスは 00-21-5a-ce-40-f6 です。