13.3. リソースセットへの順序の設定

一般的に、管理者は、複数のリソースの連鎖を作成する場合に順序を設定します (例: リソース A が開始してからリソース B を開始し、その後にリソース C を開始)。複数のリソースを作成して同じ場所に配置し (コロケーションを指定)、起動の順序を設定する必要がある場合は、このようなリソースが含まれるリソースグループを設定できます。

ただし、特定の順序で起動する必要があるリソースをリソースグループとして設定することが適切ではない場合があります。

  • リソースを順番に起動するように設定する必要があるものの、リソースは必ずしも同じ場所に配置しない場合
  • リソース C の前にリソース A または B のいずれかが起動する必要があるものの、A と B の間には関係が設定されていない場合
  • リソース C およびリソース D の前にリソース A およびリソース B の両方が起動している必要があるものの、A と B、または C と D の間には関係が設定されていない場合

このような状況では、pcs constraint order set コマンドを使用して、1 つまたは複数のリソースセットに対して順序の制約を作成できます。

pcs constraint order set コマンドを使用して、リソースセットに以下のオプションを設定できます。

  • sequential - リソースセットに順序を付ける必要があるかどうかを指定します。true または false に設定できます。デフォルト値は true です。

    sequentialfalse に設定すると、セットのメンバーに順序を設定せず、順序の制約にあるセット間で順序付けできます。そのため、このオプションは、制約に複数のセットが登録されている場合に限り有効です。それ以外の場合は、制約を設定しても効果がありません。

  • require-all - 続行する前にセットの全リソースがアクティブである必要があるかどうかを指定します。true または false に設定できます。require-allfalse に設定すると、次のセットに進む前に、セットの 1 つのリソースのみを開始する必要があります。require-allfalse に設定しても、sequentialfalse に設定されている順序なしセットと併用しない限り、効果はありません。デフォルト値は true です。
  • action - クラスターリソースの実行順序の決定 の表順序の制約のプロパティーで説明されているように、startpromotedemote、または stop に設定できます。
  • ロール - StoppedStartedPromoted、または Unpromoted に設定できます。

pcs constraint order set コマンドの setoptions パラメーターに続いて、リソースのセットに対する以下の制約オプションを設定できます。

pcs constraint order set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]

D1D2D3 という 3 つのリソースがある場合は、次のコマンドを実行すると、この 3 つのリソースを、順序を指定したリソースセットとして設定します。

# pcs constraint order set D1 D2 D3

この例では、ABCDE、および F という名前の 6 つのリソースがある場合に、以下のように、起動するリソースセットに順序制約を設定します。

  • AB は、互いに独立して起動します。
  • A または B のいずれかが開始すると、C が開始します。
  • C が開始すると、D が開始します。
  • D が開始したら、EF が互いに独立して起動します。

symmetrical=false が設定されているため、リソースの停止は、この制約の影響を受けません。

# pcs constraint order set A B sequential=false require-all=false set C D set E F sequential=false setoptions symmetrical=false