第6章 ベアメタルホストのプロビジョニング

Red Hat Satellite 6.6 では、ベアメタルインターフェースのプロビジョニングには主に 4 つの方法があります。

無人プロビジョニング
新規ホストは MAC アドレスで特定され、Satellite Server は PXE ブートプロセスを使用してホストをプロビジョニングします。
Discovery を使用した無人プロビジョニング
新規ホストは PXE ブートを使用して Satellite Discovery サービスをロードします。このサービスはホストのハードウェア情報を特定し、ホストをプロビジョニング可能なホストとして一覧表示します。
PXE なしのプロビジョニング
新規ホストは、ブートディスクまたは Satellite Server が生成する PXE なしの検出イメージでプロビジョニングされます。
Discovery を使用した PXE なしのプロビジョニング
新規ホストは、Satellite Discovery サービスをロードする ISO ブートディスクを使用します。このサービスはホストのハードウェア情報を特定し、ホストをプロビジョニング可能なホストとして一覧表示します。

BIOS および UEFI サポート

Red Hat Satellite では、BIOS および UEFI ベースの PXELinux プロビジョニングの両方を実行できます。

BIOS および UEFI インターフェースはいずれも、コンピューターのオペレーティングシステムとファームウェアの間のインタープリターとして機能し、ブート時にハードウェアコンポーネントを初期化して、オペレーティングシステムを起動します。

BIOS は、初期化する次のアドレスを含むハードドライブの最初のセクションを読み取り、UEFI はファームウェアの代わりに、.efi ファイルに初期化および起動に関する情報をすべて保存します。UEFI システムは、比較的新しく、一般的になってきています。

サポート対象のワークフローに関する詳細は、「Supported architectures and provisioning scenarios」を参照してください。

Satellite プロビジョニングでは、DHCP ファイル名の PXE ローダーは、PXE プロビジョニング時に TFTP を使用して読み込むファイルを定義します。BIOS システムの場合は、このファイルは pxelinux.0 で、UEFI システムの場合はこのファイルは grub2/grubx64.efi です。

BIOS プロビジョニングでは、PXELinux テンプレートとオペレーティングシステムを関連付ける必要があります。

UEFI プロビジョニングでは、PXEGrub2 テンプレートとオペレーティングシステムを関連付ける必要があります。

PXELinux と PXEGrub2 のテンプレートの両方を関連付ける場合は、PXE ローダー間で簡単に切り替えができるように、Satellite 6 で、両テンプレートの設定ファイルを TFTP にデプロイできます。

6.1. ベアメタルプロビジョニングの前提条件

ベアメタルプロビジョニングの要件には以下が含まれます。

  • 使用する Red Hat Enterprise Linux バージョンの同期済みのコンテンツリポジトリー。詳細は、『コンテンツ管理ガイド』の「Red Hat リポジトリーの同期」を参照してください。
  • ベアメタルホストのネットワークを管理する Capsule Server。無人プロビジョニングおよび Discovery ベースのプロビジョニングの場合に、Satellite Server は PXE サーバーの設定が必要です。詳細は、「4章ネットワークの設定」を参照してください。
  • ホスト登録用のアクティベーションキー。詳細は、『コンテンツ管理ガイド』の「アクティベーションキーの作成」を参照してください。
  • 空のベアメタルホスト。

無人および PXE なしのプロビジョニングのセキュリティートークンに関する情報は、「セキュリティートークンの有効期間の設定」を参照してください。

6.2. セキュリティートークンの有効期間の設定

無人および PXE なしのプロビジョニングを行う場合には、セキュリティー措置として、Satellite は自動的に一意のトークンを生成し、このトークンをキックスタートプロビジョニングプロセス時にダウンロードした ISO イメージの URL に追加します。

デフォルトでは、トークンの有効期限は 360 分です。ホストのプロビジョニング時に、この時間内にホストを再起動するようにしてください。トークンの有効期限が切れると、トークンが削除されて、404 エラーが送出されます。

トークンの有効期限を調節するには、Satellite Web UI で 管理 > 設定 に移動して、プロビジョニング タブをクリックします。トークンの期間 オプションを検索して、編集アイコンをクリックし、期間を変更するか、0 と入力してトークンの生成を無効にします。

6.3. 無人プロビジョニングによるホストの作成

無人プロビジョニングは、ホストのプロビジョニングの最も単純な形態です。この方法では、ホストの詳細を Satellite Server に入力し、ホストを起動する必要があります。Satellite Server は PXE 設定の管理や、ネットワークサービスの整理、およびホストのオペレーティングシステムと設定の提供を自動的に実行します。

このホストのプロビジョニングの方法では、プロセス中の対話が最小限になっています。

手順

無人プロビジョニングでホストを作成するには、以下の手順を行います。

  1. Satellite Web UI で、ホスト > ホストの作成 に移動します。
  2. 名前 フィールドには、ホストの名前を入力します。
  3. 組織 および ロケーション タブをクリックし、要件に合うようにコンテキストを変更します。
  4. ホストグループ リストから、フォームの生成に使用するホストグループを選択します。
  5. インターフェース タブをクリックして、ホストのインターフェースで、編集 をクリックします。
  6. フィールドに値が投入されていることを確認します。特に以下に注意してください。

    • ホスト タブの 名前DNS 名 になります。
    • Satellite Server は新規ホストの IP アドレスを自動的に割り当てます。
  7. MAC アドレス フィールドには、ホストの MAC アドレスを入力します。これにより、PXE ブートプロセス中のホストが識別されます。
  8. Satellite Server が、ホストの最初のインターフェースに Managed (管理)Primary、および Provision オプションを自動選択していることを確認します。選択されていない場合は、選択してください。
  9. オペレーティングシステム タブをクリックして、すべてのフィールドに値が含まれていることを確認します。オペレーティングシステムの各要素を確認してください。
  10. プロビジョニングテンプレート解決 をクリックし、新規ホストから使用する適切なプロビジョニングテンプレートを特定できることを確認します。
  11. オプション: VLAN タグ付けを使用する場合には、VLAN ID を PXELinux または PXEGrub2 テンプレートに追加する必要があります。APPEND の行に、vlanid=example_vlanid を追加します。

    プロビジョニングテンプレートの関連付けについての詳細は、「プロビジョニングテンプレートの作成」を参照してください。

  12. パラメーター タブをクリックして、存在するパラメーターでアクティベーションキーが提供されていることを確認します。提供されていない場合には、アクティベーションキーを追加します。
  13. 送信 をクリックしてホストの詳細を保存します。

これで、ホストのエントリーおよび関連するプロビジョニングの設定が作成されます。これには、PXE を使用したベアメタルホストの起動に必要なディレクトリーおよびファイルを作成することも含まれます。物理ホストの電源をオンにして、ブートモードを PXE に設定すると、ホストは Satellite Server の統合 Capsule の DHCP サービスを検出し、キックスタートツリーからオペレーティングシステムのインストールを開始します。インストールが完了すると、ホストはアクティべーションキーを使用して Satellite Server にも登録し、Red Hat Satellite Tools リポジトリーから必要な設定および管理ツールをインストールします。

CLI をご利用の場合

hammer host create コマンドでホストを作成します。

# hammer host create --name "My_Unattended_Host" --organization "My_Organization" \
--location "My_Location" --hostgroup "My_Host_Group" --mac "aa:aa:aa:aa:aa:aa" \
--build true --enabled true --managed true

hammer host interface update コマンドを使用し、ネットワークインターフェースのオプションが設定されていることを確認します。

# hammer host interface update --host "test1" --managed true \
--primary true --provision true

6.4. Red Hat Satellite の Discovery サービスの設定

Red Hat Satellite には、Satellite インベントリーに含まれていないネットワーク上に存在する空のホストを自動的に検出する方法があります。これらのホストは、ハードウェアの検出を実行し、この情報を Satellite Server に送り返す検出イメージを起動します。これにより、各ホストの MAC アドレスを入力せずに Satellite Server でプロビジョニング可能なホストのリストが作成されます。

Satellite Server では Discovery サービスはデフォルトで有効になっていますが、グローバルテンプレートのデフォルト設定では、ローカルのハードドライブからブートされます。Discovery を使用するには、テンプレートのデフォルトのエントリーを discovery に変更する必要があります。

PXE mode

Satellite Server を使用して Discovery イメージを提供するには、foreman-discovery-image および rubygem-smart_proxy_discovery パッケージをインストールします。

# satellite-maintain packages install foreman-discovery-image rubygem-smart_proxy_discovery

foreman-discovery-image パッケージは、Discovery ISO を /usr/share/foreman-discovery-image/ ディレクトリーにインストールし、livecd-iso-to-pxeboot ツールを使用してこの ISO から PXE ブートイメージも作成します。ツールはこの PXE ブートイメージを /var/lib/tftpboot/boot ディレクトリーに保存します。rubygem-smart_proxy_discovery パッケージには、Satellite Server の統合 Capsule など Capsule Server を、Discover サービスのプロキシーとして機能するように設定します。

インストールが完了したら、ホスト > 検出されたホスト に移動して、新規メニューのオプションを表示できます。

6.4.1. Capsule Server での Discovery サービスの有効化

以下の手順を実行し、Capsule Server で Discovery サービスを有効にします。

  1. Capsule Server で以下のコマンドを入力します。

    # yum install foreman-discovery-image rubygem-smart_proxy_discovery
    # satellite-maintain service restart
  2. Satellite Web UI にログインし、インフラストラクチャー > Capsule に移動します。
  3. Capsule Server をクリックして、アクション リストから リフレッシュ を選択します。機能リストで Discovery を特定して、Discovery サービスが実行中であることを確認します。

サブネット

検出可能なホストを含むすべてのサブネットには、検出サービスを提供するために適切な Capsule Server が選択されている必要があります。

これを確認するには、インフラストラクチャー > Capsules に移動して、使用する Capsule Server で Discovery 機能が表示されていることを確認します。表示されていない場合には、機能のリフレッシュ をクリックします。

Satellite Web UI で、インフラストラクチャー > サブネット に移動してサブネットを選択します。次に Capsule タブをクリックし、使用する Discovery プロキシー を選択します。該当するそれぞれのサブネットにこれを実行します。

6.4.2. テンプレート PXELinux Discovery スニペットのプロビジョニング

BIOS プロビジョニングの場合は、ホスト > テンプレートのプロビジョニング ウィンドウの PXELinux global default テンプレートには、スニペット pxelinux_discovery が含まれます。このスニペットには、以下のような行が含まれています。

