第11章 Pacemaker ルール

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

表11.1 ルールのプロパティー

フィールド説明
role
Limits the rule to apply only when the resource is in that role. Allowed values: Started, Slave, and Master. NOTE: A rule with role="Master" cannot determine the initial location of a clone instance. It will only affect which of the active instances will be promoted.
score
The score to apply if the rule evaluates to true. Limited to use in rules that are part of location constraints.
score-attribute
The node attribute to look up and use as a score if the rule evaluates to true. Limited to use in rules that are part of location constraints.
boolean-op
How to combine the result of multiple expression objects. Allowed values: and and or. The default value is and.

11.1. ノード属性の式

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

表11.2 式のプロパティ

フィールド説明
value
User supplied value for comparison
attribute
The node attribute to test
type
Determines how the value(s) should be tested. Allowed values: string, integer, version
operation
実行する比較動作、使用できる値:
* lt - ノード属性の値が value 未満の場合に True
* gt - ノード属性の値が value を越える場合に True
* lte - ノード属性の値が value 未満または同等になる場合に True
* gte - 属性の値が value を越えるまたは同等になる場合に True
* eq - ノード属性の値が value と同等になる場合に True
* ne - ノード属性の値が value と同等ではない場合に True
* defined - ノードに指定属性がある場合に True
* not_defined - True if the node does not have the named attribute