4.4 リソース制約の設定

すべてのリソースを構成することは、ジョブのほんの一部分です。クラスタが必要なすべてのリソースを認識しても、正しく処理できるとは限りません。リソースの制約を指定して、リソースを実行可能なクラスタノード、リソースのロード順序、特定のリソースが依存している他のリソースを指定することができます。

使用可能な制約には3種類あります。

情報の取得先

場所の制約はリソースを実行できるノード、できないノード、または実行に適したノードを定義するものです。

リソースコロケーション

コロケーションの制約は、ノード上で一緒に実行可能な、または一緒に実行することが禁止されているリソースをクラスタに伝えます。

Resource Order (リソース順序)

アクションの順序を定義する、順序の制約。

制約を定義する際は、スコアも扱う必要があります。あらゆる種類のスコアはクラスタの動作方法と密接に関連しています。スコアの操作によって、リソースのマイグレーションから、速度が低下したクラスタで停止するリソースの決定まで、あらゆる作業を実行できます。スコアはリソースごとに計算され、リソースに対して負のスコアが付けられているノードは、そのリソースを実行できません。リソースのスコアを計算後、クラスタはスコアが最も高いノードを選択します。INFINITYは現在1,000,000と定義されています。この値に対する増減は次の3つの基本的なルールに従って行います。

リソース制約を定義する際、各制約のスコアも指定します。スコアはこのリソース制約に割り当てる値を示します。スコアの高い制約は、それよりもスコアが低い制約より先に適用されます。特定のリソースに対して異なるスコアで追加の場所の制約を作成することで、リソースのフェールオーバー先のノードの順序を指定できます。

場所の制約の追加または変更

  1. Section 4.1, Linux HA Management Clientで説明したように、Linux HA Management Clientを起動してクラスタにログインします。

  2. Linux HA Management Clientのメインウィンドウの左側のペインで、制約をクリックしてそのクラスタに設定済みの制約を表示します。

  3. 左側のペインで制約を選択し、追加をクリックします。

  4. Resource Location (リソース位置)を選択し、OKをクリックします。

  5. 制約に固有のIDを入力します。既存の制約を変更する場合、IDはすでに定義されているため、環境設定ダイアログに表示されます。

  6. 制約を設定するリソースを選択します。リストには、そのクラスタに設定されているすべてのリソースのIDが表示されます。

  7. 制約のScore(スコア)を設定します。正の値は、下で指定したノードでリソースを実行できることを示します。負の値は、このノードでリソースを実行できないことを示します。+/- INFINITYの値は、canmustに変更します。

  8. 制約を設定するノードを選択します。

  9. ノードおよびScore (スコア)フィールドを空のままにしておくと、追加 > ルールの順にクリックしてルールを追加することもできます。有効期間を追加するには、追加 > 有効期間の順にクリックします。

  10. すべてのパラメータが希望どおり設定されたら、OKをクリックして、制約の設定を完了します。環境設定ダイアログが閉じて、メインウィンドウに新しく追加または変更された制約が表示されます。

コロケーションの制約の追加または変更

  1. Section 4.1, Linux HA Management Clientで説明したように、Linux HA Management Clientを起動してクラスタにログインします。

  2. Linux HA Management Clientのメインウィンドウの左側のペインで、制約をクリックしてそのクラスタに設定済みの制約を表示します。

  3. 左側のペインで制約を選択し、追加をクリックします。

  4. Resource Collocation (リソースコロケーション)を選択し、OKをクリックします。

  5. 制約に固有のIDを入力します。既存の制約を変更する場合、IDはすでに定義されているため、環境設定ダイアログに表示されます。

  6. コロケーションソースとなるリソースを選択します。リストには、そのクラスタに設定されているすべてのリソースのIDが表示されます。

    制約が満たされないと、クラスタはリソースがまったく実行しないようにすることがあります。

  7. リソースWith Resource (対象リソース)フィールドを両方とも空のままにしておくと、追加 > リソースセットの順にクリックしてリソースを追加することもできます。有効期間を追加するには、追加 > 有効期間の順にクリックします。

  8. With Resource(対象リソース)には、コロケーション先を定義します。クラスタはこのリソースの配置先を最初に決定し、次にリソースフィールドのリソースを配置する場所を決定します。

  9. Score(スコア)を定義して、両方のリソース間の位置関係を決定します。正の値は、リソースを同じノードで実行しなければならないことを示します。負の値は、リソースを同じノードで実行してはならないことを示します。+/- INFINITYの値はshouldmustに変更します。スコアを他の要因と組み合わせて、ノードの配置先を決定します。

  10. 必要に応じて、Resource Role(リソース役割)などの追加のパラメータも指定します。

    選択したパラメータとオプションに応じて、短い説明が表示され、設定しているコロケーションの制約の効果を確認できます。

  11. すべてのパラメータが希望どおり設定されたら、OKをクリックして、制約の設定を完了します。環境設定ダイアログが閉じて、メインウィンドウに新しく追加または変更された制約が表示されます。

順序の制約の追加または変更

  1. Section 4.1, Linux HA Management Clientで説明したように、Linux HA Management Clientを起動してクラスタにログインします。

  2. Linux HA Management Clientのメインウィンドウの左側のペインで、制約をクリックして、そのクラスタに設定されている制約を表示します。

  3. 左側のペインで制約を選択し、追加をクリックします。

  4. Resource Order(リソース順序)を選択し、OKをクリックします。

  5. 制約に固有のIDを入力します。既存の制約を変更する場合、IDはすでに定義されているため、環境設定ダイアログに表示されます。

  6. First(最初)では、Then(次に)のリソースより前に開始するリソースを定義します。

  7. Then(次に)では、First(最初)のリソースより後に開始するリソースを定義します。

  8. 必要に応じて、Score(スコア)(ゼロより大きい場合は制約は必須、それ以外は単なる推奨)や、Symmetrical(対称)(「true」の場合は逆順にリソースを停止する)などの追加のパラメータを定義します。

    選択したパラメータとオプションに応じて、短い説明が表示され、設定している順序の制約の効果を確認できます。

  9. すべてのパラメータが希望どおり設定されたら、OKをクリックして、制約の設定を完了します。環境設定ダイアログが閉じて、メインウィンドウに新しく追加または変更された制約が表示されます。

Linux HA Management Clientの制約ビューで設定したすべての制約にアクセスして変更することができます。

Figure 4-3 Linux HA Management Client - 制約

制約の設定の詳細や、オーダーおよびコロケーションの基本的な概念について詳細なバックグラウンド情報は、http://clusterlabs.org/wiki/Documentationに提供されている次のドキュメントを参照してください。