Red Hat Training

A Red Hat training course is available for RHEL 8

15.2. 使用规则配置 pacemaker 位置约束

使用以下命令配置使用规则的 Pacemaker 约束。如果省略 分数,则默认为 INFINITY。如果省略 resource-discovery,则默认为 always

如需有关 resource-discovery 选项的信息,请参阅 将资源发现限制到节点的子集

与基本位置限制一样,您也可以使用这些限制的资源使用正则表达式。

使用规则配置位置限制时, 数值可以是正数或负数,正值表示"prefers",负值表示"avoids"。

pcs constraint location rsc rule [resource-discovery=option] [role=master|slave] [score=score | score-attribute=attribute] expression

expression 选项可以是以下之一,其中 duration_optionsdate_spec_options 是:hours,monthdays, weekdays, yeardays, months, weeks, years, weekyears 和 moon,如 Date 规格中的"Properties of date Specification"表中所述。

  • defined|not_defined attribute
  • attribute lt|gt|lte|gte|eq|ne [string|integer|number(RHEL 8.4 及更新版本)|version]
  • 日期 gt|lt date
  • date in_range date to date
  • date in_range date to duration_options …​
  • date-spec date_spec_options
  • expression and|or 表达式
  • 表达式

请注意,持续时间是通过计算方法指定 in_range 操作结束的替代方式。例如,您可以指定 19 个月的持续时间。

下面的位置约束配置一个满足以下位置的表达式(如果现在是 2018 年)。

# pcs constraint location Webserver rule score=INFINITY date-spec years=2018

以下命令配置一个周一到周五从上午 9 点下午 5 点为 true 的表达式。请注意,小时值为 16 可以匹配到 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 moon=4

要删除某个规则,使用以下命令:如果您要删除的规则是其约束中的最后一规则,则约束将被删除。

pcs constraint rule remove rule_id