第4章 ネットワークの設定
それぞれのプロビジョニングタイプにはネットワーク設定が必要です。本章を参照して、Satellite Server が統合された Capsule でネットワークサービスを設定します。
新規ホストが Capsule Server にアクセスできる必要があります。Capsule Server は、Satellite Server の統合 Capsule または外部 Capsule Server のいずれかになります。必要なホストが分離したネットワーク上にあり、Satellite Server に直接接続できない場合、またはコンテンツと Capsule Server とを同期している場合には、外部 Capsule Server からのホストのプロビジョニングを選択することができます。また、外部 Capsule Server を使用したプロビジョニングは、ネットワークの帯域幅を節約できます。
Capsule Server の設定には、基本的な要件が 2 つあります。
ネットワークサービスの設定には、以下が含まれます。
- コンテンツ配信サービス
- ネットワークサービス (DHCP、DNS、および TFTP)
- Puppet 設定
- Satellite Server でネットワークリソースデータを定義し、新規ホストでのネットワークインターフェースの設定をサポートします。
ネットワークリソース
Satellite には、ホストの作成に必要なネットワークリソースが含まれます。Satellite には、以下のネットワークリソースが含まれます。
- ドメイン
-
Satellite で管理するホストはすべてドメインに割り当てる必要があります。ドメインを使用して、Satellite は A、AAAA および PTR レコードを管理します。レコードが統合されていない場合でも、ドメイン 1 つ以上を作成して、関連付ける必要があります。ドメインは、Satellite がホストする命名規則に含めます。たとえば、
example.com
ドメインのtest123
ホストのホスト名はtest123.example.com
となります。 - サブネット
Satellite が管理するホストはすべてサブネットに割り当てる必要があります。サブネットを使用することで、Satellite は IPv4 予約を管理できます。予約機能が統合されていない場合でも、最低でもサブネット 1 つを作成して関連付ける必要があります。以下のオプションのいずれかで、IP アドレスを管理できます。
- 手動: IPAM が なし に設定されている場合
- DHCP: 管理対象の DHCP サーバーがプールから未使用の IP を要求する
- データベース: Satellite データベースに保存されている、一連または無作為の IP アドレス帳
以下の説明は、特定のネットワークを管理するスタンドアロンの Capsule Server の設定にも同様に当てはまります。Satellite が外部の DHCP、DNS および TFTP サービスを使用するように設定する方法は、『オンラインネットワークからの Satellite Server のインストール』の「外部サービスの設定」を参照してください。
DHCP の範囲
Satellite Server では、検出されたシステムおよびプロビジョニングシステムの両方に同じ DHCP 範囲を定義することはできますが、各サービスに同じサブネット内の別の範囲を使用することを推奨します。
4.1. Satellite および DHCP オプション
Satellite は、DHCP Capsule で DHCP の予約を管理します。Satellite は next-server
および filename
DHCP オプションを設定します。
next-server オプション
next-server
オプションでは、起動する TFTP サーバーの IP アドレスを提供します。このオプションはデフォルトでは設定されておらず、TFTP Capsule ごとに設定する必要があります。--foreman-proxy-tftp-servername
オプションを指定して satellite-installer
コマンドを使用して、/etc/foreman-proxy/settings.d/tftp.yml
ファイルに TFTP サーバーを設定できます。
# satellite-installer --foreman-proxy-tftp-servername 1.2.3.4
次に 各 TFTP Capsule は API を使用してこの設定を報告して、DHCP レコードの作成時に、Satellite が設定情報を取得できるようになります。
PXE ローダーが none
に設定されている場合には、Satellite は DHCP レコードに next-server
オプションを追加しません。
next-server
オプションが未定義の場合には、Satellite は逆引き DNS 検索を使用して、割り当てる TFTP サーバーのアドレスを検索しますが、以下の問題が発生する可能性があります。
- プロビジョニング中の DNS タイムアウト
- キャッシュではなく、AA (Authoritative Answer) など、不正な DNS サーバーのクエリー
-
PTR record was invalid
など、TFTP サーバーの不正な IPアドレスに関するエラー
上記の問題が発生した場合には、特に PTR レコードの解決など、Satellite と Capsule の両方で DNS 設定を確認してください。
filename オプション
filename
オプションには、プロビジョニング時に、ダウンロードして実行するファイルへの完全パスが含まれます。ホストまたはホストグループに選択した PXE ローダーは、使用する filename
オプションを定義します。PXE ローダーが none
に設定されている場合には Satellite は DHCP レコードに filename
オプションを追加しません。PXE ローダーオプションによっては、filename
が以下のように変更されます。
PXE ローダーオプション | ファイル名のエントリー | 注記 |
---|---|---|
PXELinux BIOS |
| |
PXELinux UEFI |
| |
iPXE Chain BIOS |
| |
PXEGrub2 UEFI |
|
x64 はアーキテクチャーにより異なる場合があります |
iPXE UEFI HTTP |
|
|
Grub2 UEFI HTTP |
|
|
4.2. イメージベースのプロビジョニングの要件
ブート後の設定方法
finish
ブート後設定スクリプトを使用するイメージは、Satellite の 統合 Capsule または外部 Capsule など、管理された DHCP サーバーが必要です。ホストは DHCP Capsule と関連付けられたサブネットで作成する必要があり、ホストの IP アドレスは、DHCP 範囲の有効な IP アドレスでなければなりません。
外部の DHCP サービスを使用することは可能ですが、IP アドレスは手動で入力する必要があります。イメージの設定に対応する SSH 認証情報は、ブート後の設定を実行できるように Satellite に設定しなければなりません。
設定後スクリプトに依存するイメージからブートした仮想マシンをトラブルシューティングする場合には、以下の項目を確認する必要があります。
- ホストには、Satellite Server に割り当てられたサブネットがあること。
- サブネットには、Satellite Server に割り当てられた DHCP Capsule があること。
- ホストには、Satellite Server に割り当てられた有効な IP アドレスがあること。
- DHCP を使用した仮想マシンが取得した IP アドレスは、Satellite Server に設定されたアドレスと一致すること。
- イメージから作成された仮想マシンは、SSH リクエストに応答すること。
- イメージから作成された仮想マシンは、SSH を介して、デプロイされたイメージと関連付けられている、ユーザーとパスワードを承認すること。
- Satellite Server で SSH キーを使用して仮想マシンにアクセスできること。これは、仮想マシンが Satellite Server から設定後のスクリプトを受信するために必要です。
ブート前の初期化の設定方法
cloud-init
スクリプトを使用するイメージは通常、イメージに IP アドレスを含むことを回避するため、DHCP サーバーを必要とします。管理された DHCP Capsule が推奨されます。イメージは、システムがブートされた時に開始し、設定完了時に使用するスクリプトまたは設定データを取得するための cloud-init
サービスを設定する必要があります。
イメージに含まれる初期スクリプトに依存するイメージからブートした仮想マシンをトラブルシューティングする場合には、以下の項目を確認する必要があります。
- サブネット上に DHCP サーバーがあること。
-
仮想マシンには
cloud-init
サービスがインストールされ、有効化されていること。
仮想マシンイメージの finish
および finish
スクリプトに対する異なるレベルのサポートに関する詳細は、Red Hat カスタマーポータルの Red Hat ナレッジベースソリューション「What are the supported compute resources for the finish and cloud-init scripts」を参照してください。
4.3. ネットワークサービスの設定
一部のプロビジョニング方法では Capsule Server サービスを使用します。たとえば、ネットワークで Capsule Server を DHCP サーバーとして機能させる必要がある場合があります。また、ネットワークで PXE ブートサービスを使用して、新規ホストにオペレーティングシステムをインストールすることも可能です。この場合には、主な PXE ブートサービスである DHCP、DNS および TFTP を使用できるように Capsule Server を設定する必要があります。
上記のオプションを指定して satellite-installer
スクリプトを実行し、Satellite Server でこれらのサービスを設定します。
外部の Capsule Server にこれらのサービスを設定するには、satellite-installer --scenario capsule
を実行します。
Satellite Server は、Red Hat の CDN への接続など、外部との通信に eth0
を使用します。
手順
Satellite の統合 Capsule でネットワークサービスを設定するには、以下の手順を行います。
satellite-installer
コマンドを入力し、必要なネットワークサービスを設定します。# satellite-installer --foreman-proxy-dhcp true \ --foreman-proxy-dhcp-managed true \ --foreman-proxy-dhcp-gateway "192.168.140.1" \ --foreman-proxy-dhcp-interface "eth1" \ --foreman-proxy-dhcp-nameservers "192.168.140.2" \ --foreman-proxy-dhcp-range "192.168.140.10 192.168.140.110" \ --foreman-proxy-dhcp-server "192.168.140.2" \ --foreman-proxy-dns true \ --foreman-proxy-dns-managed true \ --foreman-proxy-dns-forwarders "8.8.8.8; 8.8.4.4" \ --foreman-proxy-dns-interface "eth1" \ --foreman-proxy-dns-reverse "140.168.192.in-addr.arpa" \ --foreman-proxy-dns-server "127.0.0.1" \ --foreman-proxy-dns-zone "example.com" \ --foreman-proxy-tftp true \ --foreman-proxy-tftp-managed true
設定する Capsule Server を検索します。
# hammer proxy list
Capsule Server の機能をリフレッシュして変更を表示します。
# hammer proxy refresh-features --name "satellite.example.com"
Capsule Server に設定されたサービスを確認します。
# hammer proxy info --name "satellite.example.com"
4.3.1. ネットワーク設定の DHCP、DNS および TFTP オプション
DHCP オプション
- --foreman-proxy-dhcp
-
DHCP サービスを有効にします。このオプションは、
true
またはfalse
に設定します。 - --foreman-proxy-dhcp-managed
-
DHCP サービスを管理するため Foreman を有効にします。このオプションを
true
またはfalse
に設定します。 - --foreman-proxy-dhcp-gateway
- DHCP プールのゲートウェイ。これは、プライベートネットワークにあるホスト用の外部ゲートウェイのアドレスに指定します。
- --foreman-proxy-dhcp-interface
-
要求をリッスンするために DHCP サービスのインターフェースを設定します。これは、
eth1
に設定します。 - --foreman-proxy-dhcp-nameservers
-
DHCP でクライアントに提供されたネームサーバーのアドレスを設定します。これは、
eth1
の Satellite Server のアドレスに設定します。 - --foreman-proxy-dhcp-range
- Discovered および Unmanaged サービスのスペース区切りの DHCP プール範囲
- --foreman-proxy-dhcp-server
- 管理する DHCP サーバーのアドレスを設定します。
DNS オプション
- --foreman-proxy-dns
-
DNS サービスを有効にします。このオプションは、
true
またはfalse
に設定します。 - --foreman-proxy-dns-managed
-
DNS サービスを管理するため Foreman を有効にします。このオプションを
true
またはfalse
に設定します。 - --foreman-proxy-dns-forwarders
- DNS フォワーダーを設定します。これは、お使いの DNS サーバーに設定します。
- --foreman-proxy-dns-interface
-
DNS 要求をリッスンするためのインターフェースを設定します。これは、
eth1
に設定します。 - --foreman-proxy-dns-reverse
- DNS 逆引きゾーン名です。
- --foreman-proxy-dns-server
- 管理する DNS サーバーのアドレスを設定します。
- --foreman-proxy-dns-zone
- DNS ゾーン名に設定します。
TFTP オプション
- --foreman-proxy-tftp
-
TFTP サービスを有効にします。このオプションは、
true
またはfalse
に設定します。 - --foreman-proxy-tftp-managed
-
TFTP サービスを管理するため Foreman を有効にします。このオプションを
true
またはfalse
に設定します。 - --foreman-proxy-tftp-servername
- 使用する TFTP サーバーを設定します。Capsule Server の IP アドレスを使用していることを確認してください。
satellite-installer --scenario capsule --help
を実行し、DHCP、DNS、TFTP およびその他の Satellite Capsule サービスに関するさらなるオプションを表示します。
4.3.2. NAT 経由での TFTPサービスの使用
NAT 経由で Satellite TFTP サービスを使用できます。これには、全 NAT ルートまたはファイアウォールで、UDP のポート番号 69 の TFTP サービスを有効にし、TFTP の状態追跡機能も有効にする必要があります。詳細情報は、お使いの NAT デバイスのドキュメントを参照してください。
NAT ルートまたはファイアウォールが Red Hat Enterprise Linux を使用する場合には、全デバイスで以下の手順を実行してください。
Red Hat Enterprise Linux 7 の場合:
以下のコマンドを使用して、UDP のポート番号 69 で TFTP サービスを許可し、カーネルの TFTP 状態追跡モジュールを読み込んで、変更を永続化します。
# firewall-cmd --add-service=tftp && firewall-cmd --runtime-to-permanent
Red Hat Enterprise Linux 6 の場合:
UDP のポート番号 69 で TFTP サービスを許可するように、ファイアウォールを設定します。
# iptables -A OUTPUT -i eth0 -p udp --sport 69 -m state \ --state ESTABLISHED -j ACCEPT # service iptables save
ip_conntrack_tftp
カーネルの TFTP 状態モジュールを読み込みます。/etc/sysconfig/iptables-config
ファイルで、IPTABLES_MODULES
の場所を特定して以下のようにip_conntrack_tftp
を追加します。IPTABLES_MODULES="ip_conntrack_tftp"
4.4. Satellite Server へのドメインの追加
Satellite Server は、ネットワークの各ホストのドメイン名を定義します。Satellite Server には、ドメインと、ドメイン名の割り当てを担当する Capsule Server に関する情報を含める必要があります。こうすることで、特定のドメイン内のホストをグループ化し、名前を指定して、パラメーターや Peppet 変数を割り当てることができます。
既存のドメインの確認
Satellite Server には、Satellite Server のインストールの一環として関連するドメインがすでに作成されている可能性があります。コンテキストを 任意の組織
および 任意のロケーション
に切り替えてから、ドメインの一覧でこれが存在するかどうかを確認します。
手順
Satellite にドメインを追加するには、以下の手順を行います。
- Satellite Web UI で、インフラストラクチャー > ドメイン に移動して、ドメインの作成 をクリックします。
- DNS ドメイン フィールドに、完全な DNS ドメイン名を入力します。
- フルネーム フィールドで、プレーンテキストのドメイン名を入力します。
- パラメーター タブでは、任意のドメインレベルのパラメーターを設定し、このドメインに割り当てられたホストに適用します。たとえば、テンプレートで使用するユーザー定義ブール値またはストリングパラメーターなどです。
- パラメーターの追加 をクリックし、名前 および 値 フィールドに入力します。
- ロケーション タブをクリックして、ドメインがある場所を追加します。
- 組織 タブをクリックして、ドメインが属する組織を追加します。
- 送信 をクリックして変更を保存します。
CLI をご利用の場合
hammer domain create
コマンドを使用して、ドメインを作成します。
# hammer domain create --name "domain_name.com" \ --description "My example domain" --dns-id 1 \ --locations "My_Location" --organizations "My_Organization"
この例では --dns-id
オプションは 1
を使用しています。1 は、Satellite Server の 統合 Capsule ID です。
4.5. Satellite Server へのサブネットの追加
Red Hat Satellite のサブネットは、システムのグループ用に指定したネットワークを定義します。サブネットは標準 IP アドレス設定を使用してネットワークを定義し、Red Hat Satellite Capsule Server の DHCP 機能を使用して IP アドレスをサブネット内のシステムに割り当てます。
Satellite は、新規ホストのインターフェースを設定するので、サブネットごとの情報を Satellite Server に追加する必要があります。インターフェースを設定するには、Satellite Server には、これらのインターフェースを接続するネットワークに関する全情報を含める必要があります。
手順
Satellite Server にサブネットを追加するには、以下の手順を行います。
- Satellite Web UI で、インフラストラクチャー > サブネット に移動して、サブネットウィンドウで サブネットの作成 をクリックします。
- 名前 フィールドに、サブネットの名前を入力します。
- 説明 フィールドには、サブネットの説明を入力します。
- ネットワークアドレス フィールドには、サブネットのネットワークアドレスを入力します。
- ネットワークのプレフィックス フィールドには、サブネットのネットワークプレフィックスを入力します。
- ネットワークマスク フィールドには、サブネットのネットワークマスクを入力します。
- ゲートウェイアドレス フィールドには、サブネットの外部ゲートウェイを入力します。
- プライマリー DNS サーバー フィールドには、サブネットのプライマリー DNS を入力します。
- セカンダリー DNS サーバー には、、サブネットのセカンダリー DNS を入力します。
IPAM には、IP アドレス管理 (IPAM) に使用するメソッドを選択します。
- DHCP: サブネットには DHCP サーバーが含まれます。
- 内部 DB: サブネットには DHCP サーバーは含まれませんが、Satellite では IP アドレスの割り当てを管理し、内部データベースに IP アドレスを記録できます。
- なし: IP アドレス管理がありません。
- 選択した IPAM メソッドの情報を入力します。
- リモート実行 タブをクリックして、リモート実行を制御する Capsule を選択します。
- ドメイン タブをクリックして、このサブネットに適用するドメインを選択します。
- Capsules タブをクリックして、サブネットに各サービスを提供する Capsule を選択します。
- パラメーター タブをクリックして、任意のサブネットレベルのパラメーターを設定し、このサブネットに割り当てられたホストに適用します。たとえば、テンプレートで使用できるユーザー定義ブール値またはストリングパラメーターなどです。
- ロケーション タブをクリックして、この Capsule を使用するロケーションを選択します。
- 組織 タブをクリックして、この Capsule を使用する組織を選択します。
- 送信 をクリックしてサブネットの情報を保存します。
CLI をご利用の場合
以下のコマンドでサブネットを作成します。
# hammer subnet create --name "My_Network" \ --description "your_description" \ --network "192.168.140.0" --mask "255.255.255.0" \ --gateway "192.168.140.1" --dns-primary "192.168.140.2" \ --dns-secondary "8.8.8.8" --ipam "DHCP" \ --from "192.168.140.111" --to "192.168.140.250" --boot-mode "DHCP" \ --domains "example.com" --dhcp-id 1 --dns-id 1 --tftp-id 1 --template-id 1 \ --locations "My_Location" --organizations "My_Organization"
この例では、--dhcp-id
、--dns-id
、および --tftp-id
オプションは 1 を使用します。1 は Satellite Server の統合 Capsule の ID です。
4.6. プロビジョニング時間を削減するための iPXE の設定
Red Hat Satellite 6.6 では、PXELinux を設定して iPXE をチェーンブートし、HTTP プロトコルを使用してブートすることができます。これは、高レイテンシーのネットワークにおいて TFTP よりも迅速で、信頼性も高まります。
Red Hat Satellite 6.6 で iPXE を使用する方法は 3 つあります。
- iPXE をプライマリーファームウェアとして使用するハイパーバイザーで仮想マシンをチェーンブートする方法
- TFTP を介して PXELinux を使用し、iPXE を直接ベアメタルホストにチェーンロードする方法
- UNDI を介して PXELinux を使用し、HTTP でカーネルとベアメタルホストの初期 RAM ディスクを移動する方法
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
- 使用する Red Hat Satellite にホストが存在する。
- プロビジョニングインターフェースの MAC アドレスが、ホスト設定と一致する。
- ホストのプロビジョニングインターフェースには、有効な DHCP 予約がある。
- NIC は、PXE ブートが可能である。詳細は http://ipxe.org/appnote/hardware_drivers を参照してください。
- NIC は、iPXE と互換性がある。
4.6.1. 仮想マシンのチェーンブート
仮想化ハイパーバイザーの多くは、PXE ブートのプライマリーファームウェアとして iPXE を使用します。このため、TFTP および PXELinux なしでチェーンブートが可能です。
仮想マシンワークフローのチェーンブート
仮想化ハイパーバイザーを使用することで、 TFTP および PXELinux の必要性がなくなります。仮想化ハイパーバイザーのワークフローは、以下の通りです。
- 仮想マシンが起動します。
- iPXE が DHCP を使用してネットワークの認証情報を取得します。
- iPXE が DHCP を使用して HTTP アドレスを取得します。
- iPXE が テンプレート Capsule から iPXE テンプレートをチェーンロードします。
- iPXE が、インストーラーのカーネルおよび初期 RAM ディスクをロードします。
使用するハイパーバイザーが iPXE をサポートしていることを確認します。以下の仮想化ハイパーバイザーは、iPXE をサポートします。
- libvirt
- oVirt
- RHEV
iPXE を使うための Red Hat Satellite Server の設定
デフォルトのテンプレートを使用して、ホストの iPXE ブーティングを設定できます。テンプレートのデフォルトの値を変更する場合は、テンプレートをクローンし、そのクローンを編集します。
手順
Satellite が iPXE を使用するように設定するには、以下の手順を行います。
-
Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動し、
Kickstart default iPXE
を入力後、検索 をクリックします。 - オプション: テンプレートを変更する場合は、クローン をクリックして独自の名前を入力し、送信 をクリックします。
- 使用するテンプレートの名前をクリックします。
- テンプレートをクローンした場合、変更が必要な時は テンプレート タブで実施できます。
- 関連付け タブをクリックし、ホストが使用するオペレーティングシステムを選択します。
- ロケーション タブをクリックして、ホストの所在を追加します。
- 組織 タブをクリックして、ホストが属する組織を追加します。
- 送信 をクリックして変更を保存します。
- ホスト > オペレーティングシステム に移動し、ホストのオペレーティングシステムを選択します。
- テンプレート タブをクリックします。
- iPXE テンプレート リストから、使用するテンプレートを選択します。
- 送信 をクリックして変更を保存します。
- ホスト > すべてのホスト に移動します。
- ホスト のページで、使用するホストを選択します。
- テンプレート タブを選択します。
- iPXE テンプレート リストから、レビュー を選択し、Kickstart default iPXE テンプレートが正しいテンプレートであることを確認します。
iPXE ファームウェアのチェーンブートの無限ループを回避するには、
/etc/dhcp/dhcpd.conf
ファイルを編集し、以下の例に一致させます。分離したネットワークを使用する場合は、Satellite Server の URL ではなく、TCP port 8000 を伴う Capsule Server の URL を使用します。/etc/dhcp/dhcpd.conf
ファイルの Bootfile Handoff セクションで、以下の行を見つけます。} else { filename "pxelinux.0"; }
else ステートメントの前に、以下に示す別の
elsif
ステートメントを追加します。elsif exists user-class and option user-class = "iPXE" { filename "http://satellite.example.com/unattended/iPXE"; }
if セクションが、以下の例と一致することを確認します。
if option architecture = 00:06 { filename "grub2/shim.efi"; } elsif option architecture = 00:07 { filename "grub2/shim.efi"; } elsif option architecture = 00:09 { filename "grub2/shim.efi"; } elsif exists user-class and option user-class = "iPXE" { filename "http://satellite.example.com/unattended/iPXE"; } else { filename "pxelinux.0"; }
注記http://satellite.example.com/unattended/iPXE
では、Red Hat Satellite Capsulehttp://capsule.example.com:8000/unattended/iPXE
を使用することもできます。アップグレードごとに/etc/dhcp/dhcpd.conf
ファイルを更新する必要があります。/etc/dhcp/dhcpd.conf
ファイルのコンテンツは大文字と小文字を区別します。
4.6.2. iPXE ディレクトリーのチェーンブート
この手順を使用して、iPXE がネットワーク通信または UNDI インターフェースに内蔵のドライバーを使用するように設定します。Satellite Server と Capsule が iPXE を使用するように設定する方法は異なります。
この手順を使用できるのは、ベアメタルホストのみです。
直接または UNDI ワークフローと共に iPXE をチェーンブート
- ホストの電源をオンにします。
- PXE ドライバーは、DHCP を使用してネットワークの認証情報を取得します。
-
PXE ドライバーは、TFTP を使用して PXELinux ファームウェア
pxelinux.0
を取得します。 - PXELinux は、TFTP サーバーの設定ファイルを検索します。
-
PXELinux は、iPXE
ipxe.lkrn
またはundionly-ipxe.0
をチェーンロードします。 - iPXE は、再び DHCP を使用してネットワークの認証情報を取得します。
- iPXE は、DHCP を使用して HTTP アドレスを取得します。
- iPXE が テンプレート Capsule から iPXE テンプレートをチェーンロードします。
- iPXE が、インストーラーのカーネルおよび初期 RAM ディスクをロードします。
iPXE を使うための Red Hat Satellite Server の設定
デフォルトのテンプレートを使用して、ホストの iPXE ブーティングを設定できます。テンプレートのデフォルトの値を変更する場合は、テンプレートをクローンし、そのクローンを編集します。
手順
Satellite が UNDI ワークフローで iPXE を使用するように設定するには、以下の手順を行います。
-
Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動し、
PXELinux chain iPXE
または UNDI にはPXELinux chain iPXE UNDI
を入力し、検索 をクリックします。 - オプション: テンプレートを変更する場合は、クローン をクリックして独自の名前を入力し、送信 をクリックします。
- 使用するテンプレートの名前をクリックします。
- テンプレートをクローンした場合、変更が必要な時は テンプレート タブで実施できます。
- 関連付け タブをクリックし、ホストが使用するオペレーティングシステムを選択します。
- ロケーション タブをクリックして、ホストの所在を追加します。
- 組織 タブをクリックして、ホストが属する組織を追加します。
- 送信 をクリックして変更を保存します。
-
プロビジョニングテンプレート ページの検索フィールドに
Kickstart default iPXE
を入力し、検索 をクリックします。 - オプション: テンプレートを変更する場合は、クローン をクリックして独自の名前を入力し、送信 をクリックします。
- 使用するテンプレートの名前をクリックします。
- テンプレートをクローンした場合、変更が必要な時は テンプレート タブで実施できます。
- 関連付け タブをクリックし、テンプレートをホストが使用するオペレーティングシステムに関連付けします。
- ロケーション タブをクリックして、ホストの所在を追加します。
- 組織 タブをクリックして、ホストが属する組織を追加します。
- 送信 をクリックして変更を保存します。
- ホスト > オペレーティングシステム に移動し、ホストのオペレーティングシステムを選択します。
- テンプレート タブをクリックします。
- PXELinux テンプレート リストから、使用するテンプレートを選択します。
- iPXE テンプレート リストから、使用するテンプレートを選択します。
- 送信 をクリックして変更を保存します。
- ホスト > すべてのホスト に移動し、使用するホストを選択します。
- テンプレート タブを選択し、PXELinux テンプレート リストから レビュー を選択して、そのテンプレートが正しいテンプレートであることを確認します。
- iPXE テンプレート リストから レビュー を選択して、テンプレートが正しいことを確認します。PXELinux のエントリーがない場合、または新しいテンプレートが見つからない場合は、ホスト > すべてのホスト に移動し、ホスト上で 編集 をクリックします。オペレーティングシステム タブをクリックし、続いてプロビジョニングテンプレート 解決 ボタンをクリックして、テンプレートのリストをリフレッシュします。
iPXE ファームウェアのチェーンブートの無限ループを回避するには、
/etc/dhcp/dhcpd.conf
ファイルを編集し、以下の例に一致させます。分離したネットワークを使用する場合は、Satellite Server の URL ではなく、TCP port 8000 を伴う Capsule Server の URL を使用します。/etc/dhcp/dhcpd.conf
ファイルの Bootfile Handoff セクションで、以下の行を見つけます。} else { filename "pxelinux.0"; }
else ステートメントの前に、以下に示す別の
elsif
ステートメントを追加します。elsif exists user-class and option user-class = "iPXE" { filename "http://satellite.example.com/unattended/iPXE"; }
if セクションが、以下の例と一致することを確認します。
if option architecture = 00:06 { filename "grub2/shim.efi"; } elsif option architecture = 00:07 { filename "grub2/shim.efi"; } elsif option architecture = 00:09 { filename "grub2/shim.efi"; } elsif exists user-class and option user-class = "iPXE" { filename "http://satellite.example.com/unattended/iPXE"; } else { filename "pxelinux.0"; }
注記http://satellite.example.com/unattended/iPXE
では、Red Hat Satellite Capsulehttp://capsule.example.com:8000/unattended/iPXE
を使用することもできます。アップグレードごとに/etc/dhcp/dhcpd.conf
ファイルを更新する必要があります。/etc/dhcp/dhcpd.conf
ファイルのコンテンツは大文字と小文字を区別します。
iPXE を使用するための Red Hat Satellite Capsule の設定
この手順を使用して、iPXE を使用するために Capsule を設定することができます。
この手順は、すべての Capsule で実行する必要があります。
手順
Capsule が iPXE をチェーンブートするように設定するには、以下の手順を行います。
ipxe-bootimgs
RPM パッケージをインストールしてください。# yum install ipxe-bootimgs
iPXE ファームウェアを TFTP サーバーの root ディレクトリーにコピーします。TFTP は
chroot
環境で実行するので、シンボリックリンクは使用しません。直接チェーンブートするには、以下のコマンドを入力します。
# cp /usr/share/ipxe/ipxe.lkrn /var/lib/tftpboot/
UNDI の場合は、以下のコマンドを入力します。
# cp /usr/share/ipxe/undionly.kpxe /var/lib/tftpboot/undionly-ipxe.0
ファイルのコンテンツを修正します。
# restorecon -RvF /var/lib/tftpboot/