Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
7.2. 順序の制約
順序の制約でリソースを実行する順序を指定します。
次のコマンドを使って順序の制約を設定します。
pcs constraint order [action] resource_id then [action] resource_id [options]
表7.3「順序の制約のプロパティ」 では順序の制約を設定する場合のプロパティとオプションについて簡単に示します。
表7.3 順序の制約のプロパティ
フィールド | 説明 |
---|---|
resource_id
|
動作を行うリソースの名前
|
action
|
リソースで行う動作、action プロパティで使用できる値:
*
start - リソースを起動する
*
stop - リソースを停止する
*
promote - スレーブリソースからマスターリソースにリソースの昇格を行う
*
demote - マスターリソースからスレーブリソースにリソースの降格を行う
動作を指定しない場合は、デフォルトの動作
start が設定されます。マスターリソースとスレーブリソースについての詳細は 「多状態のリソース: 複数モードのリソース」 を参照してください。
|
kind オプション
|
制約の実施方法、
kind オプションで使用できる値:
*
Optional - 両方のリソースが指定のアクションを実行する場合のみ適用されます。順序は 「勧告的な順序付け」 を参照してください。
*
Mandatory - 常に実施 (デフォルト値)、1 番目に指定したリソースが停止しているまたは起動できない場合は、2 番目に指定されているリソースを停止しなければなりません (「強制的な順序付け」 を参照)。
*
Serialize - リソースセットに対して 2 種類の動作、停止と起動が同時に発生しないようにする
|
symmetrical オプション
|
7.2.1. 強制的な順序付け
mandatory 制約では 1 番目に指定しているリソースが実行されない限り 2 番目に指定しているリソースは実行できません。 これが
kind
オプションのデフォルトです。デフォルト値のままにしておくと 1 番目に指定しているリソースの状態が変化した場合、2 番目に指定したリソー スが必ず反応するようになります。
- 1 番目に指定している実行中のリソースを停止すると、2 番目に指定しているリソースも停止されます (実行している場合)。
- 1 番目に指定している実行中のリソースが実行しておらず起動できない場合には、指定したリソースは (実行していれば) 停止します。
- 2 番目に指定しているリソースの実行中に 1 番目に指定しているリソースが再起動されると、2 番目に指定しているリソースが停止され再起動されます。
ただし、クラスターは、それぞれの状態変化に対応することに注意してください。 2 番目のリソースで停止操作を開始する前に 1 番目のリソースが再起動し、起動状態にあると、2 番目のリソースを再起動する必要はありません。
7.2.2. 勧告的な順序付け
順序の制約に
kind=Optional
オプションが指定された場合、制約は任意として考慮され、両方のリソースが指定のアクションを実行する場合のみ適用されます。最初に指定するリソースによる状態の変更は 2 番目に指定するリソースに影響を与えません。
次のコマンドは
VirtualIP
というリソースと dummy_resource
というリソースに勧告的な順序付けの制約を設定します。
# pcs constraint order VirtualIP then dummy_resource kind=Optional
7.2.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
に設定でき、リソースのセットが相対的に順序付けされる必要があるかどうかを示します。sequential
をfalse
に設定すると、順序付けの制約で他のセットに対して相対的に順序付けすることができますが、セットのメンバーは相対的に順序付けされません。そのため、このオプションは制約に複数のセットがリストされている場合のみ有効です。それ以外の場合、制約の効果はありません。require-all
:true
またはfalse
を設定でき、続行する前にセットのすべてのリソースがアクティブである必要があるかどうかを示します。require-all
をfalse
に設定した場合、次のセットに継続する前にセットの 1 つのリソースのみが開始される必要があります。require-all
をfalse
に設定した場合、sequential
がfalse
に設定された順序付けされていないセットと併用しないと効果がありません。
pcs constraint order set
コマンドの setoptions
パラメーターの後に、リソースのセットに対する以下の制約オプションを設定できます。
id
: 定義する制約の名前を指定します。score
: 制約の優先度を示します。このオプションの詳細は 表7.4「コロケーション制約のプロパティ」 を参照してください。
pcs constraint order set resource1 resource2 [resourceN]... [options] [set resourceX resourceY ... [options]] [setoptions [constraint_options]]
D1
、D2
、D3
という 3 つのリソースがあると仮定した場合、次のコマンドはこの 3 つのリソースを順序付けされたひとつのリソースセットとして設定します。
# pcs constraint order set D1 D2 D3
7.2.4. 順序の制約からリソースを削除
次のコマンドを使用するとすべての順序の制約からリソースを削除します。
pcs constraint order remove resource1 [resourceN]...
このページには機械翻訳が使用されている場合があります (詳細はこちら)。