LABEL discovery
  MENU LABEL Foreman Discovery Image
  KERNEL boot/fdi-image/vmlinuz0
  APPEND initrd=boot/fdi-image/initrd0.img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=<%= foreman_server_url %> proxy.type=foreman
  IPAPPEND 2

KERNEL および APPEND オプションを指定して、検出イメージおよび ramdisk 起動します。APPEND オプションには、proxy.url パラメーターと、引数として foreman_server_url マクロが含まれます。このマクロは、Satellite Server の完全な URL を解決します。

UEFI プロビジョニングの場合は、ホスト > テンプレートのプロビジョニング ウィンドウの PXEgrub2 global default テンプレートに、スニペット pxegrub2_discovery が含まれます。

menuentry 'Foreman Discovery Image' --id discovery {
  linuxefi boot/fdi-image/vmlinuz0 rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=<%= foreman_server_url %> proxy.type=foreman BOOTIF=01-$mac
  initrdefi boot/fdi-image/initrd0.img
}

Capsule を使用して検出の手順をプロキシー化するには、/var/lib/tftpboot/pxelinux.cfg/default または /var/lib/tftpboot/grub2/grub.cfg を編集して、使用する Capsule Server の FQDN に URL を変更します。

グローバルテンプレートは、Satellite Server と、TFTP 機能が有効化されている Capsules すべてで利用できます。

6.4.3. テンプレートとスニペットの変更

テンプレートを使用するには、Satellite Web UI で、管理 > 設定 に移動して、プロビジョニング タブをクリックし、使用するテンプレートを設定します。

テンプレートとスニペットは変更されないようにロックされています。テンプレートまたはスニペットを編集するには、クローンを作成して、一意の名前で保存してから、作成したクローンを編集してください。

含めるテンプレートまたはスニペットを変更する場合には、変更は、Satellite Server のデフォルトの PXE テンプレートに伝搬する必要があります。ホスト > テンプレートのプロビジョニング に移動して、PXE デフォルトの構築 をクリックします。これにより、Satellite Server の PXE テンプレートがリフレッシュされます。

proxy.url の引数

Satellite のインストールプロセス中に、デフォルトオプション --enable-foreman-plugin-discovery を使用する場合には、テンプレートの proxy.url 引数を編集して Discovery サービスを提供するCapsule Server の URL を設定できます。proxy.url の引数を、使用する別のプロビジョニング Capsule の IP アドレスまたは FQDN に変更できますが、9090 などポート番号を追加してください。Satellite のインストール時に --foreman-proxy-ssl-portオプションで別のポート番号を使用した場合には、このポート番号を追加する必要があります。Satellite IP アドレスまたは FQDN を使用するように、proxy.url 引数を編集して、検出されたホストを直接 Satellite Server と通信させることも可能です。

proxy.type の引数

proxy.url の引数に Capsule Server の FQDN を使用する場合は、proxy.type 引数を proxy に設定することを確認します。Satellite の FQDN を使用する場合は、proxy.type の引数を foreman に更新してください。

proxy.url=https://capsule.example.com:9090 proxy.type=proxy

Capsule のホスト名のレンダリング

Satellite 6 は、全 TFTP Capsules に同じテンプレートをデプロイし、Capsule のホスト名をレンダリングする変数やマクロがありません。ハードコードされた proxy.url は、複数の TFTP Capsule を連携できません。回避策として、PXE デフォルトの構築 をクリックするたびに、SSH を使用して TFTP ディレクトリーの設定ファイルを編集してください。

Discovery サービスのデフォルト設定

BIOS、UEFI いずれの場合も、現在の Satellite インベントリーに存在しないホスト用に起動するデフォルトのサービスとして Discovery サービスを設定するには、以下の手順を実行します。

  1. Satellite Web UI で、管理 > 設定 に移動して、プロビジョニング タブをクリックします。
  2. デフォルトの PXE グローバルテンプレートエントリー の場合は、 のコラムに discovery と入力します。

タグ付けされた VLAN プロビジョニング

タグ付けされた VLAN プロビジョニングを使用して、Discovery サービスにより検出要求が送信されるようにする場合には、以下の情報を、Discovery テンプレートの KERNEL オプションに追加します。

fdi.vlan.primary=example_VLAN_ID

テスト

192.168.140.0/24 ネットワークで Discovery サービスをテストし、空のベアメタルホストを起動します。ブートメニューに、2 つのオプションが表示されます。

  • local: ハードディスクから起動します。
  • discovery: Discovery サービスで起動します。

discovery を選択して Discovery イメージを起動します。数分後に Discovery イメージの起動を完了すると、ステータス画面が表示されます。

Satellite Web UI で、ホスト > 検出されたホスト に移動すると、新たに検出されたホストが表示されます。検出されたホストは MAC アドレスに基づいてホスト名を自動的に定義します。たとえば、Satellite は、MAC アドレスが ab:cd:ef:12:34:56 の検出されたホストに、macabcdef123456 というホスト名を設定します。このホスト名は、ホストのプロビジョニング時に変更することができます。

6.4.4. 検出されたホストの自動コンテキスト

