8.9. iPXE を使用したプロビジョニング時間の短縮
iPXE は、オープンソースのネットワークブートファームウェアです。HTTP サーバーからのブートなどの追加機能で強化された完全な PXE 実装を提供します。iPXE の詳細は、iPXE の Web サイト を参照してください。
iPXE ネットワークブートは 非推奨 になり、今後のリリースで削除される予定です。
以下の制限により PXE を使用できない場合は、iPXE を使用できます。
- マネージド外の DHCP サーバーのあるネットワーク。
- ファイアウォールの制限などにより到達できない PXE サービス。
- 低帯域幅ネットワークなどが原因で、信頼性の低い TFTP UDP ベースのプロトコル。
8.9.1. iPXE を使用するための前提条件 リンクのコピーリンクがクリップボードにコピーされました!
以下の場合は、iPXE を使用して仮想マシンを起動できます。
- 仮想マシンが iPXE をプライマリーファームウェアとして使用するハイパーバイザー上で動作する。
- 仮想マシンが BIOS モードにある。この場合、iPXE をチェーンブートし、HTTP プロトコルを使用してブートするように PXELinux を設定できます。
HTTP を使用して UEFI モードで仮想マシンを起動する場合は、代わりに 「UEFI HTTP ブートプロビジョニングを使用したホストの作成」 の説明に従います。
サポート性
Red Hat は、Red Hat Satellite での iPXE を正式にサポートしていません。詳細は、Red Hat ナレッジベース の Supported architectures and kickstart scenarios in Satellite 6 を参照してください。
ホスト要件
- プロビジョニングインターフェイスの MAC アドレスが、ホスト設定と一致する。
- ホストのプロビジョニングインターフェイスには、有効な DHCP 予約がある。
- NIC は PXE ブートが可能である。詳細は、supported hardware on ipxe.org のページで、iPXE ベースのブートディスクと機能することが想定されているハードウェアドライブのリストを参照してください。
- NIC は iPXE と互換性がある。
8.9.2. iPXE 環境の設定 リンクのコピーリンクがクリップボードにコピーされました!
iPXE プロビジョニングに使用するすべての Capsule で iPXE 環境を設定します。
Red Hat Enterprise Linux では、iPXE のセキュリティー関連機能はサポートされておらず、iPXE バイナリーはセキュリティー機能なしで構築されています。このため、HTTPS ではなく、HTTP のみが使用できます。詳細情報は、Red Hat Enterprise Linux HTTPS support in iPXE を参照してください。
前提条件
Satellite Server の代わりに Capsule Server を使用する場合は、Capsule Server が適切に設定されていることを確認してください。
重要Capsule Server を Satellite Server 上の信頼できるプロキシーのリストに追加することが重要です。
詳細は、Capsule Server のインストール の ホストの登録とプロビジョニングのための Capsule の設定 を参照してください。
手順
Capsule で TFTP サービスおよび HTTPboot サービスを有効にします。
satellite-installer \ --foreman-proxy-httpboot true \ --foreman-proxy-tftp true
# satellite-installer \ --foreman-proxy-httpboot true \ --foreman-proxy-tftp trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Capsule に
ipxe-bootimgsパッケージをインストールします。satellite-maintain packages install ipxe-bootimgs
# satellite-maintain packages install ipxe-bootimgsCopy to Clipboard Copied! Toggle word wrap Toggle overflow iPXE ファームウェアを TFTP ディレクトリーにコピーします。
Linux カーネルヘッダーで iPXE ファームウェアをコピーします。
cp /usr/share/ipxe/ipxe.lkrn /var/lib/tftpboot/
# cp /usr/share/ipxe/ipxe.lkrn /var/lib/tftpboot/Copy to Clipboard Copied! Toggle word wrap Toggle overflow UNDI iPXE ファームウェアをコピーします。
cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
# cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
SELinux ファイルコンテキストを修正します。
restorecon -RvF /var/lib/tftpboot/
# restorecon -RvF /var/lib/tftpboot/Copy to Clipboard Copied! Toggle word wrap Toggle overflow HTTP URL を設定します。
起動に Satellite Server を使用する場合は、Satellite Server を再設定します。
satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://satellite.example.com/unattended/iPXE?bootstrap=1"
# satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://satellite.example.com/unattended/iPXE?bootstrap=1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 起動に Capsule Server を使用する場合は、Capsule Server を再設定します。
satellite-installer --foreman-proxy-dhcp-ipxe-bootstrap true
# satellite-installer --foreman-proxy-dhcp-ipxe-bootstrap trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.9.3. 仮想マシンの起動 リンクのコピーリンクがクリップボードにコピーされました!
仮想化ハイパーバイザーの一部は、PXE ブートのプライマリーファームウェアとして iPXE を使用します。このようなハイパーバイザーを使用する場合は、TFTP および PXELinux なしで仮想マシンを起動できます。
仮想マシンの起動には、次のワークフローがあります。
- 仮想マシンが起動します。
- iPXE が DHCP を使用して、HTTP URL を含むネットワーク認証情報を取得します。
- iPXE は、Capsule から iPXE ブートストラップテンプレートをロードします
- iPXE は、Capsule から URL パラメーターとして MAC を使用して iPXE テンプレートをロードします
- iPXE が、インストーラーのカーネルおよび初期 RAM ディスクをロードします。
前提条件
お使いのハイパーバイザーが iPXE をサポートしている。以下の仮想化ハイパーバイザーは、iPXE をサポートします。
- libvirt
- iPXE 環境を設定している。詳細は、「iPXE 環境の設定」 を参照してください。
以下で説明するように、Satellite に同梱されている元のテンプレートを使用できます。元のテンプレートを変更する必要がある場合は、テンプレートのクローンを作成し、クローンを編集して、元のテンプレートの代わりにクローンを関連付けます。詳細は、「プロビジョニングテンプレートのクローン作成」 を参照してください。
手順
- Satellite Web UI で、Hosts > Templates > Provisioning Templates に移動します。
-
Kickstart default iPXEテンプレートを検索します。 - テンプレートの名前をクリックします。
- Association タブをクリックし、ホストが使用するオペレーティングシステムを選択します。
- Locations タブをクリックして、ホストがある場所を追加します。
- Organizations タブをクリックして、ホストが属する組織を追加します。
- Submit をクリックして変更を保存します。
- Satellite Web UI で、Hosts > Operating systems に移動し、ホストのオペレーティングシステムを選択します。
- Templates タブをクリックします。
-
iPXE template リストから、
Kickstart default iPXEテンプレートを選択します。 - Submit をクリックして変更を保存します。
- Satellite Web UI で、Hosts > All Hosts に移動します。
- Hosts のページで、使用するホストを選択します。
- Operating System タブを選択します。
-
PXE Loader を
iPXE Embeddedに設定します。 - Templates タブを選択します。
- Provisioning Templates で Resolve をクリックし、iPXE template が必要なテンプレートに解決されることを確認します。
- Submit をクリックしてホスト設定を保存します。
8.9.4. PXELinux からの iPXE のチェーンブート リンクのコピーリンクがクリップボードにコピーされました!
ネットワーク通信用の組み込みドライバー (ipxe.lkrn) またはユニバーサルネットワークデバイスインターフェイス (UNDI) (undionly-ipxe.0) を使用するように iPXE をセットアップできます。ネットワークハードウェアの機能と iPXE ドライバーの可用性に応じて、どちらのファイルをロードするかを選択できます。
UNDI は、TFTP クライアントを実装する最小限の UDP/IP スタックです。ただし、UNDI は HTTP などの他のプロトコルをサポートできません。iPXE で HTTP を使用するには、組み込みのドライバー (ipxe.lkrn) を備えた iPXE ビルドを使用します。
iPXE のチェーンブートには次のワークフローがあります。
- ホストの電源をオンにします。
- PXE ドライバーは、DHCP を使用してネットワークの認証情報を取得します。
-
PXE ドライバーは、TFTP を使用して PXELinux ファームウェア
pxelinux.0を取得します。 - PXELinux は、TFTP サーバーの設定ファイルを検索します。
-
PXELinux は、iPXE
ipxe.lkrnまたはundionly-ipxe.0をチェーンロードします。 - iPXE が、DHCP を再度使用して、HTTP URL を含むネットワーク認証情報を取得します。
- iPXE は、Templates Capsule から iPXE テンプレートをチェーンロードします。
- iPXE が、インストーラーのカーネルおよび初期 RAM ディスクをロードします。
前提条件
- iPXE 環境を設定している。詳細は、「iPXE 環境の設定」 を参照してください。
以下で説明するように、Satellite に同梱されている元のテンプレートを使用できます。元のテンプレートを変更する必要がある場合は、テンプレートのクローンを作成し、クローンを編集して、元のテンプレートの代わりにクローンを関連付けます。詳細は、「プロビジョニングテンプレートのクローン作成」 を参照してください。
手順
- Satellite Web UI で、Hosts > Templates > Provisioning Templates に移動します。
必要な PXELinux テンプレートを検索します。
-
ipxe.lkrnを使用するためのPXELinux chain iPXE -
undionly-ipxe.0を使用するためのPXELinux chain iPXE UNDI
-
- 使用するテンプレートの名前をクリックします。
- Association タブをクリックし、ホストが使用するオペレーティングシステムを選択します。
- Locations タブをクリックして、ホストがある場所を追加します。
- Organizations タブをクリックして、ホストが属する組織を追加します。
- Submit をクリックして変更を保存します。
-
Provisioning Templates ページで、
Kickstart default iPXEテンプレートを検索します。 - テンプレートの名前をクリックします。
- Association タブをクリックし、ホストが使用するオペレーティングシステムにテンプレートを関連付けます。
- Locations タブをクリックして、ホストがある場所を追加します。
- Organizations タブをクリックして、ホストが属する組織を追加します。
- Submit をクリックして変更を保存します。
- Satellite Web UI で、Hosts > Operating systems に移動し、ホストのオペレーティングシステムを選択します。
- Templates タブをクリックします。
- PXELinux template リストから、使用するテンプレートを選択します。
-
iPXE template リストから、
Kickstart default iPXEテンプレートを選択します。 - Submit をクリックして変更を保存します。
- Satellite Web UI で、Configure > Host Groups に移動し、設定するホストグループを選択します。
- Operating System タブを選択します。
- Architecture と Operating system を選択します。
PXE Loader を設定します。
-
PXELinux BIOSを選択して、PXELinux から iPXE (ipxe.lkrn) をチェーンブートします。 -
iPXE Chain BIOSを選択して、undionly-ipxe.0を直接ロードします。
-