4.5. ホストのスケジュール
Compute のスケジューリングサービスは、インスタンスの配置先となるホストまたはホストアグリゲートを決定します。管理者は、設定を使用して、スケジューラーによるインスタンスの配置先の決定方法を定義することができます。たとえば、特定のグループや適切な量の RAM があるホストにスケジューリングを限定することが可能です。
以下のコンポーネントを設定することができます。
- フィルター: インスタンスの配置先候補となるホストの初期セットを決定します (「スケジューリングフィルターの設定」を参照)。
- 重み: フィルタリングの完了時に選出されたホストのセットは重み付けのシステムを使用して優先順位が決定されます。最も高い重みが最優先されます (「スケジューリングの重みの設定」を参照)。
-
スケジューラーサービス: スケジューラーホスト上の
/var/lib/config-data/puppet-generated/<nova_container>/etc/nova/nova.conf
ファイルには数多くの設定オプションがあります。これらのオプションは、スケジューラーがタスクを実行する方法や、重み/フィルターを処理する方法を決定します。 - Placement サービス: ストレージディスクの種別や Intel CPU 拡張命令セットなど、インスタンスがホストに必要な特性を指定します( 「Placement サービスの特性の設定」を参照)。
下図では、フィルタリング後には Host 1 と Host 3 の両方が条件に適合しています。Host 1 の重みが最も高いため、スケジューリングで最優先されます。
4.5.1. スケジューリングフィルターの設定
スケジューラーが使用するフィルターを定義するには、Compute 環境ファイルの NovaSchedulerDefaultFilters
パラメーターを使用します。フィルタを追加したり削除したりすることができます。
デフォルト設定では、スケジューラーで以下のフィルターが実行されます。
- RetryFilter
- AvailabilityZoneFilter
- ComputeFilter
- ComputeCapabilitiesFilter
- ImagePropertiesFilter
- ServerGroupAntiAffinityFilter
- ServerGroupAffinityFilter
一部のフィルターは、以下の方法でインスタンスに渡されるパラメーターの情報を使用します。
-
nova boot
コマンド - インスタンスのフレーバー (「フレーバーのメタデータの更新」を参照)
- インスタンスのイメージ (「付録A イメージの設定パラメーター」を参照)
利用可能なすべてのフィルターを一覧にして以下の表に示します。
フィルター | 説明 |
---|---|
| インスタンスのイメージのメタデータが一致するホストアグリゲート内のホストのみを渡します。これは、そのインスタンスにホストアグリゲートが指定されている場合にのみ有効です。詳細は、「「イメージの作成」」を参照してください。 |
| ホストアグリゲート内のメタデータは、ホストのフレーバーのメタデータと一致する必要があります。詳細は、「「フレーバーのメタデータの更新」」を参照してください。 |
このフィルターを
| |
|
注記 テナントが他のホストにインスタンスを配置することは可能です。 |
| 利用可能な全ホストを渡します (ただし、他のフィルターは無効化しません)。 |
| インスタンスに指定されているアベイラビリティーゾーンを使用してフィルタリングします。 |
|
Compute のメタデータが正しく読み取られるようにします。「 |
| 稼働中の有効なホストのみを渡します。 |
|
指定されている単一または複数のホストとは別のホスト上でインスタンスをビルドできるようにします。 |
| インスタンスのイメージプロパティーに一致するホストのみを渡します。詳細は、「「イメージの作成」」を参照してください。 |
|
|
| インスタンスのカスタム JSON フィルターを認識/使用します。
|
このフィルターは、クエリーヒントとして
| |
| メトリックが利用できないホストを除外します。 |
| NUMA トポロジーに基づいてホストを除外します。インスタンスにトポロジーが未定義の場合には、任意のホストを使用することができます。このフィルターは、NUMA トポロジーが完全に同じインスタンスとホストをマッチングするように試みます (そのホスト上ではインスタンスのスケジューリングは試みません)。また、このフィルターは、NUMA ノードの標準的なオーバーサブスクリプションの上限を確認し、それに応じて、コンピュートホストに対して制限を指定します。 |
| 重み付け関数はホスト上の PCI デバイスの数とインスタンスに要求された PCI デバイス数に基づいて重みを計算することができます。たとえば、ホストが 3 台利用可能で、PCI デバイスが 1 つのホストが 1 台、複数の PCI デバイスがあるホストが 1 台、PCI デバイスがないホストが 1 台の場合には、Compute はインスタンスの需要に基づいてこれらのホストの優先順位付けを行う必要があります。インスタンスが PCI デバイスを 1 つ要求している場合には 1 番目のホスト、複数の PCI デバイスを要求している場合には 2 番目のホスト、PCI デバイスを要求していない場合には 3 番目のホストが優先されるべきです。 詳しくは、「PCI デバイスがアタッチされている NUMA ノードの確保」を参照してください。 |
|
スケジュールを試みて失敗したホストを除外します。 |
|
指定されている単一または複数のホストを渡します。 |
| 特定のサーバーグループのホストのみを渡します。
|
| インスタンスをまだホストしていないサーバーグループ内のホストのみを渡します。
|
|
インスタンスの cidr および
|