第4章 ネットワークの設定

それぞれのプロビジョニングタイプにはネットワーク設定が必要です。本章を参照して、Satellite Server が統合された Capsule でネットワークサービスを設定します。

新規ホストが Capsule Server にアクセスできる必要があります。Capsule Server は、Satellite Server の統合 Capsule または外部 Capsule Server のいずれかになります。必要なホストが分離したネットワーク上にあり、Satellite Server に直接接続できない場合、またはコンテンツと Capsule Server とを同期している場合には、外部 Capsule Server からのホストのプロビジョニングを選択することができます。また、外部 Capsule Server を使用したプロビジョニングは、ネットワークの帯域幅を節約できます。

Capsule Server の設定には、基本的な要件が 2 つあります。

  1. ネットワークサービスの設定には、以下が含まれます。

    • コンテンツ配信サービス
    • ネットワークサービス (DHCP、DNS、および TFTP)
    • Puppet 設定
  2. 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.0

 

PXELinux UEFI

pxelinux.efi

 

iPXE Chain BIOS

undionly.kpxe

 

PXEGrub2 UEFI

grub2/grubx64.efi

x64 はアーキテクチャーにより異なる場合があります

iPXE UEFI HTTP

http://capsule.example.com:8000/httpboot/ipxe-x64.efi

httpboot 機能が必要で、完全な URL として filename をレンダリングします。ここでは capsule.example.com は、Satellite にある Capsule の既知のホスト名に置き換えます。

Grub2 UEFI HTTP

http://capsule.example.com:8000/httpboot/grub2/grubx64.efi

httpboot 機能が必要で、完全な URL として filename をレンダリングします。ここでは capsule.example.com は、Satellite にある Capsule の既知のホスト名に置き換えます。

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 でネットワークサービスを設定するには、以下の手順を行います。

  1. 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
  2. 設定する Capsule Server を検索します。

    # hammer proxy list
  3. Capsule Server の機能をリフレッシュして変更を表示します。

    # hammer proxy refresh-features --name "satellite.example.com"
  4. 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 の場合:

  1. UDP のポート番号 69 で TFTP サービスを許可するように、ファイアウォールを設定します。

    # iptables -A OUTPUT -i eth0 -p udp --sport 69 -m state \
    --state ESTABLISHED -j ACCEPT
    # service iptables save
  2. 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 にドメインを追加するには、以下の手順を行います。

  1. Satellite Web UI で、インフラストラクチャー > ドメイン に移動して、ドメインの作成 をクリックします。
  2. DNS ドメイン フィールドに、完全な DNS ドメイン名を入力します。
  3. フルネーム フィールドで、プレーンテキストのドメイン名を入力します。
  4. パラメーター タブでは、任意のドメインレベルのパラメーターを設定し、このドメインに割り当てられたホストに適用します。たとえば、テンプレートで使用するユーザー定義ブール値またはストリングパラメーターなどです。
  5. パラメーターの追加 をクリックし、名前 および フィールドに入力します。
  6. ロケーション タブをクリックして、ドメインがある場所を追加します。
  7. 組織 タブをクリックして、ドメインが属する組織を追加します。
  8. 送信 をクリックして変更を保存します。

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 にサブネットを追加するには、以下の手順を行います。

  1. Satellite Web UI で、インフラストラクチャー > サブネット に移動して、サブネットウィンドウで サブネットの作成 をクリックします。
  2. 名前 フィールドに、サブネットの名前を入力します。
  3. 説明 フィールドには、サブネットの説明を入力します。
  4. ネットワークアドレス フィールドには、サブネットのネットワークアドレスを入力します。
  5. ネットワークのプレフィックス フィールドには、サブネットのネットワークプレフィックスを入力します。
  6. ネットワークマスク フィールドには、サブネットのネットワークマスクを入力します。
  7. ゲートウェイアドレス フィールドには、サブネットの外部ゲートウェイを入力します。
  8. プライマリー DNS サーバー フィールドには、サブネットのプライマリー DNS を入力します。
  9. セカンダリー DNS サーバー には、、サブネットのセカンダリー DNS を入力します。
  10. IPAM には、IP アドレス管理 (IPAM) に使用するメソッドを選択します。

    • DHCP: サブネットには DHCP サーバーが含まれます。
    • 内部 DB: サブネットには DHCP サーバーは含まれませんが、Satellite では IP アドレスの割り当てを管理し、内部データベースに IP アドレスを記録できます。
    • なし: IP アドレス管理がありません。
  11. 選択した IPAM メソッドの情報を入力します。
  12. リモート実行 タブをクリックして、リモート実行を制御する Capsule を選択します。
  13. ドメイン タブをクリックして、このサブネットに適用するドメインを選択します。
  14. Capsules タブをクリックして、サブネットに各サービスを提供する Capsule を選択します。
  15. パラメーター タブをクリックして、任意のサブネットレベルのパラメーターを設定し、このサブネットに割り当てられたホストに適用します。たとえば、テンプレートで使用できるユーザー定義ブール値またはストリングパラメーターなどです。
  16. ロケーション タブをクリックして、この Capsule を使用するロケーションを選択します。
  17. 組織 タブをクリックして、この Capsule を使用する組織を選択します。
  18. 送信 をクリックしてサブネットの情報を保存します。

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 つあります。

  1. iPXE をプライマリーファームウェアとして使用するハイパーバイザーで仮想マシンをチェーンブートする方法
  2. TFTP を介して PXELinux を使用し、iPXE を直接ベアメタルホストにチェーンロードする方法
  3. 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 の必要性がなくなります。仮想化ハイパーバイザーのワークフローは、以下の通りです。

  1. 仮想マシンが起動します。
  2. iPXE が DHCP を使用してネットワークの認証情報を取得します。
  3. iPXE が DHCP を使用して HTTP アドレスを取得します。
  4. iPXE が テンプレート Capsule から iPXE テンプレートをチェーンロードします。
  5. iPXE が、インストーラーのカーネルおよび初期 RAM ディスクをロードします。

