第9章 Pacemaker ルール

構成をより動的にする場合にルールを利用することができます。よくある例の一つとして、就業時間内は resource-stickiness に任意の値を設定して最優先の場所に戻されるのを防ぎ、週末など誰もアウテージに気付かない間に別の値を設定します。
これ以外にも、時間に応じて異なる処理グループにマシンを割り当て(ノード属性を使用)、場所の制約を作成する時にその属性を使用する方法もあります。
各ルールには日付の式など各種の式の他、他のルールも含ませることができます。各種の式の結果が boolean-op フィールドに応じて処理され、最終的にそのルールが true または false どちらの評価になるかが確定されます。ルールが使用された状況に応じて次に起こる動作は異なります。

表9.1 ルールのプロパティ

フィールド説明
role
ルールの適用をリソースが指定ロールの状態の場合に限定する、使用できる値: StartedSlaveMaster (注意: role="Master" の付いたルールはクローンのコピーの初期の場所は判断できません。実行中のどのコピーを昇格させるかを指定するだけです。)
score
ルールが true の評価になった場合に適用するスコア
score-attribute
ルールが true の評価になった場合に検索しスコアとして使用するノードの属性、場所の制約の一部となるルールにのみ使用を限定
boolean-op
複数の式オブジェクトからの結果の処理方法、使用できる値: andor、デフォルトは and

9.1. ノード属性の式

ノードで定義される属性に応じてリソースを制御する場合にノード属性の式を使用します。

表9.2 式のプロパティ

フィールド説明
value
比較のためユーザーによって入力される値
attribute
テスト用のノード属性
type
値のテスト方法を指定、使用できる値: stringintegerversion
operation
実行する比較動作、使用できる値:
* lt - ノード属性の値が value 未満の場合に True
* gt - ノード属性の値が value を越える場合に True
* lte - ノード属性の値が value 未満または同等になる場合に True
* gte - 属性の値が value を越えるまたは同等になる場合に True
* eq - ノード属性の値が value と同等になる場合に True
* ne - ノード属性の値が value と同等ではない場合に True
* defined - ノードに指定属性がある場合に True
* not_defined - ノードに指定属性がない場合に True