6.11. アフィニティーグループ

アフィニティーグループは、選択した仮想マシンが相互に、および指定されたホストとの関係で実行される場所を決定するのに役立ちます。この機能は、ライセンス要件、高可用性ワークロード、障害普及などのワークロードシナリオの管理に役立ちます。

VM アフィニティールール

アフィニティーグループの作成時は、グループに属する仮想マシンを選択します。これらの仮想マシンが相互に関連して実行できる場所 を定義するには、VM アフィニティールール を有効にします。正のルールは、単一のホスト上で仮想マシンを一緒に実行しようとし、負のアフィニティールールは、仮想マシンを別々のホスト上で別々に実行しようとします。ルールを実行できない場合に、結果は加重またはフィルターモジュールが有効になっているかどうかにより異なります。

ホストのアフィニティールール

オプションで、アフィニティーグループにホストを追加できます。グループ内のホストに対してグループ内の仮想マシンを実行できる場所 を定義するには、ホストアフィニティールール を有効にします。正のルールは、アフィニティーグループ内のホスト上で仮想マシンを実行しようとし、負のアフィニティールールは、アフィニティーグループに属していないホストで仮想マシンを実行しようとします。ルールを実行できない場合に、結果は加重またはフィルターモジュールが有効になっているかどうかにより異なります。

デフォルトの加重モジュール

デフォルトでは、両方のルールがクラスターのスケジューリングポリシーの 加重モジュール を適用します。加重モジュールを使用すると、スケジューラーはルールを実行しようとしますが、ルールを実行できない場合でも、アフィニティーグループ内の仮想マシンを実行できます。

たとえば、正のVM アフィニティールールと加重モジュールが有効になっている場合には、スケジューラーは単一のホストでアフィニティーグループのすべての仮想マシンを実行しようとします。ただし、単一のホストにこれに十分なリソースがない場合には、スケジューラーは複数のホストで仮想マシンを実行します。

このモジュールが機能するには、スケジューリングポリシーの 加重モジュール セクションに VmAffinityGroups および VmToHostsAffinityGroups キーワードを追加する必要があります。

強制オプションとフィルターモジュール

どちらのルールにも、クラスターのスケジューリングポリシーで フィルターモジュール を適用する 強制 オプションがあります。フィルターモジュールは加重モジュールを上書きします。フィルターモジュールを有効にすると、スケジューラーはルールに対応する 必要があります。ルールを満たすことができない場合には、フィルターモジュールにより、アフィニティーグループ内の仮想マシンを実行できなくなります。

たとえば、正の Host Affinity Rule および Enforcing が有効にされている場合 (フィルターモジュールが要求)、スケジューラーはアフィニティーグループの仮想マシンがアフィニティーグループの一部であるホストで実行されることを 要求します。ただし、それらのホストがダウンしている場合、スケジューラーは仮想マシンをまったく実行しません。

このモジュールが機能するには、スケジューリングポリシーの フィルターモジュール セクションに VmAffinityGroups および VmToHostsAffinityGroups キーワードを追加する必要があります。

これらのルールとオプションを相互に使用する方法については、「アフィニティーグループの例」 を参照してください。。

警告
  • アフィニティーラベル は、正の Host Affinity RuleEnforcing が有効にされているアフィニティーグループと同じように機能します。
  • アフィニティーラベルが機能するには、スケジューリングポリシーの filter module セクションに Label が含まれている必要があります。
  • アフィニティーグループとアフィニティーラベルが相互に競合する場合、影響を受ける仮想マシンは実行されません。競合の防止、トラブルシューティング、および解決に関するサポートは、「アフィニティーグループのトラブルシューティング」 を参照してください。。
重要

各ルールは、クラスターのスケジューリングポリシーの重みおよびフィルターモジュールの影響を受けます。

  • VM Affinity Rule ルールが機能するには、スケジューリングポリシーの 加重モジュール および フィルターモジュール セクションに VmAffinityGroups キーワードがなければなりません。
  • Host Affinity Rule が機能するには、スケジューリングポリシーの 加重モジュール および フィルターモジュール セクションに VmToHostsAffinityGroups キーワードがなければなりません。

詳細は、Administration GuideScheduling Policies を参照してください。

注記
  • アフィニティーグループはクラスターレベルの仮想マシンに適用されます。仮想マシンをあるクラスターから別のクラスターに移動すると、その仮想マシンは元のクラスターのアフィニティーグループから削除されます。
  • アフィニティーグループルールを有効にするのに、仮想マシンを再起動する必要はありません。

6.11.1. アフィニティーグループの作成

管理ポータルで新しいアフィニティーグループを作成できます。

アフィニティーグループの作成

  1. ComputeVirtual Machines をクリックし、仮想マシンを選択します。
  2. 仮想マシンの名前をクリックして、詳細ビューに移動します。
  3. アフィニティーグループ タブをクリックします。
  4. New をクリックします。
  5. アフィニティーグループの 名前説明 を入力します。
  6. VM Affinity Rule ドロップダウンから、Positiveを選択して正のアフィニティーを適用するか、Negative を選択して負のアフィニティーを適用します。アフィニティールールを無効にするには、Disable を選択します。
  7. Enforcing チェックボックスを選択してハード強制を適用するか、このチェックボックスの選択を解除してソフト強制を適用します。
  8. ドロップダウンリストを使用して、アフィニティーグループに追加する仮想マシンを選択します。+ ボタンと- ボタンを使用して、仮想マシンを追加または削除します。
  9. OK をクリックします。