10.3. 配置资源 meta 选项


除了特定于资源的参数外,您还可以为任何资源配置其他资源选项。集群会使用这些选项来决定您的资源的行为。

下表描述了资源 meta 选项。

Expand
表 10.2. 资源元数据选项
Default(默认)描述

priority

0

如果不是所有资源都处于活跃状态,集群将停止较低优先级的资源,以便保持优先权更高的资源的活跃状态。

target-role

Started

指明集群应尝试将此资源保留在什么状态。允许的值:

* Stopped - 强制停止资源

* Started - 允许启动资源(如果是可提升的克隆,则进行提升(如果适用)

* Promoted - 允许启动资源,并在可能的情况下提升资源

* Unpromoted - 允许资源启动,但仅在资源可提升但却处于未提升模式

is-managed

true

指明是否允许集群启动和停止资源。允许的值: true,false

resource-stickiness

1

指示资源倾向于保留在当前位置的程度。

requires

Calculated

指示可在什么情况下启动资源。

除非在下列情况下,否则默认为 fencing。可能的值:

* nothing - 集群总是可以启动资源。

* quorum - 只有在大多数配置的节点处于活动状态时,集群才能启动此资源。如果 stonith-enabledfalse,或资源的 standardstonith,则这是默认值。

* fencing - 只有大多数配置的节点活跃并且隔离所有失败或未知节点时,集群才可以启动此资源。

* 取消隔离 - 只有大多数配置的节点活跃 所有失败或未知节点都被隔离, 只能在未 隔离的 节点上,集群才能启动此资源。如果为隔离设备设置了 provides=unfencing stonith 元选项,则这是默认值。

migration-threshold

INFINITY

在将这个节点标记为不允许托管此资源之前,节点上可能会发生多少个故障。值 0 表示禁用了此功能(节点永远不会标记为无效);相反,集群将 INFINITY (默认值)视为非常大但有限的数。只有在失败的操作有 on-fail=restart (默认值)时,这个选项才会生效,如果集群属性 start-failure-is-fatalfalse,则此选项还可用于失败的启动操作。

failure-timeout

0 (禁用)

migration-threshold 选项结合使用,可指示在采取操作之前要等待多少秒,就像没有发生故障一样,并可能允许资源返回到失败的节点上。

multiple-active

stop_start

代表当在多个节点上都找到活跃的资源时集群应该做什么。允许的值:

* block - 将资源标记为非受管

* stop_only - 停止所有活动的实例,并使其保持这种状态

* stop_start - 停止所有活跃的实例,并仅在一个位置启动资源

* stop_unexpected - 只停止资源的意外实例,而无需完全重启。用户负责验证服务及其资源代理是否可以与额外的活跃实例一起正常工作,而无需全面重启。

critical

true

为涉及资源作为从属资源(target_resource)的所有 colocation 约束设置 influence 选项的默认值,包括在资源属于资源组时创建的隐式 colocation 限制。influence colocation 约束选项决定在依赖资源达到失败的迁移阈值时,集群是否会将主和依赖资源移动到另一个节点,或者集群是否使依赖资源离线,而不会导致服务切换。critical 资源 meta 选项的值可以是 truefalse,默认值为 true

allow-unhealthy-nodes

false

当设置为 true 时,资源不会由于节点健康状况降级而强制关闭节点。当健康资源设置了此属性时,集群可以自动检测节点的健康状态恢复,并将资源移回节点。节点的运行状况由基于本地条件的健康资源代理设置的健康属性和决定集群如何对这些条件做出响应的与策略相关的选项的组合决定的。

10.3.1. 设置 meta 选项

在创建资源时,您可以将特定资源的资源选项设置为默认值以外的值。您还可以为现有资源、组或克隆的资源设置资源 meta 选项的值。

以下流程提供了示例命令,其在资源创建和现有资源上设置资源 meta 选项的值。

流程

  1. 创建一个 resource-stickiness 值为 50 的资源。

    # pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 meta resource-stickiness=50
    Copy to Clipboard Toggle word wrap
  2. 对于名为 dummy_resource 的现有资源,将 failure-timeout meta 选项设置为 20 秒,因此资源可以在 20 秒内尝试在同一节点上重启。

    # pcs resource meta dummy_resource failure-timeout=20s
    Copy to Clipboard Toggle word wrap
  3. 显示资源的值,以验证是否设置了 failure-timeout=20s

    # pcs resource config dummy_resource
     Resource: dummy_resource (class=ocf provider=heartbeat type=Dummy)
      Meta Attrs: failure-timeout=20s
      ...
    Copy to Clipboard Toggle word wrap

10.3.2. 更改资源选项的默认值

您可以使用 pcs resource defaults update 命令更改所有资源的资源选项默认值。以下命令将资源粘性的默认值重置为 100

# pcs resource defaults update resource-stickiness=100
Copy to Clipboard Toggle word wrap

pcs resource defaults name=value 命令为之前版本中的所有资源设置默认值,保持支持,除非配置了多个默认值。但是,pcs resource defaults update 现在是该命令的首选版本。

10.3.3. 更改一组资源选项的默认值

您可以使用 pcs resource defaults set create 命令创建多个资源默认值,该命令允许您指定包含 resource 表达式的规则。在使用此命令指定的规则中,仅允许 resourcedate 表达式(包括 and, or 和括号)。

使用 pcs resource defaults set create 命令,您可以为特定类型的所有资源配置默认值。例如,如果您正在运行数据库,需要很长时间才能停止,可以提高数据库类型的 resource-stickiness 默认值,以防止这些资源更频繁地迁移到其他节点。

以下命令将类型为 pqsql 的所有资源的 resource- sticky 设置为 100。

  • id 选项(即资源默认值的名称)不是强制性的。如果您没有设定此选项, pcs 则会自动生成 ID。设置这个值可让您提供更描述性的名称。
  • 在这个示例中,::pgsql 代表一个任何类、任何厂商、类型为 pgsql 的资源。

    • ocf:heartbeat:pgsql 代表类为 ocf,厂商为 heartbeat,类型为 pgsql
    • ocf:pacemaker: 代表类为 ocf,厂商为 pacemaker,类型为任意的资源。
# pcs resource defaults set create id=pgsql-stickiness meta resource-stickiness=100 rule resource ::pgsql
Copy to Clipboard Toggle word wrap

要更改现有集合中的默认值,请使用 pcs resource defaults set update 命令。

10.3.4. 显示当前配置的资源默认设置

pcs resource defaults [config] 命令显示目前为资源选项配置的默认值的列表,包括您指定的任何规则。您可以以文本、JSON 和命令格式显示此命令的输出。

  • 指定 --output-format=text 以纯文本格式显示配置的资源默认值,这是此选项的默认值。
  • 指定 --output-format=cmd 会显示从当前集群默认值配置创建的 pcs resource defaults 命令。您可以使用这些命令在不同的系统上重新创建配置的资源默认值。
  • 指定 --output-format=json 以 JSON 格式显示配置的资源默认值,这适用于机器解析。

以下示例流程演示了在重置资源的默认值后,pcs resource defaults config 命令的三种不同的输出格式。

流程

  1. 重置任何 ocf:pacemaker:pgsql 资源的默认值。

    # pcs resource defaults set create id=set-1 score=100 meta resource-stickiness=10 rule resource ocf:pacemaker:pgsql
    Copy to Clipboard Toggle word wrap
  2. 以纯文本形式显示配置的资源默认值。

    # pcs resource defaults config
    Meta Attrs: build-resource-defaults
      resource-stickiness=1
    Meta Attrs: set-1 score=100
      resource-stickiness=10
      Rule: boolean-op=and score=INFINITY
        Expression: resource ocf:pacemaker:pgsql
    Copy to Clipboard Toggle word wrap
  3. 显示从当前集群默认设置配置中创建的 pcs resource defaults 命令。

    # pcs resource defaults config --output-format=cmd
    pcs -- resource defaults set create id=build-resource-defaults \
      meta resource-stickiness=1;
    pcs -- resource defaults set create id=set-1 score=100 \
      meta resource-stickiness=10 \
      rule 'resource ocf:pacemaker:pgsql'
    Copy to Clipboard Toggle word wrap
  4. 以 JSON 格式显示配置的资源默认值。

    # pcs resource defaults config --output-format=json
    {"instance_attributes": [], "meta_attributes": [{"id": "build-resource-defaults", "options": {}, "rule": null, "nvpairs": [{"id": "build-resource-stickiness", "name": "resource-stickiness", "value": "1"}]}, {"id": "set-1", "options": {"score": "100"}, "rule": {"id": "set-1-rule", "type": "RULE", "in_effect": "UNKNOWN", "options": {"boolean-op": "and", "score": "INFINITY"}, "date_spec": null, "duration": null, "expressions": [{"id": "set-1-rule-rsc-ocf-pacemaker-pgsql", "type": "RSC_EXPRESSION", "in_effect": "UNKNOWN", "options": {"class": "ocf", "provider": "pacemaker", "type": "pgsql"}, "date_spec": null, "duration": null, "expressions": [], "as_string": "resource ocf:pacemaker:pgsql"}], "as_string": "resource ocf:pacemaker:pgsql"}, "nvpairs": [{"id": "set-1-resource-stickiness", "name": "resource-stickiness", "value": "10"}]}]}
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat