Red Hat Training

A Red Hat training course is available for Red Hat Satellite

11.3. 検出されたホストのプロビジョニング

Satellite Server および Capsule Server の両方で Discovery プラグインを正常に設定した後に、ベアメタルホストを自動的に検出することができます。これを実行するには、「PXE 起動の設定」 で説明されているように PXE 設定テンプレートで設定されたプロビジョニングネットワークのマシンを起動します。マシンは Satellite Server に自動的に登録され、Satellite Web UI の ホスト検出されたホスト の一覧に表示されます。
検出されたホストは手動でプロビジョニングすることも、自動プロビジョニングを設定することもできます。

11.3.1. ホストの手動プロビジョニング

以下の手順では、Satellite Web UI で検出されたホストを手動でプロビジョニングする方法を説明します。

手順11.2 検出されたホストを手動でプロビジョニングするには、以下を実行します。

  1. ホスト検出されたホスト に移動します。
  2. プロビジョニングするホストを選択し、プロビジョニング をクリックします。
  3. ホストの 編集 ページで、必要な詳細を入力し、保存 をクリックします。
ホストの設定の保存時に、Satellite は TFTP サーバーのホストの PXELinux ファイルを変更し、検出されたホストを再起動します。次に選択したオペレーティングシステムのインストーラーを起動し、最終的にはインストールしたオペレーティングシステムを起動します。
既存ホストのプロビジョニングを再度実行する場合は、マシンからオペレーティングシステムを削除してこれを再起動します。その後ホストは 検出されたホスト ページに再度表示されます。

11.3.2. 検出されたホストの使用停止

Red Hat Satellite で特定のホストを管理する必要がなくなった場合は、ホストを使用停止にして検出されないようにする必要があります。

手順11.3 検出されたホストを使用停止にするには、以下を実行します。

  1. ホストをシャットダウンします。
  2. ホスト検出されたホスト に移動します。
  3. 名前 列で、使用停止にするホストを検出し、対応する 編集 ドロップダウンメニューから 削除 を選択します。

11.3.3. ホストの自動プロビジョニング

Satellite 6.2 では、ホストグループをプロビジョニングされたホストに割り当て、プロビジョニングを自動的にトリガーするプロビジョニングルールを定義することができます。

手順11.4 プロビジョニングルールを作成するには、以下を実行します。

  1. 設定Discovery rules に移動します。
  2. 新規ルール をクリックします。プロビジョニングルールの以下のパラメーターを指定します。
    • 名前 はルールの一覧に表示されるルールの名前です。この名前には、スペースや非英数字を含めることができません。
    • 検索 は、特定のルールに検出されたホストを一致させる検索ステートメントです。スコープ指定構文を使用してこれを定義することができます。スコープ指定検索の例については、「スコープ指定の検索構文」 を参照してください。
    • ホストグループ は、プロビジョニングプロセスを開始する前に一致するホストに割り当てられるホストグループです。選択したホストグループには必要なパラメーターがすべて設定されていることを確認します。必要なパラメーターにはアスタリスク (*) のマークが付けられます。
    • ホスト名 は、人間の判読できるホスト名を一致するホストの割り当てるパターンを定義します。空白のままにされている場合は、ホスト名はデフォルトで「macMACADDRESS」形式で割り当てられます。プロビジョニングテンプレートに使用される構文と同じ構文がこの場合にも使用されます。詳細および例については、「ホスト名のパターン」 を参照してください。
    • ホストの制限 はルールに基づくプロビジョニングされるホストの最大数です。制限に達すると、ルールは 1 つ以上のホストが削除されるまで有効になりません。通常のユースケースとして、ホスト名やホストグループなどのプロビジョニングパラメーターをエントリーごとに変更する必要ある場合に、サーバーラックまたは行ごとにルールを使用します。この値をゼロ (0) に設定すると制限なしに設定することができます。
    • 優先度 は、ルールの実行順序を指定します。値はゼロ以上である必要があります。値が低いほど優先度が高くなります。2 つのルールの優先度が同じ場合には、最初に検出されるルールが適用されます。
    • 有効化 は、ルールを一時的に有効または無効にするオプションを提供します。
  3. 送信 をクリックしてルールを保存します。
デフォルトで、Satellite はホストの自動検出を有効にしません。以下の手順では、discovery_auto 変数を有効にし、指定されたルールに基づいて自動プロビジョニングを行う方法について説明します。

手順11.5 自動プロビジョニングを有効にするには、以下を実行します。

  1. Satellite Web UI で、管理設定Discovered に移動します。
  2. 名前 列で discovery_auto を見つけ、その値を true に設定します。
  3. 保存 をクリックします。
ルールを定義した後に、Red Hat では、ホストに対して Auto discover ボタンを使用してホストを検出し、ルールを適用することを推奨します。これにより、グローバルオプションを有効にせずに自動プロビジョンがトリガーされます。

11.3.4. スコープ指定の検索構文

このセクションでは、選択したパラメーターに応じて検出されたホストをフィルターするスコープ指定の検索構文を使用する方法を説明します。これは自動プロビジョンのルールを作成する際に便利です (「ホストの自動プロビジョニング」 を参照してください)。
Satellite Web UI の検索フィールドは自動補完に対応するため、検索構文の作成を容易にします。たとえば、ホスト検出されたホスト ページで検索パターンをテストすることができます。以下は通常の検索クエリーの例になります。
  • facts.architecture = x86_64
  • facts.bios_vendor ~ 'Dell*'
  • facts.macaddress = "aa:bb:cc:dd:ee:ff"
  • facts.macaddress_eth0 = "aa:bb:cc:dd:ee:ff"
  • facts.ipaddress_eth1 ~ "192.168.*"
  • facts.architecture ^ (x86_64,i386)

注記

スコープ指定検索のキャレット記号 (^) は「in」(SQL と同じ用法) を意味し、正規表現に使用される「starts with」を意味しません。スコープ指定の検索演算子の詳細の一覧については、https://github.com/wvanbergen/scoped_search/blob/master/lib/scoped_search/query_language/tokenizer.rb を参照してください。
Satellite 6.2 では、すべてのファクトは文字列のため、数値比較を実行することはできません。ただし、3 つの重要なファクトが抽出され、数字に変換されます。それらについては、表11.1「数値比較を可能にするファクト」 で説明されています。

表11.1 数値比較を可能にするファクト

検索パラメーター説明使用法の例
cpu_countCPU の数cpu_count >= 8
disk_count割り当てられたディスクの数disk_count < 10
disks_sizeディスク空き容量の合計 (MiB 単位)disks_size > 1000000

11.3.5. ホスト名のパターン

このセクションでは、自動プロビジョニングのルールを作成する際に使用できるホスト名のパターンを一覧表示します (「ホストの自動プロビジョニング」 を参照してください)。
ターゲットホスト名のテンプレートパターンには、プロビジョニングテンプレート (ERB) と同じ構文が使用されます。ドメインは自動的に追加されます。@host 属性のほかに、ランダムな整数の rand() 関数を利用できます。以下は例になります。
  • application-server-<%= rand(99999) %>
  • load-balancer-<%= @host.facts['bios_vendor'] + '-' + rand(99999) %>
  • wwwsrv-<%= @host.hostgroup.name %>
  • minion-<%= @host.discovery_rule.name %>
  • db-server-<%= @host.ip.gsub('.','-') + '-' + @host.hostgroup.subnet.name %>>

重要

ホスト名のパターンを作成する際に、作成されるホスト名が固有の名前であることを確認してください。ホスト名は数字で始めることができません。Facter (MAC アドレス、BIOS、またはシリアル ID) で提供される固有情報を使用するのか、またはホスト名をランダム化することは適切な方法です。

11.3.6. コマンドラインでの Discovery プラグインの使用

hammer コマンドを使用して検出に関連する特定のタスクを実行することができます。hammer -h コマンドを実行して設定を確認します。
$ hammer -h | grep discovery
 discovery                     Manipulate discovered hosts.
 discovery_rule                Manipulate discovered rules.
hammer discovery -h コマンドを使用して利用可能なオプションを表示します。たとえば、以下のコマンドを使用して検出されるホストを再起動できます (以下は ID を 130 と想定した場合)。
$ hammer discovery reboot -id 130
Host reboot started