11.3. 検出されたホストのプロビジョニング
Satellite Server と Capsule Server の両方で Discovery プラグインを適切に設定した後に、ベアメタルホストを自動的に検出できます。これを実行するには、「PXE 起動の設定」 で説明されている PXE 設定テンプレートで設定したプロビジョニングネットワークでマシンを起動します。マシンは Satellite Server に自動的に登録され、Satellite Web UI の 一覧に表示されます。
検出されたホストは手動でプロビジョニングすることも、自動プロビジョニングを設定することもできます。
11.3.1. ホストの手動プロビジョニング
以下の手順では、Satellite Web UI で検出されたホストを手動でプロビジョニングする方法を説明します。
手順11.2 検出されたホストを手動でプロビジョニングする方法:
に移動します。 - プロビジョニングするホストを選択し、プロビジョニング をクリックします。
- ホストの 編集 ページで、必要な詳細情報を入力し、 クリックします。
ホスト設定の保存時に、Satellite は TFTP サーバーのホストの PXELinux ファイルを変更して、検出されたホストを再起動します。その後、選択したオペレーティングシステムのインストーラーを起動し、最後にインストールしたオペレーティングシステムを起動します。
既存の検出されたホストを再プロビジョニングする場合には、マシンからオペレーティングシステムを削除して、再起動します。ホストが 検出されたホスト ページに再び表示さ れます。
11.3.2. 検出されたホストの使用停止
Red Hat Satellite で特定のホストを管理する必要がなくなった場合は、ホストの使用を停止にして、検出されないようにする必要があります。
手順11.3 検出されたホストを使用停止にする方法:
- ホストをシャットダウンします。
に移動します。 - Name 列で使用停止するホストを見つけ、該当する ドロップダウンメニューから を選択します。
11.3.3. ホストの自動プロビジョニング
Satellite 6.2 では、プロビジョニングされたホストに、ホストグループを割り当ててプロビジョニングを自動的にトリガーするプロビジョニングルールを定義できます。
手順11.4 プロビジョニングルールを作成する方法:
に移動します。 - Name は、ルールの一覧に表示されるルールの名前です。この名前には、スペースまたは英数字以外の文字を含めることはできません。
- 検索 は、検出されたホストと特定ルールを照合するために使用される検索ステートメントです。スコープ指定の検索構文を使用して、定義できます。スコープ指定の検索の使用例については、「スコープ指定の検索構文」 を参照してください。
- ホストグループ は、プロビジョニングプロセスを開始する前に、一致するホストに割り当てるホストグループです。選択したホストグループに必要なパラメーターがすべて設定されていることを確認します。必要なパラメーターにはアスタリスク(*)が付いています。
- ホスト 名 は、一致するホストに人間が判読できるホスト名を割り当てるパターンを定義します。空白のままにすると、ホスト名はデフォルトで "macMACADDRESS" の形式で割り当てられます。この例では、プロビジョニングテンプレートに使用されるものと同じ構文が使用されます。詳細および例は、「ホスト名のパターン」 を参照してください。
- hosts 制限 は、ルールごとにプロビジョニングされるホストの最大数です。制限に達すると、ルールは 1 つ以上のホストが削除されるまで有効になりません。一般的なユースケースは、ホスト名や、エントリーごとにホストグループなどのプロビジョニングパラメーターを変更する必要がある場合の、サーバーのラックまたは行ごとにルールです。この値をゼロ(0)に設定して、制限なしを指定できます。
- priority は、ルールの実行順序を指定します。値はゼロ以上である必要があります。値が小さいほど優先度が高くなります。2 つのルールの優先度が同じ場合は、最初に検出されたルールが適用されます。
- Enabled は、ルールを一時的に有効または無効にするオプションを提供します。
デフォルトでは、Satellite はホストの自動検出を有効にしません。以下の手順では、
discovery_auto
変数を有効にして、指定されたルールに基づいて自動プロビジョニングを行う方法を説明します。
手順11.5 自動プロビジョニングを有効にする方法:
- Satellite Web UI で、
に移動します。 - Name 列で を見つけ、その値を
true
に設定します。
ルールを定義した後に、Red Hat はホストの
し、ルールを適用することを推奨します。これにより、グローバルオプションを有効にせずに自動プロビジョニングがトリガーされます。
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「数値比較を可能にするファクト」 で説明されています。
検索パラメーター | 説明 | 使用例 |
---|---|---|
cpu_count | CPU の数 | 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
$ hammer -h | grep discovery
discovery Manipulate discovered hosts.
discovery_rule Manipulate discovered rules.
hammer discovery -h コマンドを使用して、利用可能なオプションを表示します。たとえば、以下のコマンドを使用して検出されたホストを再起動できます(ID が 130 であることを前提とします)。
hammer discovery reboot -id 130
$ hammer discovery reboot -id 130
Host reboot started