使用するハイパーバイザーが iPXE をサポートしていることを確認します。以下の仮想化ハイパーバイザーは、iPXE をサポートします。

  • libvirt
  • oVirt
  • RHEV

iPXE を使うための Red Hat Satellite Server の設定

デフォルトのテンプレートを使用して、ホストの iPXE ブーティングを設定できます。テンプレートのデフォルトの値を変更する場合は、テンプレートをクローンし、そのクローンを編集します。

手順

Satellite が iPXE を使用するように設定するには、以下の手順を行います。

  1. Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動し、Kickstart default iPXE を入力後、検索 をクリックします。
  2. オプション: テンプレートを変更する場合は、クローン をクリックして独自の名前を入力し、送信 をクリックします。
  3. 使用するテンプレートの名前をクリックします。
  4. テンプレートをクローンした場合、変更が必要な時は テンプレート タブで実施できます。
  5. 関連付け タブをクリックし、ホストが使用するオペレーティングシステムを選択します。
  6. ロケーション タブをクリックして、ホストの所在を追加します。
  7. 組織 タブをクリックして、ホストが属する組織を追加します。
  8. 送信 をクリックして変更を保存します。
  9. ホスト > オペレーティングシステム に移動し、ホストのオペレーティングシステムを選択します。
  10. テンプレート タブをクリックします。
  11. iPXE テンプレート リストから、使用するテンプレートを選択します。
  12. 送信 をクリックして変更を保存します。
  13. ホスト > すべてのホスト に移動します。
  14. ホスト のページで、使用するホストを選択します。
  15. テンプレート タブを選択します。
  16. iPXE テンプレート リストから、レビュー を選択し、Kickstart default iPXE テンプレートが正しいテンプレートであることを確認します。
  17. iPXE ファームウェアのチェーンブートの無限ループを回避するには、/etc/dhcp/dhcpd.conf ファイルを編集し、以下の例に一致させます。分離したネットワークを使用する場合は、Satellite Server の URL ではなく、TCP port 8000 を伴う Capsule Server の URL を使用します。

    1. /etc/dhcp/dhcpd.conf ファイルの Bootfile Handoff セクションで、以下の行を見つけます。

      } else {
        filename "pxelinux.0";
      }
    2. else ステートメントの前に、以下に示す別の elsif ステートメントを追加します。

      elsif exists user-class and option user-class = "iPXE" {
        filename "http://satellite.example.com/unattended/iPXE";
      }
    3. 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 Capsule http://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 をチェーンブート

  1. ホストの電源をオンにします。
  2. PXE ドライバーは、DHCP を使用してネットワークの認証情報を取得します。
  3. PXE ドライバーは、TFTP を使用して PXELinux ファームウェア pxelinux.0 を取得します。
  4. PXELinux は、TFTP サーバーの設定ファイルを検索します。
  5. PXELinux は、iPXE ipxe.lkrn または undionly-ipxe.0 をチェーンロードします。
  6. iPXE は、再び DHCP を使用してネットワークの認証情報を取得します。
  7. iPXE は、DHCP を使用して HTTP アドレスを取得します。
  8. iPXE が テンプレート Capsule から iPXE テンプレートをチェーンロードします。
  9. iPXE が、インストーラーのカーネルおよび初期 RAM ディスクをロードします。

