第5章 プロビジョニング時間を削減するための iPXE の設定
以下の制限で PXE を使用できない場合には、Satellite を使用し、BIOS モードの iPXE をチェーンブートして、HTTP プロトコルで起動するように PXELinux を設定することができます。
- マネージド外の DHCP サーバーのあるネットワーク
- ネットワーク上でブラックリストに登録されているか、ファイアウォールによって制限されている PXE サービス
- 低帯域幅ネットワークなどが原因で、信頼性の低い TFTP UDP ベースのプロトコル
iPXE サポートの詳細については、Supported architectures for provisioning の記事を参照してください。
iPXE の概要
iPXE は、オープンソースのネットワークブートファームウェアです。HTTP サーバーからの起動など、追加機能で強化された完全な PXE 実装を提供します。詳細は、ipxe.org を参照してください。
Red Hat Satellite で iPXE を使用する方法は 3 つあります。
- iPXE をプライマリーファームウェアとして使用するハイパーバイザーで仮想マシンをブートする方法
- TFTP を介して PXELinux を使用し、iPXE を直接ベアメタルホストにチェーンロードする方法
- UNDI を介して PXELinux を使用し、HTTP でカーネルとベアメタルホストの初期 RAM ディスクを移動する方法
セキュリティー情報
Red Hat Enterprise Linux の iPXE バイナリーは、セキュリティー機能を使用せずに構築されます。このため、HTTPS は使用できず、HTTP だけが使用できます。Red Hat Enterprise Linux の iPXE のセキュリティー関連機能はすべて、サポート対象ではありません。詳細情報は、Red Hat Enterprise Linux HTTPS support in iPXE を参照してください。
前提条件
- 使用する Red Hat Satellite にホストが存在する。
- プロビジョニングインターフェイスの MAC アドレスが、ホスト設定と一致する。
- ホストのプロビジョニングインターフェイスには、有効な DHCP 予約がある。
- NIC は PXE ブートが可能である。詳細は、supported hardware on ipxe.org のページで、iPXE ベースのブートディスクと機能することが想定されているハードウェアドライブのリストを参照してください。
- NIC は iPXE と互換性がある。
iPXE 環境を準備するには、すべての Capsule でこの手順を実行する必要があります。
手順
tftp サービスおよび httpboot サービスを有効にします。
satellite-installer --foreman-proxy-httpboot true --foreman-proxy-tftp true
# satellite-installer --foreman-proxy-httpboot true --foreman-proxy-tftp true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipxe-bootimgs
パッケージをインストールします。yum install ipxe-bootimgs
# yum install ipxe-bootimgs
Copy 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 Linux カーネルヘッダーを含む iPXE ファームウェアを TFTP ディレクトリーにコピーします。
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 ファームウェアを TFTP ディレクトリーにコピーします。
cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
# cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
必要に応じて、Foreman ディスカバリーを設定します。詳細は、7章Discovery サービスの設定 を参照してください。
- Satellite Web UI で、Administer > Settings に移動して、Provisioning タブをクリックします。
- デフォルトの PXE グローバルテンプレートエントリー の行を特定して、値 のコラムで値を discovery に変更します。
5.1. 仮想マシンの起動 リンクのコピーリンクがクリップボードにコピーされました!
仮想化ハイパーバイザーの一部は、PXE ブートのプライマリーファームウェアとして iPXE を使用します。このため、TFTP および PXELinux なしで仮想マシンを起動できます。
仮想マシンワークフローのチェーンブート
仮想化ハイパーバイザーを使用することで、 TFTP および PXELinux の必要性がなくなります。仮想化ハイパーバイザーのワークフローは、以下の通りです。
- 仮想マシンが起動します。
- iPXE が DHCP を使用して、HTTP URL を含むネットワーク認証情報を取得します。
- iPXE が、Satellite Server または Capsule から iPXE ブートストラップテンプレートをロードします。
- iPXE が、Satellite Server または Capsule から、URL パラメーターとして MAC を使用して iPXE テンプレートをロードします。
- iPXE が、インストーラーのカーネルおよび初期 RAM ディスクをロードします。
前提条件
使用するハイパーバイザーが iPXE をサポートしていることを確認します。以下の仮想化ハイパーバイザーは、iPXE をサポートします。
- libvirt
- Red Hat Virtualization
- RHEV (非推奨)
- Satellite Server の代わりに Capsule Server を使用する場合は、Capsule Server が適切に設定されていることを確認してください。詳細は、Capsule Server のインストール の ホストの登録とプロビジョニングのための Capsule の設定 を参照してください。
iPXE を使うための Satellite Server の設定
デフォルトのテンプレートを使用して、ホストの iPXE ブーティングを設定できます。テンプレートのデフォルトの値を変更する場合は、テンプレートをクローンし、そのクローンを編集します。
手順
-
Satellite Web UI で、Hosts > Provisioning Templates に移動し、
Kickstart default iPXE
を入力後、Search をクリックします。 - オプション: テンプレートを変更する場合は、Clone をクリックして独自の名前を入力し、Submit をクリックします。
- 使用するテンプレートの名前をクリックします。
- テンプレートをクローンした場合、変更が必要な時は Template タブで実施できます。
- Association タブをクリックし、ホストが使用するオペレーティングシステムを選択します。
- Locations タブをクリックして、ホストの所在を追加します。
- Organizations タブをクリックして、ホストが属する組織を追加します。
- Submit をクリックして変更を保存します。
- Satellite Web UI で、Hosts > Operating systems に移動し、ホストのオペレーティングシステムを選択します。
- Templates タブをクリックします。
- iPXE Template リストから、使用するテンプレートを選択します。
- Submit をクリックして変更を保存します。
- Satellite Web UI で、Hosts > All Hosts に移動します。
- Hosts のページで、使用するホストを選択します。
- Operating System タブを選択します。
- PXE Loader を iPXE Embedded に設定します。
- Templates タブを選択します。
- iPXE template リストから、Review を選択し、Kickstart default iPXE テンプレートが正しいテンプレートであることを確認します。
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 を起動に使用する場合は、Capsule で次のコマンドを実行します。
satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://capsule.example.com/unattended/iPXE?bootstrap=1"
# satellite-installer \ --foreman-proxy-dhcp-ipxefilename "http://capsule.example.com/unattended/iPXE?bootstrap=1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow