Red Hat Training

A Red Hat training course is available for RHEL 8

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

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

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

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

当使用规则来配置位置约束时,score 的值可以是正数,也可以是负数,正数表示"首选",负数表示"避免"。

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,如 日期规范 中"日期规范的属性"表中所述。

  • 已定义|not_defined 属性
  • attribute lt|gt|lte|gte|eq|ne [string|integer|number(RHEL 8.4 及更新版本)|version]
  • date 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