Satellite Server は以下のルールの順番に従って、組織とロケーションを検出されたホストに割り当てます。

  1. 検出されたホストが Satellite で定義されたサブネットを使用する場合には、このホストは、サブネットに関連付けられた最初の組織およびロケーションを使用します。
  2. discovery_organization または discovery_location ファクト値が設定されている場合には、検出ホストはこれらのファクト値を組織およびロケーションとして使用します。このファクト値を設定するには、管理 > 設定 > 検出済み に移動して、これらのファクトを デフォルトの組織デフォルトのロケーション フィールドに追加します。検出ホストのサブネットが、ファクトで設定した組織とロケーションに所属しているようにします。所属していない場合には、Satellite はセキュリティー上の理由で設定を拒否します。
  3. 上記の条件に何も該当しない場合には、Satellite は最初の組織とロケーションを名前順に割り当てます。

組織またはロケーションは、検出されたホスト ページの一括処理メニューを使用して変更できます。検出されたホストを選択し、アクションの選択 メニューから 組織の割り当て または ロケーションの割り当て を選択します。

foreman_organization および foreman_location ファクトは、検出ホストにコンテキストを割り当てる値として、有効ではなくなりました。ただし、これらのファクトを使用して、Puppet 実行用のホストはまだ設定できます。設定方法は、管理 > 設定 > Puppet セクションに移動し、foreman_organizationforeman_location ファクトを デフォルトの組織デフォルトのロケーション フィールドに追加します。

6.5. 検出されたホストからのホストの作成

検出されたホストのプロビジョニングは、PXE のプロビジョニングと同様のプロビジョニングプロセスを踏みます。主な違いは、ホストの MAC アドレスを手動で入力する代わりに、検出されたホストの一覧からプロビジョニングするホストを選択できる点です。

手順

検出されたホストからホストを作成するには、以下の手順を行います。

  1. Satellite Web UI で ホスト > 検出されたホスト に移動します。使用するホストを選択して、リストの右側にある プロビジョニング をクリックします。
  2. 以下の 2 つのオプションから 1 つ選択します。

    • ホストグループからホストをプロビジョニングするには、ホストグループ、組織、場所を選択してから、ホストの作成 をクリックします。
    • さらにカスタマイズしてホストをプロビジョニングするには、ホストのカスタマイズ をクリックして、新規ホストに指定する追加情報を入力します。
  3. フィールドに値が投入されていることを確認します。特に以下に注意してください。

    • ホスト タブの 名前DNS 名 になります。
    • Satellite Server は新規ホストの IP アドレスを自動的に割り当てます。
    • Satellite Server は Discovery の結果より MAC アドレスを自動的に設定します。
  4. Satellite Server が、ホストの最初のインターフェースに Managed (管理)Primary、および Provision オプションを自動選択していることを確認します。選択されていない場合は、選択してください。
  5. オペレーティングシステム タブをクリックして、すべてのフィールドに値が含まれていることを確認します。オペレーティングシステムの各要素を確認してください。
  6. プロビジョニングテンプレート解決 をクリックし、新規ホストから使用する適切なプロビジョニングテンプレートを特定できることを確認します。

    プロビジョニングテンプレートの関連付けについての詳細は、「プロビジョニングテンプレートの作成」を参照してください。

  7. 送信 をクリックしてホストの詳細を保存します。

ホストのプロビジョニングが完了したら、検出されたホストはコンテンツホストになります。このホストを表示するには、ホスト > コンテンツホスト に移動します。

CLI をご利用の場合

  1. プロビジョニング用の検出されたホストを特定します。

    # hammer discovery list
  2. ホストを選択し、ホストグループを使用してプロビジョニングします。新しいホスト名は、--new-name オプションを使用して設定します。

    # hammer discovery provision --name "host_name" \
    --new-name "new_host_name" --organization "My_Organization" \
    --location "My_Location" --hostgroup "My_Host_Group" --build true \
    --enabled true --managed true

    これにより、検出されたホストの一覧からホストが削除され、プロビジョニング設定を使用してホストのエントリーが作成されます。Discovery イメージはホストを自動的にリセットし、ホストが PXE で起動できるようにします。ホストは Satellite Server の統合 Capsule で DHCP サービスを検出し、キックスタートツリーからオペレーティングシステムのインストールを開始します。インストールが完了すると、ホストはアクティべーションキーを使用して Satellite Server にも登録し、Red Hat Satellite Tools リポジトリーから必要な設定および管理ツールをインストールします。

6.6. Discovery ルールの作成

検出されたホストのプロビジョニングプロセスの自動化方法として、Red Hat Satellite 6 は Discovery ルールを作成する機能を提供します。これらのルールは、検出されたホストが、割り当てられたホストグループをベースに自らを自動的にプロビジョニングする方法を定義します。たとえば、CPU 数の多いホストをハイパーバイザーとして自動的にプロビジョニングすることができます。同様に、ハードディスクが大容量のホストは、ストレージサーバーとしてプロビジョニングすることもできます。

NIC の考慮事項

現在、自動プロビジョニングでは NIC の設定はできません。すべてのシステムは、Discovery 時に検出された NIC 設定でプロビジョニングされていますが、Anaconda キックスタート、スクリプトレット、または設定管理を使用して、NIC を後で設定することができます。

手順

