21.3. 配置全局资源操作默认
您可以使用 pcs resource op defaults update 命令为所有资源更改资源操作的默认值。
以下命令为所有监控操作设置 timeout 值 240 秒。
pcs resource op defaults update timeout=240s
# pcs resource op defaults update timeout=240s
最初的为之前版本中的所有资源设置资源操作默认值的 pcs resource op defaults name=value 命令仍然受支持,除非配置了多个默认值。但是,pcs resource op defaults update 是该命令的首选版本。
21.3.1. 覆盖特定于资源的操作值 复制链接链接已复制到粘贴板!
请注意,只有在集群资源定义中没有指定该选项时,集群资源才会使用全局默认值。默认情况下,资源代理为所有操作定义 timeout 选项。要接受全局操作超时值,您必须明确地创建没有 timeout 选项的集群资源,或者您必须通过更新集群资源来删除 timeout 选项,如以下命令所示。
pcs resource update VirtualIP op monitor interval=10s
# pcs resource update VirtualIP op monitor interval=10s
例如,在为所有监控操作设置了一个 240 秒的 timeout 值,并更新集群资源 VirtualIP 来删除 monitor 操作的超时值后,资源 VirtualIP 的 start、stop 和 monitor 操作的超时值将分别为 20s、40s 和 240s。这里,超时操作的全局默认值仅应用于 monitor 操作,其中默认的 timeout 选项已被上一条命令删除。
21.3.2. 更改一组资源操作的默认值 复制链接链接已复制到粘贴板!
您可以使用 pcs resource op defaults set create 命令创建多组资源操作默认值,该命令允许您指定包含 resource 和操作表达式的规则。Pacemaker 支持的所有规则表达式都被允许。
使用此命令,您可以为特定类型的所有资源配置默认资源操作值。例如,在使用捆绑包时,可以配置 Pacemaker 创建的隐式 podman 资源。
以下命令为所有 podman 资源操作设定默认的超时值 90s。在本例中,::podman 是指类型为 podman 的任何类、任何供应商的资源。
id 选项用来命名资源操作默认选项,当并不强制使用。如果您没有设定此选项, pcs 则会自动生成 ID。设置这个值可让您提供更描述性的名称。
pcs resource op defaults set create id=podman-timeout meta timeout=90s rule resource ::podman
# pcs resource op defaults set create id=podman-timeout meta timeout=90s rule resource ::podman
以下命令为所有资源的 stop 操作设置默认的超时值 120s。
pcs resource op defaults set create id=stop-timeout meta timeout=120s rule op stop
# pcs resource op defaults set create id=stop-timeout meta timeout=120s rule op stop
对于特定类型的所有资源,可以为特定的操作设置默认值。以下示例为所有 podman 资源设置 stop 操作的默认超时值 120s。
pcs resource op defaults set create id=podman-stop-timeout meta timeout=120s rule resource ::podman and op stop
# pcs resource op defaults set create id=podman-stop-timeout meta timeout=120s rule resource ::podman and op stop
21.3.3. 显示当前配置的资源操作默认值 复制链接链接已复制到粘贴板!
pcs resource op defaults 命令显示目前配置的资源操作默认值列表,包括您指定的规则。
以下命令显示集群的默认操作值,为所有 podman 资源的所有操作都设置了默认超时值 90s,并为 ID 设置了一组资源操作默认值为 podman-timeout。
pcs resource op defaults
# pcs resource op defaults
Meta Attrs: podman-timeout
timeout=90s
Rule: boolean-op=and score=INFINITY
Expression: resource ::podman
以下命令显示集群的默认操作值,为所有 podman 资源的 stop 操作都设置了默认超时值 120s,并为 ID 设置了一组资源操作默认值为 podman-stop-timeout。