Red Hat Training

A Red Hat training course is available for Red Hat Satellite

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

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

無人プロビジョニング

新規ホストは MAC アドレスで特定され、Satellite Server は PXE ブートプロセスを使用してホストをプロビジョニングします。

Discovery を使用した無人プロビジョニング (Unattended Provisioning with Discovery)

新規ホストは PXE ブートを使用して Satellite Discovery サービスをロードします。このサービスはホストのハードウェア情報を特定し、ホストをプロビジョニング可能なホストとして一覧表示します。

PXE なしのプロビジョニング

新規ホストは、ブートディスクまたは Satellite Server が生成する PXE なしの検出イメージでプロビジョニングされます。

Discovery を使用した PXE なしのプロビジョニング (PXE-less Provisioning with Discovery)

新規ホストは Satellite Discovery サービスをロードする ISO ブートディスクを使用します。このサービスはホストのハードウェア情報を特定し、ホストをプロビジョニング可能なホストとして一覧表示します。

BIOS および UEFI サポート

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

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

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

UEFI で PXELinux プロビジョニングを実行するには、Intel x86_64 が搭載されている Red Hat Enterprise Linux Server 7 以降を使用する必要があります。Satellite では、UEFI を使用した PXELinux プロビジョニングは、ベアメタルシステムでのみサポートされます。仮想マシンでは UEFI がサポートされておらず、UEFI SecureBoot もサポートされません。

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

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

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

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

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

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

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

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

無人プロビジョニングは、ホストのプロビジョニングの最も単純な形態です。この方法では、ホストの詳細を 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

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

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

Satellite Server では、Discoveory サービスはデフォルトで有効になっています。

PXE mode

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

# yum 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 サービスのプロキシーとして機能するように設定します。

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

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

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

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

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

サブネット

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

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

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

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

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

LABEL discovery
  MENU LABEL Foreman Discovery Image
  KERNEL boot/fdi-image-rhel_7-vmlinuz
  APPEND initrd=boot/fdi-image-rhel_7-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 を解決します。

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

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

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

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

proxy.url の引数は、使用する別のプロビジョニング Capsule の IP アドレスまたは FQDN に変更してください。ただし、ポート番号 9090 を追加するのを忘れないでください。以下に例を示します。

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

Discovery サービスを空のホストに対して起動するデフォルトサービスに変更することができます。PXELinux global default テンプレートの ONTIMEOUT 値を編集します。

ONTIMEOUT Discovery

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

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

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

fdi.vlan.primary=example_VLAN_ID

Testing (テスト)

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 というホスト名を設定します。このホスト名は、ホストのプロビジョニング時に変更することができます。

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

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

  1. Discovery 組織 または Discovery ロケーション の値を設定する場合には、管理 > 設定 > Discovered に移動します。
  2. ホストの foreman_organization または foreman_location ファクトを設定する場合には、管理 > 設定 > Puppet セクションのファクト名を、デフォルトの組織 および デフォルトのロケーション のファクト設定に指定します。
  3. 検出されたホストが Satellite で定義されたサブネットを使用する場合には、このホストは、サブネットに関連付けられた最初の組織およびロケーションを使用します。
  4. 上記の条件に何も該当しない場合には、Satellite は最初の組織とロケーションを名前順に割り当てます。

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

5.4. 検出されたホストからの新規ホストの作成

検出されたホストのプロビジョニングは、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 リポジトリーから必要な設定および管理ツールをインストールします。

5.5. 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"

5.6. 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 も登録し、必要な設定と管理ツールを the Red Hat Satellite Tools リポジトリーからインストールします。

5.7. 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-discover-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

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

5.8. プロビジョニング中の 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 を使用してホストを再ビルドします。詳細は、『ホストの管理ガイド』「ホストの作成」を参照してください。

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

5.9. Satellite Discovery イメージの構築

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

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

前提条件

livecd-tools パッケージをインストールします。

# yum install livecd-tools

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

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

手順

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.4/candidate/latest-Satellite-6.4-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