ルールを作成するには、以下の手順を行います。

  1. Satellite Web UI で 設定 > Discovery ルール に移動します。ルールの作成 をクリックし、以下の詳細を入力します。
  2. 名前 フィールドには、ルールの名前を入力します。
  3. 検索 には、 ホストをプロビジョニングするかどうかを決定するためのルールを入力します。このフィールドには、入力する値についての推奨案が提供され、複数のルールに演算子を使用できます。例: cpu_count > 8
  4. ホストグループ リストから、このホストのテンプレートとして使用するホストグループを選択します。
  5. ホスト名 フィールドには、複数ホストのホスト名を決定するためのパターンを入力します。これはプロビジョニングテンプレートと同じ ERB 構文を使用します。ホスト名には、ホスト固有の値に @host 属性を使用したり、乱数に rand 関数を使用したりできます。

    • myhost-<%= rand(99999) %>
    • abc-<%= @host.facts['bios_vendor'] + '-' + rand(99999).to_s %>
    • xyz-<%= @host.hostgroup.name %>
    • srv-<%= @host.discovery_rule.name %>
    • server-<%= @host.ip.gsub('.','-') + '-' + @host.hostgroup.subnet.name %>

      rand() 関数は、文字列と連結できない整数を返すため、to_s 関数を使用して整数を文字列に変更します。ホスト名のパターンを作成する時に、作成されるホスト名が一意の名前であることを確認してください。ホスト名は、数字で始めることや、アンダースコアあるいはドットを含めることができません。適切な方法は、Facter が提供する固有の情報 (MAC アドレス、BIOS、またはシリアル ID など) を使用することです。

  6. ホストの制限 フィールドには、ルールを使ってプロビジョニングできるホストの最大数を入力します。無制限に設定するには 0 を使用します。
  7. 優先度 フィールドには、ルール間の優先度を設定する数値を入力します。値が低いルールほど優先度が高くなります。
  8. 有効化 リストから、ルールを有効化するかどうかを選択します。
  9. ルールに異なるプロビジョニングコンテキストを設定するには、組織 および ロケーション タブをクリックして、使用するコンテキストを選択します。
  10. 送信 をクリックしてルールを保存します。
  11. ホスト > 検出されたホスト に移動して、以下の 2 つのオプションから 1 つ選択します。

    • 右側の 検出されたホスト リストから、自動プロビジョニング を選択して、単一のホストを自動的にプロビジョニングします。
    • ウィンドウの右上の すべてを自動プロビジョニング をクリックして、全ホストを自動的にプロビジョニングします。

CLI をご利用の場合

hammer discovery_rule create コマンドを使用してルールを作成します。

# hammer discovery_rule create --name "Hypervisor" \
--search "cpu_count  > 8" --hostgroup "My_Host_Group" \
--hostname "hypervisor-<%= rand(99999) %>" \
--hosts-limit 5 --priority 5 --enabled true

hammer discovery auto-provision コマンドを使用してホストを自動的にプロビジョニングします。

# hammer discovery auto-provision --name "macabcdef123456"

6.7. PXE を使用しないプロビジョニングによるホストの作成

一部のハードウェアには PXE ブートインターフェースがありません。Red Hat Satellite 6 は、DHCP や TFTP など、PXE を使用しない Discovery サービスを提供します。Satellite では、PXE ブートなしでホストをプロビジョニングできます。これは、PXE を使用しないプロビジョニングとしても知られ、ホストが使用できるブート ISO が生成されます。この ISO を使用して、ホストは Satellite Server に接続してインストールメディアを起動し、オペレーティングシステムをインストールできます。

ブート ISO のタイプ

ブート ISO には 4 つのタイプがあります。

ホストイメージ - 特定ホストのブート ISO。このイメージには、Satellite Server でインストールメディアにアクセスするために必要なブートファイルのみが含まれます。ユーザーが Satellite のサブネットデータを定義し、静的ネットワークでイメージが作成されます。

完全ホストイメージ: 特定ホストのカーネルおよび初期 RAM ディスクイメージを含むブート ISO。このイメージは、ホストが正しくチェーンロードできない場合に役立ちます。プロビジョニングのテンプレートは、現在も Satellite Server からダウンロードされます。

汎用イメージ: 特定ホストに関連付けられていないブート ISO。ISO はホストの MAC アドレスを Satellite Server に送信します。ここでは、ホストのエントリーに対してマッチングが行われます。イメージは、IP アドレスの詳細を保存しません。また、ブートストラップするためにネットワークの DHCP サーバーへのアクセスを必要とします。このイメージは、Satellite Server の /bootdisk/disks/generic URL からも利用できます。例: https://satellite.example.com/bootdisk/disks/generic

サブネットイメージ: 汎用イメージと類似するが、Capsule Server のアドレスで設定されるブート ISO。このイメージは、同じサブネットのプロビジョニングした NIC を伴うすべてのホストに対して汎用性があります。

手順

