Red Hat Training

A Red Hat training course is available for RHEL 8

第 12 章 确定资源可在哪些节点上运行

位置限制决定资源可在哪些节点上运行。您可以配置位置限制,以确定资源是否首选或避免指定节点。

除了位置约束外,资源运行的节点还受到该资源的 resource-stickiness 值的影响,这决定了资源在当前运行的节点上的保留程度。有关设置 resource-stickiness 值的详情,请参考 配置资源以首选其当前节点

12.1. 配置位置限制

您可以配置基本位置约束,以指定资源首选项还是避免节点,使用可选 分数 值来指示约束的首选程度。

以下命令为资源创建一个位置约束,以偏好指定节点。请注意,可以使用单个命令为多个节点在特定资源上创建限制。

pcs constraint location rsc prefers node[=score] [node[=score]] ...

以下命令为资源创建一个位置约束,以避免指定节。

pcs constraint location rsc avoids node[=score] [node[=score]] ...

下表总结了配置位置限制的基本选项的含义。

表 12.1. 位置限制选项

描述

rsc

资源名称

node

节点的名称

分数

正整数值来指示给定资源应首选的资源还是避免给定节点的首选程度。INFINITY 是资源位置约束的默认 score 值。

pcs constraint location rsc prefers 命令中的 scoreINFINITY 值表示资源将首选可用的节点,但如果指定的节点不可用,则不会阻止资源在其它节点上运行。

pcs constraint location rsc avoids 命令中 scoreINFINITY 值表示该资源永远不会在该节点上运行,即使没有其它节点可用。这等同于设置了 score 为 -INFINITYpcs constraint location add 命令。

数值分数(即 not INFINITY)表示该约束是可选的,除非有其它因素大于它,否则该约束将被遵守。例如,如果资源已放置到其他节点上,其资源粘性 分数高于 首选位置 约束的分数,则该资源将保留在其中。

以下命令创建了一个位置约束,以指定资源 Webserver 首选节点 node1

# pcs constraint location Webserver prefers node1

pcs 支持命令行中位置限制中的正则表达式。这些限制适用于基于正则表达式匹配资源名称的多个资源。这允许您使用单一命令行配置多个位置约束。

以下命令创建了一个位置约束,从资源 dummy0dummy9 都首选 node1

# pcs constraint location 'regexp%dummy[0-9]' prefers node1

因为 Pacemaker 使用 POSIX 扩展正则表达式,如 http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04 所述,您可以使用以下命令指定相同的约束。

# pcs constraint location 'regexp%dummy[[:digit:]]' prefers node1