Red Hat Training

A Red Hat training course is available for RHEL 8

第 20 章 资源监控操作

为确保资源健康,您可以在资源的定义中添加监控操作。如果您没有为资源指定监控操作,默认情况下,pcs 命令将创建一个监控操作,间隔由资源代理决定。如果资源代理不提供默认的监控间隔,pcs 命令将创建监控操作,间隔为 60 秒。

下表总结了资源监控操作的属性:

表 20.1. 操作的属性

描述

id

操作的唯一名称。系统在配置操作时分配这个值。

name

要执行的操作。常见值: 监控启动停止

interval

如果设置为非零值,则会以这个频率(以秒为单位)重复操作。非零值只有在操作 名称 设为 monitor 时才有意义。资源启动后,将立即执行重复的 monitor 操作,并在上一个监控动作完成后调度后续的 monitor 操作。例如,如果 monitor 操作的 interval=20s 在 01:00:00 执行,则下一次 monitor 操作不是在 01:00:20 时发生,而是在第一个 monitor 操作完成后的 20 秒发生。

如果设置为零(默认值为零),则此参数允许您为集群创建的操作提供值。例如,如果 间隔 设为零,则操作 的名称 被设置为 start超时 值设为 40,则 Pacemaker 在启动此资源时将使用 40 秒超时。通过零间隔的 monitor 操作,您可以为 Pacemaker 在启动时使用的探测设置 超时/on-fail/enabled 值,以便在不需要默认值时获取所有资源的当前状态。

timeout

如果在此参数设置的时间内操作没有完成,操作会被终止并认为它失败。默认值是使用 pcs resource op defaults 命令设置的 超时 值,如果未设置,则为 20 秒。如果您发现您的系统所包含的资源比系统允许执行操作的时间更长(如 startstopmonitor),请调查其原因,并调查您预计较长的执行时间可以增加这个值。

超时 值不是任何类型的延迟,如果操作在超时期限完成后返回,集群也不会等待整个超时时间。

on-fail

在这个操作失败时要执行的操作。允许的值:

* ignore - Pretend resource 没有失败

* block - 不要对资源执行任何进一步的操作

* stop - 停止资源且不在其它位置启动它

* restart - 停止资源并重新启动(可能在不同的节点上)

* fence - 资源失败的节点 STONITH

* standby - 从资源失败的节点中移出 所有资源

* migrate - 如果可能,将资源迁移到另一个节点。这等同于将 migration-threshold 资源 meta 选项设置为 1。

* demote - 当资源的 提升 操作失败时,资源会被降级但不会被完全停止。当 monitor 操作失败时,如果 间隔 设置为非零值,并且 role 设置为 Master,资源将会降级,但不会完全停止。

当启用 STONITH 并阻止其他 停止 操作的默认设置 会被隔离。所有其他操作默认为 重新启动

enabled

如果为 false,则操作将被视为不存在。允许的值: true,false

20.1. 配置资源监控操作

您可以使用以下命令在创建资源时配置监控操作。

pcs resource create resource_id standard:provider:type|type [resource_options] [op operation_action operation_options [operation_type operation_options]...]

例如,以下命令使用监控操作创建 IPaddr2 资源:新资源称为 VirtualIP,IP 地址为 192.168.0.99,eth 2 上的子网掩码为 24。每 30 秒将执行一次监控操作。

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2 op monitor interval=30s

另外,您可以使用以下命令在现有资源中添加监控操作。

pcs resource op add resource_id operation_action [operation_properties]

使用以下命令删除配置的资源操作。

pcs resource op remove resource_id operation_name operation_properties
注意

您必须指定准确的操作属性才能正确地删除现有的操作。

要更改监控选项的值,您可以更新资源。例如,您可以使用以下命令创建 VirtualIP

# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 ip=192.168.0.99 cidr_netmask=24 nic=eth2

默认情况下,这个命令会创建这些操作。

Operations: start interval=0s timeout=20s (VirtualIP-start-timeout-20s)
            stop interval=0s timeout=20s (VirtualIP-stop-timeout-20s)
            monitor interval=10s timeout=20s (VirtualIP-monitor-interval-10s)

要改变停止超时操作,请执行以下命令。

# pcs resource update VirtualIP op stop interval=0s timeout=40s

# pcs resource show 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 timeout=20s (VirtualIP-monitor-interval-10s)
              stop interval=0s timeout=40s (VirtualIP-name-stop-interval-0s-timeout-40s)