PXE なしのプロビジョニングでホストを作成するには、以下の手順を行います。

  1. Satellite Web UI で、ホスト > ホストの作成 に移動します。
  2. 名前 フィールドには、プロビジョニングされたシステムのホスト名に設定する名前を入力します。
  3. 組織 および ロケーション タブをクリックし、要件に合うようにコンテキストを変更します。
  4. ホストグループ リストから、フォームの生成に使用するホストグループを選択します。
  5. インターフェース タブをクリックして、ホストのインターフェースで、編集 をクリックします。
  6. フィールドに値が投入されていることを確認します。特に以下に注意してください。

    • ホスト タブの 名前DNS 名 になります。
    • Satellite Server は新規ホストの IP アドレスを自動的に割り当てます。
  7. MAC アドレス フィールドには、ホストの MAC アドレスを入力します。
  8. Satellite Server が、ホストの最初のインターフェースに Managed (管理)Primary、および Provision オプションを自動選択していることを確認します。選択されていない場合は、選択してください。
  9. オペレーティングシステム タブをクリックして、すべてのフィールドに値が含まれていることを確認します。オペレーティングシステムの各要素を確認してください。
  10. プロビジョニングテンプレート解決 をクリックし、新規ホストから使用する適切なプロビジョニングテンプレートを特定できることを確認します。

    プロビジョニングテンプレートの関連付けについての詳細は、「プロビジョニングテンプレートの作成」を参照してください。

  11. パラメーター タブをクリックして、存在するパラメーターでアクティベーションキーが提供されていることを確認します。提供されていない場合には、アクティベーションキーを追加します。
  12. 送信 をクリックしてホストの詳細を保存します。

これで、ホストのエントリーが作成され、ホストの詳細ページが表示されます。

ウィンドウの右上にあるオプションは、ブートディスク メニューです。このメニューから、ホストイメージ完全ホストイメージ汎用イメージ および サブネットイメージ のイメージの 1 つをダウンロードできます。

注記

完全ホストイメージ は SYSLINUX をベースとし、ほとんどのハードウェアと機能します。ホストイメージ汎用イメージ、または サブネットイメージ を使用する場合は、http://ipxe.org/appnote/hardware_drivers のページで、PXE ベースのブートディスクと機能することが想定されているハードウェアドライブの一覧を参照してください。

CLI をご利用の場合

hammer host create コマンドでホストを作成します。

# hammer host create --name "My_Bare_Metal" --organization "My_Organization" \
--location "My_Location" --hostgroup "My_Host_Group" --mac "aa:aa:aa:aa:aa:aa" \
--build true --enabled true --managed true

hammer host interface update コマンドを使用し、お使いのネットワークインターフェースのオプションが設定されていることを確認します。

# hammer host interface update --host "test3" --managed true \
--primary true --provision true

hammer bootdisk host コマンドで Satellite Server からブートディスクをダウンロードします。

  • ホストイメージ 向け。

    # hammer bootdisk host --host test3.example.com
  • 完全ホストイメージ 向け。

    # hammer bootdisk host --host test3.example.com --full true
  • 汎用イメージ 向け。

    # hammer bootdisk generic
  • サブネットイメージ 向け。

    # hammer bootdisk subnet --subnet subnetName

これにより、使用するホストのブート ISO が作成されます。

必要に応じて、dd ユーティリティーまたは livecd-tools を使用して USB ストレージデバイスに ISO を書き込みます。

物理ホストを起動して、ISO または USB ストレージデバイスからブートする場合には、ホストは Satellite Server に接続し、キックスタートツリーからオペレーティングシステムのインストールを開始します。

インストールが完了したら、ホストはアクティベーションキーを使用して Satellite Server も登録し、必要な設定と管理ツールを Red Hat Satellite Tools リポジトリーからインストールします。

6.8. PXE を使用しない Discovery の実装

Red Hat Satellite 6 は、PXE ベースのサービス (DHCP および TFTP) を必要とせずに機能する PXE を使用しない Discovery サービスを提供します。これは、Satellite Server の Discovery イメージを使用して実行できます。

PXEless mode

Discovery サービスまたはイメージをインストールしていない場合は、「Red Hat Satellite の Discovery サービスの設定」「インストール」 セクションに従います。

Discovery サービスの ISO は /usr/share/foreman-discovery-image/ にあり、foreman-discovery-image パッケージを使用してインストールされます。

手動による使用

この ISO は起動可能なメディアとして機能します。このメディアを CD、DVD、または USB スティックのいずれかにコピーします。たとえば、/dev/sdb の USB スティックにコピーするには、以下を実行します。

# dd bs=4M \
if=/usr/share/foreman-discovery-image/foreman-discovery-image-3.4.4-5.iso \
of=/dev/sdb

Discovery ブートメディアをベアメタルホストに挿入してホストを開始し、メディアから起動します。Discovery イメージには、Manual network setup または Discovery with DHCP のいずれかのオプションが表示されます。

  • Manual network setup を選択する場合には、Discovery イメージはネットワークオプションのセットを要求します。これには、Satellite Server に接続されるプライマリーネットワークインターフェースが含まれます。この Discovery イメージは、IPv4 アドレスIPv4 ゲートウェイ および IPv4 DNS サーバーなどのネットワークインターフェースの設定オプションも要求します。

    これらの詳細を入力した後に、次へ を選択します。

  • Discovery with DHCP を選択する場合には、Discovery イメージは Satellite Server に接続されるプライマリーネットワークインターフェースのみを要求します。このサービスは、Capsule Server が提供するサーバーなどの DHCP サーバーを使用してネットワークインターフェースを自動的に設定しようとします。

プライマリーインターフェースの設定後に、Discovery イメージは、Discovery サービスを提供する Satellite Server または Capsule Server の URL である サーバー URL を要求します。たとえば、Satellite Server で統合 Capsule を使用するには、以下の URL を使用します。

https://satellite.example.com:9090

Connection typeProxy に設定し、次へ を選択します。

Discovery イメージは、Facter ツールが Satellite Server に送り戻す Custom facts (カスタムファクト) を入力するための一連のフィールドも提供します。これらは 名前- の形式で入力します。必要なカスタムファクトを指定し、確認 を選択して継続します。

Satellite は Satellite Server の Discovery サービスとの通信が正常であることを報告します。ホスト > 検出されたホスト に移動して、新たに検出されたホストを表示します。

検出されたホストに関する詳細情報は、「検出されたホストからのホストの作成」を参照してください。

無人での使用およびカスタマイズ

起動後のイメージの設定プロセスを自動化するカスタマイズされた Discovery ISO を作成することができます。Discovery イメージはオペレーティングシステムの Linux カーネルを使用します。これは、イメージのオペレーティングシステムを設定するためにカーネルパラメーターを渡すことを意味します。これらのカーネルパラメーターには以下が含まれます。

proxy.url
Discovery サービスを提供する Capsule Server の URL。
proxy.type
プロキシーのタイプ。通常、これは Capsule Server に接続するために proxy に設定されます。このパラメーターはレガシーの Foreman オプションもサポートします。この場合、Capsule Server ではなく Satellite Server との通信が直接行われます。
fdi.pxmac
プライマリーインターフェースの MAC アドレス (AA:BB:CC:DD:EE:FF 形式)。これは Capsule Server との通信に使用するインターフェースです。自動化モードでは、リンクを含む最初の NIC (ネットワーク ID をアルファベット順に使用) が使用されます。準自動化モードでは、画面が表示され、正しいインターフェースを選択するよう求められます。
fdi.pxip, fdi.pxgw, fdi.pxdns
プライマリーネットワークインターフェースの IP アドレス (fdi.pxip)、ゲートウェイ (fdi.pxgw)、および DNS (fdi.pxdns) を手動で設定します。これらのパラメーターを省略する場合、イメージは DHCP を使用してネットワークインターフェースを設定します。
fdi.pxfactname1, fdi.pxfactname2 …​ fdi.pxfactnameN
カスタムファクト名を指定できます。
fdi.pxfactvalue1, fdi.pxfactvalue2 …​ fdi.pxfactvalueN
各カスタムファクトの値。それぞれの値はファクト名に対応しています。たとえば、fdi.pxfactvalue1 は、fdi.pxfactname1 の名前が付けられたファクトの値を設定します。
fdi.pxauto
自動化モードまたは準自動化モードを設定します。0 に設定した場合には、イメージは準自動化モードを使用します。このモードでは、一連のダイアログオプションで選択内容を確認できます。1 に設定した場合、イメージは自動化モードを使用し、確認なしに次に進みます。

Satellite Server は、foreman-discovery-image パッケージでツール (discovery-remaster) も提供します。このツールは、カーネルパラメーターを含めるようにイメージのマスターを新たに作成します。イメージのマスターを新たに作成するには、discovery-remaster ツールを実行します。以下は例になります。

# discovery-remaster ~/iso/foreman-discovery-image-3.4.4-5.iso \
"fdi.pxip=192.168.140.20/24 fdi.pxgw=192.168.140.1 \
fdi.pxdns=192.168.140.2 proxy.url=https://satellite.example.com:9090 \
proxy.type=proxy fdi.pxfactname1=customhostname \
fdi.pxfactvalue1=myhost fdi.pxmac=52:54:00:be:8e:8c fdi.pxauto=1"

ツールは、元の Discovery イメージと同じディレクトリーに新規の ISO ファイルを作成します。このシナリオでは、/usr/share/foreman-discovery-image/ ディレクトリーの下に保存されます。

このメディアを CD、DVD、または USB スティックのいずれかにコピーします。たとえば、/dev/sdb の USB スティックにコピーするには、以下を実行します。

# dd bs=4M \
if=/usr/share/foreman-discovery-image/foreman-discovery-image-3.4.4-5.iso \
of=/dev/sdb

Discovery ブートメディアをベアメタルホストに挿入してホストを開始し、メディアから起動します。

検出されたホストに関する詳細情報は、「検出されたホストからのホストの作成」を参照してください。

最終メモ

ホストは以下のプロビジョニングテンプレートに対して解決される必要があります。

  • kexec テンプレート: Discovery Red Hat kexec
  • provision テンプレート: Satellite Kickstart Default

プロビジョニングテンプレートの関連付けについての詳細は、「プロビジョニングテンプレートの作成」を参照してください。

6.9. プロビジョニング中の SSH キーのデプロイ

この手順を使用して、ユーザーに追加した SSH キーは、プロビジョニング中にデプロイします。ユーザーに SSH キーを追加する方法については、『RED HAT SATELLITE の管理』の「ユーザーへの SSH キーの追加」を参照してください。

手順

