Red Hat Training

A Red Hat training course is available for RHEL 8

12.2. 将资源发现限制为节点子集

Pacemaker 在任何位置启动资源前,它首先在每个节点上执行一次性 monitor 操作(通常称为"探测"),以了解资源是否已在运行。这种资源发现的过程可能会导致无法执行 monitor 的节点出现错误。

在节点上配置位置限制时,您可以使用 pcs constraint location 命令的 resource-discovery 选项指示 Pacemaker 是否应该为指定资源在该节点上执行资源发现。将资源发现限制到物理上能够运行的节点子集可能会在有大量节点时显著提高性能。当使用 pacemaker_remote 来将节点数扩展到数百个节点范围时,应考虑此选项。

以下命令显示为 pcs constraint location 命令指定 resource-discovery 选项的格式。在这个命令中,一个正的分值值对应一个基本位置约束,它配置为首选节点,而 分数 的负数值对应配置资源以避免节点的基本位置约束。与基本位置限制一样,您也可以使用这些限制的资源使用正则表达式。

pcs constraint location add id rsc node score [resource-discovery=option]

下表总结了配置资源发现约束的基本参数的含义。

表 12.2. 资源发现约束参数

描述

id

约束本身的用户选择的名称。

rsc

资源名称

node

节点的名称

分数

整数值来指示给定资源应首选的资源还是避免给定节点的首选程度。一个正的分值对应一个基本位置约束,它配置为首选节点,而分数的负数值对应配置资源以避免节点的基本位置约束。

scoreINFINITY 值表示该节点可用时该节点首选,但不会阻止资源在指定节点不可用时在另一节点上运行。score-INFINITY 值表示该资源永远不会在该节点上运行,即使没有其它节点可用。

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

resource-discovery 选项

* always - 始终为这个节点上的指定资源执行资源发现。这是资源位置约束的默认 resource-discovery 值。

* never - 不为这个节点上的指定资源执行资源发现。

* 专用 - 仅在此节点上为指定资源执行资源发现(及其他标记为 专用节点)。对跨不同节点的同一资源使用 exclusive 进行多次位置约束,会创建 resource-discovery 独占的节点子集。如果某个资源在一个或多个节点上标记为 exclusive 发现,则该资源仅被允许放在那个节点的子集中。

警告

resource-discovery 设置为 never专用 地删除 Pacemaker 检测和停止在不应该运行的位置中运行的不需要的服务实例的能力。系统管理员可以确保该服务永远无法在没有资源发现的情况下在节点上活跃(比如卸载相关的软件)。