17.2. ルールを使用して Pacemaker の場所の制約を設定する
時間、日付、ノード属性などの複雑な条件に基づいてリソースの配置を決定するルールを使用して、場所の制約を設定します。複数の式を組み合わせることで、高度な配置ロジックを作成できます。
# pcs constraint location rsc rule[resource-discovery=option] [role=promoted|unpromoted] [score=score | score-attribute=attribute] expression
-
scoreを省略すると、デフォルトの INFINITY に設定されます。 -
ルールを使用して場所の制約を設定する場合は、
scoreを正または負の値にすることができます。正の値は "prefers" を示し、負の値は "avoids" を示します。 -
resource-discoveryを省略すると、デフォルトのalwaysに設定されます。resource-discoveryオプションの詳細は、ノードのサブセットへのリソース検出を制限 を参照してください。 - 基本的な場所の制約と同様に、制約にリソースの正規表現を使用することもできます。
Pacemaker ルールの expression オプション
expression オプションは、Pacemaker ルール の「日付指定のプロパティー」表で説明されているように、duration_options と date_spec_options が hours、months、weeks、years である以下のいずれかになります。
-
defined|not_defined attribute -
attribute lt|gt|lte|gte|eq|ne [string|integer|number|version] value -
date gt|lt date -
date in_range date to date -
date in_range date to duration duration_options … -
date-spec date_spec_options -
expression and|or expression -
(expression)
Pacemaker ルールの期間
持続時間は、計算により in_range 操作の終了を指定する代替方法です。たとえば、19 カ月間を期間として指定できます。duration オプションでサポートされている値は、seconds、minutes、hours、days、weeks、months、および years です。
以下の場所の制約は、現在が 2018 年の任意の時点である場合に true の式を設定します。
# pcs constraint location Webserver rule score=INFINITY date-spec years=2018
以下のコマンドは、月曜日から金曜日までの 9 am から 5 pm までが true となる式を設定します。hours の値 16 には、時間 (hour) の値が一致する 16:59:59 までが含まれます。
# pcs constraint location Webserver rule score=INFINITY date-spec hours="9-16" weekdays="1-5"
次のコマンドは、13 日の金曜日に true となる式を設定します。
# pcs constraint location Webserver rule date-spec weekdays=5 monthdays=13