プロビジョニング時に SSH キーをデプロイするには、以下の手順を実行します。

  1. Satellite Web UI で、ホスト > プロビジョニングテンプレート に移動します。
  2. プロビジョニングテンプレートを作成するか、クローンを作成して既存のテンプレートを編集します。詳細は 「プロビジョニングテンプレートの作成」 を参照してください。
  3. テンプレートで テンプレート タブをクリックします。
  4. テンプレートエディター のフィールドで、create_users スニペットを %post セクションに追加します。

    <%= snippet('create_users') %>
  5. デフォルト チェックボックスを選択します。
  6. 関連付け タブをクリックします。
  7. 適用可能なオペレーティングシステム リストから適切なオペレーティングシステムを選択します。
  8. 送信 をクリックしてプロビジョニングテンプレートを保存します。
  9. ホストをプロビジョニングテンプレートに関連付けて作成するか、修正したテンプレートが関連付けられた OS を使用してホストを再ビルドします。詳細は、『ホストの管理ガイド』の「Red Hat Satellite でのホストの作成」を参照してください。

    Owned by ユーザーの SSH キーは、プロビジョニングプロセス中に create_users スニペットが実行されると、自動的に追加されます。Owned by は、個人のユーザーやユーザーグループに設定することができます。Owned by をユーザーグループに設定すると、そのユーザー内の全ユーザーの SSH キーが自動的に追加されます。

6.10. Satellite Discovery イメージの構築

この手順を使用して、Satellite Discovery イメージを構築するか、設定ファイルを変更した場合にはイメージを再構築します。

実稼働環境の Satellite や Capsule でこの手順は使用しないでください。

前提条件

livecd-tools パッケージをインストールしておく。

# yum install livecd-tools

Anaconda インストーラーは、HTTPS では公開できないので、キックスタートリポジトリーの場合は HTTP での公開を有効にする必要がある。

  1. Satellite Web UI で、コンテンツ > 製品 に移動して、製品 ウィンドウで、リポジトリー タブを選択します。
  2. キックスタートリポジトリーと、Publish via HTTP オプションを選択して、編集 アイコンをクリックし、チェックボックスを選択して 保存 をクリックします。
  3. Satellite リポジトリーにも先ほどの手順を繰り返します。

HTTP 経由で公開すると、どの Red Hat リポジトリーにも適用されないことに注意してください。

手順

Satellite Discovery イメージを構築するには、以下の手順を実行します。

  1. /usr/share/foreman-discovery-image/foreman-discovery-image.ks ファイルを開いて編集します。

    # vim /usr/share/foreman-discovery-image/foreman-discovery-image.ks
  2. repo --name=rhel --baseurl=http://download/00000 は、独自の RHEL のレポに、Satellite はご利用のリポジトリー URL に置き換えます。URL を特定するには、コンテンツ > 製品 に移動して、リポジトリー タブをクリックし、両リポジトリーの URL をファイルにコピーします。

    repo --name=rhel --baseurl=http://download/released/RHEL-7/7.4/Server/x86_64/os/
    repo --name=sat --baseurl=http://download2/nightly/Satellite/6.6/candidate/latest-Satellite-6.6-RHEL-7/compose/Satellite/x86_64/os/
  3. livecd-creator ツールを実行します。

    # livecd-creator --title="Discovery-Image" \
    --compression-type=xz \
    --cache=var/cache/build-fdi \
    --config /usr/share/foreman-discovery-image/foreman-discovery-image.ks \
    --fslabel fdi \
    --tmpdir /var/tmp

    --fslabel オプションで fdi を変更した場合には、イメージの読み込み時に kernel コマンドラインdの root ラベルを変更する必要があります。fdi または別の名前を、この手順の一部で作成した .iso ファイルに追加します。PXE Discovery ツールは、.iso から PXE に変換時に、この名前を使用します。

    このプロセスには 3 GB 近くの容量が必要で、システムの swap 領域が少ない場合に /tmp で問題が発生する可能性があるので、/var/tmp を使用します。

  4. fdi.iso ファイルが作成されていることを確認します。

    # ls *.iso -h

.iso ファイルを作成した場合には、.iso ファイルをネットワークでもローカルでも起動できます。以下の手順のいずれかを実行してください。

ネットワーク経由で iso ファイルを起動する場合:

  1. ネットワーク経由で初期の ramdisk と kernel ファイルを .iso ファイルから抽出するには、以下のコマンドを入力します。

    # discovery-iso-to-pxe fdi.iso
  2. ブートファイルを保存するディレクトリーを作成します。

    # mkdir /var/lib/tftpboot/boot/myimage
  3. initrd0.img および vmlinuz0 ファイルを新しいディレクトリーにコピーします。
  4. /var/lib/tftpboot/pxelinux.cfg ファイルで KERNELAPPEND エントリーを編集して、独自の初期 ramdisk および kernel ファイルに関する情報を追加します。

ローカルで iso ファイルを起動する場合:

ローカルで起動するハイブリッドの .iso ファイルを作成する場合には、以下の手順を行います。

  1. .iso ファイルを .iso のハイブリッドファイルに変換して PXE プロビジョニングを行うには、以下のコマンドを入力します。

    # isohybrid --partok fdi.iso

    grub2 パッケージをインストールする場合には、以下のコマンドを使用して、grub2 ブートローダーにインストールすることも可能です。

    # isohybrid --partok --uefi fdi.iso
  2. md5 チェックサムを .iso ファイルに追加して、Satellite でインストールメディアのバリデーションテストに合格するには、以下のコマンドを入力します。

    # implantisomd5 fdi.iso