iPXE を使うための Red Hat Satellite Server の設定

デフォルトのテンプレートを使用して、ホストの iPXE ブーティングを設定できます。テンプレートのデフォルトの値を変更する場合は、テンプレートをクローンし、そのクローンを編集します。

手順

Satellite が UNDI ワークフローで iPXE を使用するように設定するには、以下の手順を行います。

  1. Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動し、PXELinux chain iPXE または UNDI には PXELinux chain iPXE UNDI を入力し、検索 をクリックします。
  2. オプション: テンプレートを変更する場合は、クローン をクリックして独自の名前を入力し、送信 をクリックします。
  3. 使用するテンプレートの名前をクリックします。
  4. テンプレートをクローンした場合、変更が必要な時は テンプレート タブで実施できます。
  5. 関連付け タブをクリックし、ホストが使用するオペレーティングシステムを選択します。
  6. ロケーション タブをクリックして、ホストの所在を追加します。
  7. 組織 タブをクリックして、ホストが属する組織を追加します。
  8. 送信 をクリックして変更を保存します。
  9. プロビジョニングテンプレート ページの検索フィールドに Kickstart default iPXE を入力し、検索 をクリックします。
  10. オプション: テンプレートを変更する場合は、クローン をクリックして独自の名前を入力し、送信 をクリックします。
  11. 使用するテンプレートの名前をクリックします。
  12. テンプレートをクローンした場合、変更が必要な時は テンプレート タブで実施できます。
  13. 関連付け タブをクリックし、テンプレートをホストが使用するオペレーティングシステムに関連付けします。
  14. ロケーション タブをクリックして、ホストの所在を追加します。
  15. 組織 タブをクリックして、ホストが属する組織を追加します。
  16. 送信 をクリックして変更を保存します。
  17. ホスト > オペレーティングシステム に移動し、ホストのオペレーティングシステムを選択します。
  18. テンプレート タブをクリックします。
  19. PXELinux テンプレート リストから、使用するテンプレートを選択します。
  20. iPXE テンプレート リストから、使用するテンプレートを選択します。
  21. 送信 をクリックして変更を保存します。
  22. ホスト > すべてのホスト に移動し、使用するホストを選択します。
  23. テンプレート タブを選択し、PXELinux テンプレート リストから レビュー を選択して、そのテンプレートが正しいテンプレートであることを確認します。
  24. iPXE テンプレート リストから レビュー を選択して、テンプレートが正しいことを確認します。PXELinux のエントリーがない場合、または新しいテンプレートが見つからない場合は、ホスト > すべてのホスト に移動し、ホスト上で 編集 をクリックします。オペレーティングシステム タブをクリックし、続いてプロビジョニングテンプレート 解決 ボタンをクリックして、テンプレートのリストをリフレッシュします。
  25. iPXE ファームウェアのチェーンブートの無限ループを回避するには、/etc/dhcp/dhcpd.conf ファイルを編集し、以下の例に一致させます。分離したネットワークを使用する場合は、Satellite Server の URL ではなく、TCP port 8000 を伴う Capsule Server の URL を使用します。

    1. /etc/dhcp/dhcpd.conf ファイルの Bootfile Handoff セクションで、以下の行を見つけます。

      } else {
        filename "pxelinux.0";
      }
    2. else ステートメントの前に、以下に示す別の elsif ステートメントを追加します。

      elsif exists user-class and option user-class = "iPXE" {
        filename "http://satellite.example.com/unattended/iPXE";
      }
    3. 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 Capsule http://capsule.example.com:8000/unattended/iPXE を使用することもできます。アップグレードごとに /etc/dhcp/dhcpd.conf ファイルを更新する必要があります。/etc/dhcp/dhcpd.conf ファイルのコンテンツは大文字と小文字を区別します。

iPXE を使用するための Red Hat Satellite Capsule の設定

この手順を使用して、iPXE を使用するために Capsule を設定することができます。

この手順は、すべての Capsule で実行する必要があります。

手順

Capsule が iPXE をチェーンブートするように設定するには、以下の手順を行います。

  1. ipxe-bootimgs RPM パッケージをインストールしてください。

    # yum install ipxe-bootimgs
  2. 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
  3. ファイルのコンテンツを修正します。

    # restorecon -RvF /var/lib/tftpboot/