10.3. 配置资源 meta 选项
除了特定于资源的参数外,您还可以为任何资源配置其他资源选项。集群会使用这些选项来决定您的资源的行为。
下表描述了资源 meta 选项。
项 | Default(默认) | 描述 |
---|---|---|
|
| 如果不是所有资源都处于活跃状态,集群将停止较低优先级的资源,以便保持优先权更高的资源的活跃状态。 |
|
| 指明集群应尝试将此资源保留在什么状态。允许的值:
*
*
*
* |
|
|
指明是否允许集群启动和停止资源。允许的值: |
| 1 | 指示资源倾向于保留在当前位置的程度。 |
| Calculated | 指示可在什么情况下启动资源。
除非在下列情况下,否则默认为
*
*
*
* |
|
|
在将这个节点标记为不允许托管此资源之前,节点上可能会发生多少个故障。值 0 表示禁用了此功能(节点永远不会标记为无效);相反,集群将 |
|
|
与 |
|
| 代表当在多个节点上都找到活跃的资源时集群应该做什么。允许的值:
*
*
*
* |
|
|
为涉及资源作为从属资源(target_resource)的所有 colocation 约束设置 |
|
|
当设置为 |
10.3.1. 设置 meta 选项 复制链接链接已复制到粘贴板!
在创建资源时,您可以将特定资源的资源选项设置为默认值以外的值。您还可以为现有资源、组或克隆的资源设置资源 meta 选项的值。
以下流程提供了示例命令,其在资源创建和现有资源上设置资源 meta 选项的值。
流程
创建一个
resource-stickiness
值为 50 的资源。pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 meta resource-stickiness=50
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.120 meta resource-stickiness=50
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于名为
dummy_resource
的现有资源,将failure-timeout
meta 选项设置为 20 秒,因此资源可以在 20 秒内尝试在同一节点上重启。pcs resource meta dummy_resource failure-timeout=20s
# pcs resource meta dummy_resource failure-timeout=20s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示资源的值,以验证是否设置了
failure-timeout=20s
。pcs resource config dummy_resource
# pcs resource config dummy_resource Resource: dummy_resource (class=ocf provider=heartbeat type=Dummy) Meta Attrs: failure-timeout=20s ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.3.2. 更改资源选项的默认值 复制链接链接已复制到粘贴板!
您可以使用 pcs resource defaults update
命令更改所有资源的资源选项默认值。以下命令将资源粘性的默认值重置为 100
。
pcs resource defaults update resource-stickiness=100
# pcs resource defaults update resource-stickiness=100
pcs resource defaults name=value
命令为之前版本中的所有资源设置默认值,保持支持,除非配置了多个默认值。但是,pcs resource defaults update
现在是该命令的首选版本。
10.3.3. 更改一组资源选项的默认值 复制链接链接已复制到粘贴板!
您可以使用 pcs resource defaults set create
命令创建多个资源默认值,该命令允许您指定包含 resource
表达式的规则。在使用此命令指定的规则中,仅允许 resource
和 date
表达式(包括 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
# pcs resource defaults set create id=pgsql-stickiness meta resource-stickiness=100 rule resource ::pgsql
要更改现有集合中的默认值,请使用 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
命令的三种不同的输出格式。
流程
重置任何
ocf:pacemaker:pgsql
资源的默认值。pcs resource defaults set create id=set-1 score=100 meta resource-stickiness=10 rule resource 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 Copied! Toggle word wrap Toggle overflow 以纯文本形式显示配置的资源默认值。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示从当前集群默认设置配置中创建的
pcs resource defaults
命令。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以 JSON 格式显示配置的资源默认值。
pcs resource defaults config --output-format=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 Copied! Toggle word wrap Toggle overflow