第11章 Pacemaker ルール

ルールは、設定をより動的にするのに使用できます。ルールには、(ノード属性を使用して) 時間ベースで異なる処理グループにマシンを割り当て、場所の制約の作成時にその属性を使用する方法があります。
各ルールには日付の式など各種の式の他、他のルールも含ませることができます。各種の式の結果が boolean-op フィールドに応じて処理され、最終的にそのルールが true または false どちらの評価になるかが確定されます。ルールが使用された状況に応じて次に起こる動作は異なります。

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

フィールド説明
role
リソースが指定のロールである場合のみルールの適用を制限します。使用できる値は StartedSlave、および Master です。注意: role="Master" が指定されたルールはクローンインスタンスの最初の場所を判断できません。昇格するアクティブなインスタンスの選択のみが影響を受けます。
score
ルールが true の評価になった場合に適用するスコア
score-attribute
ルールが true の評価になった場合に検索しスコアとして使用するノードの属性、場所の制約の一部となるルールにのみ使用を限定
boolean-op
複数の式オブジェクトからの結果の処理方法、使用できる値: andor、デフォルトは and

11.1. ノード属性の式

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

表11.2 式のプロパティー

フィールド説明
attribute
テスト用のノード属性
type
値のテスト方法を指定、使用できる値: stringintegerversionデフォルトの値は string
operation
実行する比較動作、使用できる値:
* lt - ノード属性の値が value 未満の場合に True
* gt - ノード属性の値が value を越える場合に True
* lte - ノード属性の値が value 未満または同等になる場合に True
* gte - 属性の値が value を越えるまたは同等になる場合に True
* eq - ノード属性の値が value と同等になる場合に True
* ne - ノード属性の値が value と同等ではない場合に True
* defined - ノードに指定属性がある場合に True
* not_defined - ノードに指定属性がない場合に True
value
比較のためユーザーによって入力される値
管理者が追加する属性のほかに、表11.3「組み込みノード属性」で説明されているように、クラスターは使用可能な各ノードに特殊な組み込みノード属性を定義します。

表11.3 組み込みノード属性

名前説明
#uname
ノード名
#id
ノード ID
#kind
ノードタイプ、使用できる値は cluster remote、および container です。 kind の値は、ocf:pacemaker:remote リソースで作成された Pacemaker リモートノードの remote、および Pacemaker リモートゲストノードおよびバンドルノードの container です。
#is_dc
このノードが指定コントローラー (DC) の場合は true、それ以外の場合は false
#cluster_name
cluster-name クラスタープロパティーの値 (設定されている場合)
#site_name
site-name ノード属性の値 (設定されている場合)、それ以外は #cluster-name と同じ。
#role
関連する多状態リソースがこのノードで果たす役割。多状態リソースの場所の制約のルール内でのみ有効です。