Red Hat Training

A Red Hat training course is available for RHEL 8

21.2. 配置全局资源操作默认

从 Red Hat Enterprise Linux 8.3 开始,您可以使用 pcs resource op defaults update 命令为所有资源更改默认值。

以下命令为所有监控操作设置 超时 值 240 秒的全局默认值。

# pcs resource op defaults update timeout=240s

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

21.2.1. 覆盖特定于资源的操作值

请注意,只有在集群资源定义中没有指定该选项时,集群资源才会使用全局默认值。默认情况下,资源代理为所有操作定义 timeout 选项。要接受全局操作超时值,您必须明确地创建没有 timeout 选项的集群资源,或者您必须通过更新集群资源来删除 timeout 选项,如以下命令所示。

# pcs resource update VirtualIP op monitor interval=10s

例如,在为所有监控操作设置了一个 240 秒的 timeout 值,并更新集群资源 VirtualIP 来删除 monitor 操作的超时值后,资源 VirtualIPstartstopmonitor 操作的超时值将分别为 20s、40s 和 240s。这里,超时操作的全局默认值仅应用于 monitor 操作,其中默认的 timeout 选项已被上一条命令删除。

# pcs resource config VirtualIP
 Resource: VirtualIP (class=ocf provider=heartbeat type=IPaddr2)
   Attributes: ip=192.168.0.99 cidr_netmask=24 nic=eth2
   Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
               monitor interval=10s (VirtualIP-monitor-interval-10s)
               stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)

21.2.2. 为一组资源更改资源操作的默认值

从 Red Hat Enterprise Linux 8.3 开始,您可以使用 pcs resource op defaults set create 命令创建 多个资源操作默认值集合,该命令允许您指定包含 资源和 操作表达式的规则。在 RHEL 8.3 ,您使用这个命令指定的规则只允许资源和操作表达式,包括 括号。在 RHEL 8.4 及更高版本中,Pacemaker 支持所有其他规则表达式也被允许。

使用这个命令,您可以为特定类型的所有资源配置默认资源操作值。例如,在使用捆绑包时,可以配置 Pacemaker 创建的隐式 podman 资源。

以下命令为所有 podman 资源的所有操作设置默认的超时值 90s。在本例中,::podman 表示类型为 podman 的任何类(任何供应商)的资源。

id 选项命名资源操作默认值,不强制使用。如果您没有设置这个选项,pc s 将自动生成 ID。设置这个值可让您提供更描述性的名称。

# 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

对于特定类型的所有资源,可以为特定的操作设置默认值。以下示例为所有 podman 资源为 stop 操作设置了一个默认的超时值 120s。

# pcs resource op defaults set create id=podman-stop-timeout meta timeout=120s rule resource ::podman and op stop

21.2.3. 显示当前配置的资源操作默认值

pcs resource op defaults 命令显示目前配置的资源操作默认值的列表,包括您指定的任何规则。

以下命令显示集群的默认操作值,为所有 podman 资源的所有操作都设置了默认的超时值 90s,并为一组资源操作默认值设置为 podman-timeout

# pcs resource op defaults
Meta Attrs: podman-timeout
  timeout=90s
  Rule: boolean-op=and score=INFINITY
    Expression: resource ::podman

以下命令显示集群的默认操作值,为所有 podman 资源的 stop 操作设置了默认超时值 120s,并为一组资源操作默认设置为 podman-stop-timeout

# pcs resource op defaults]
Meta Attrs: podman-stop-timeout
  timeout=120s
  Rule: boolean-op=and score=INFINITY
    Expression: resource ::podman
    Expression: op stop