Red Hat Training

A Red Hat training course is available for RHEL 8

10.3. 隔离设备的常规属性

您可以为隔离设备设置许多常规属性,以及决定隔离行为的各种群集属性。

任何集群节点都可以使用任何隔离设备隔离保护其它集群节点,无论隔离资源是启动还是停止。资源是否启动只控制设备的重复监控,而不控制是否使用资源,但以下情况除外:

  • 您可以通过运行 pcs stonith disableston ith_id命令来禁用 隔离设备。这将阻止任何节点使用该设备。
  • 要防止特定节点使用隔离设备,您可以使用 pcs constraint location …​s 命令 为隔离资源配置位置限制。
  • 配置 stonith-enabled=false 将完全禁用隔离。但请注意,红帽不支持隔离功能被禁用的集群,因为它不适用于生产环境。

下表介绍了您可以为隔离设备设置的一般属性。

表 10.1. 隔离设备的常规属性

类型默认值描述

pcmk_host_map

字符串

 

用于不支持主机名的设备的主机名到端口号的映射。例如:node1:1;node2:2,3 告知集群 node1 使用端口 1 ,对 node2 使用端口 2 和端口 3。从 RHEL 8.7 开始,pcmk_host_map 属性支持在 pcmk_host_map 值前使用反斜杠的特殊字符。例如,您可以指定 pcmk_host_map="node3:plug\ 1",来在主机别名中包含一个空格。

pcmk_host_list

字符串

 

此设备控制的机器列表(可选,除非 pcmk_host_check=static-list)。

pcmk_host_check

字符串

如果设置了 pcmk_host_listpcmk_host_map,则为 * static-list

* 否则,如果隔离设备支持 list 操作,则为 dynamic-list

* 否则,如果 隔离设备支持 status 操作,则状态

* 否则,没有

如何确定被设备控制的机器。允许的值: dynamic-list (查询设备)、static-list (检查 pcmk_host_list 属性)、none(假设每个设备都可以隔离每台机器)

下表总结了您可以为隔离设备设置的其他属性。请注意,这些属性仅适用于高级使用。

表 10.2. 隔离设备的高级属性

类型默认值描述

pcmk_host_argument

字符串

port

提供端口的一个替代参数。有些设备不支持标准端口参数,或者可能会提供额外的端口。使用这个参数指定一个替代的、针对于具体设备的参数,它代表要被隔离的机器。值 none 可用于告之集群不要提供任何额外的参数。

pcmk_reboot_action

字符串

reboot

要运行的一个替代命令,而不是 reboot 。有些设备不支持标准命令或者可能需要提供额外的命令。使用这个选项指定可执行 reboot 操作的替代的、特定于具体设备的命令。

pcmk_reboot_timeout

time

60s

指定用于重新启动操作的替代超时,而不是 stonith-timeout。和一般的设备相比,有些设备需要更长或更短的时间完成。使用此选项指定替代的、重启操作使用的、特定于设备的超时时间。

pcmk_reboot_retries

整数

2

在超时时间内重试 reboot 命令的次数上限。有些设备不支持多个连接。如果设备忙碌了处理另一个任务,操作可能会失败,因此如果还有剩余时间,Pacemaker 会自动重试操作。使用这个选项更改 Pacemaker 在放弃前重试重启动作的次数。

pcmk_off_action

字符串

off

要运行的一个替代命令,而不是 off。有些设备不支持标准命令或者可能需要提供额外的命令。使用这个选项指定可执行 off 操作的替代的、特定于具体设备的命令。

pcmk_off_timeout

time

60s

指定用于 off 操作的替代超时,而不是 stonith-timeout。和一般的设备相比,有些设备需要更长或更短的时间完成。使用此选项指定替代的、off 操作使用的、特定于设备的超时时间。

pcmk_off_retries

整数

2

在超时时间内重试 off 命令的次数上限。有些设备不支持多个连接。如果设备忙碌了处理另一个任务,操作可能会失败,因此如果还有剩余时间,Pacemaker 会自动重试操作。使用这个选项更改 Pacemaker 在放弃前重试操作的次数。

pcmk_list_action

字符串

list

要运行的一个替代命令,而不是 list。有些设备不支持标准命令或者可能需要提供额外的命令。使用这个选项指定可执行 list 操作的替代的、特定于具体设备的命令。

pcmk_list_timeout

time

60s

指定 list 操作使用的特代的超时时间。和一般的设备相比,有些设备需要更长或更短的时间完成。使用此选项指定替代的、list 操作使用的、特定于设备的超时时间。

pcmk_list_retries

整数

2

在超时时间内重试 list 命令的次数上限。有些设备不支持多个连接。如果设备忙碌了处理另一个任务,操作可能会失败,因此如果还有剩余时间,Pacemaker 会自动重试操作。使用这个选项更改 Pacemaker 在放弃前 list 操作的次数。

pcmk_monitor_action

字符串

monitor

要运行的一个替代命令,而不是 monitor。有些设备不支持标准命令或者可能需要提供额外的命令。使用这个选项指定可执行 monitor 操作的替代的、特定于具体设备的命令。

pcmk_monitor_timeout

time

60s

指定用于 monitor 操作的替代超时,而不是 stonith-timeout。和一般的设备相比,有些设备需要更长或更短的时间完成。使用此选项指定替代的、monitor 操作使用的、特定于设备的超时时间。

pcmk_monitor_retries

整数

2

在超时时间内重试 monitor 命令的次数上限。有些设备不支持多个连接。如果设备忙碌了处理另一个任务,操作可能会失败,因此如果还有剩余时间,Pacemaker 会自动重试操作。使用这个选项更改 Pacemaker 在放弃前 monitor 操作的次数。

pcmk_status_action

字符串

status

要运行的一个替代命令,而不是 status。有些设备不支持标准命令或者可能需要提供额外的命令。使用这个选项指定可执行 status 操作的替代的、特定于具体设备的命令。

pcmk_status_timeout

time

60s

指定用于 status 操作的替代超时,而不是 stonith-timeout。和一般的设备相比,有些设备需要更长或更短的时间完成。使用此选项指定替代的、status 操作使用的、特定于设备的超时时间。

pcmk_status_retries

整数

2

在超时时间内重试 status 命令的次数上限。有些设备不支持多个连接。如果设备忙碌了处理另一个任务,操作可能会失败,因此如果还有剩余时间,Pacemaker 会自动重试操作。使用这个选项更改 Pacemaker 在放弃前 status 操作的次数。

pcmk_delay_base

字符串

0s

为隔离操作启用基本延迟,并指定基本延迟值。从 Red Hat Enterprise Linux 8.6 开始,您可以使用 pcmk_delay_base 参数为不同的节点指定不同的值。有关隔离延迟参数及其相互作用的一般信息,请查看 隔离延迟

pcmk_delay_max

time

0s

为隔离操作启用一个随机延迟,并指定最大延迟,即组合基本延迟和随机延迟的最大值。例如,如果基本延迟为 3,并且 pcmk_delay_max 为 10,则随机延迟将在 3 和 10 之间。有关隔离延迟参数及其相互作用的一般信息,请查看 隔离延迟

pcmk_action_limit

整数

1

在这个设备上可并行执行的最大操作数量。需要首先配置集群属性 并发-fencing=true (这是 RHEL 8.1 及更新版本的默认值)。值为 -1 代表没有限制。

pcmk_on_action

字符串

on

仅供高级使用:要运行的一个替代命令,而不是 on。有些设备不支持标准命令或者可能需要提供额外的命令。使用它来指定一个执行 on 操作的替代的、特定于设备的命令。

pcmk_on_timeout

time

60s

仅供高级使用:指定用于 on 操作的替代超时, 而不是 stonith-timeout。和一般的设备相比,有些设备需要更长或更短的时间完成。使用它来为 on 操作指定一个替代的、特定于设备的超时。

pcmk_on_retries

整数

2

仅供高级使用:超时时间内重试 on 命令的次数上限。有些设备不支持多个连接。如果设备忙碌了处理另一个任务,操作可能会 失败,因此如果还有剩余时间,Pacemaker 会自动重试操作。使用这个选项来更改 Pacemaker 在放弃前重试 on 操作的次数。

除了您可以为独立隔离设备设置的属性外,您还可以设置用来决定隔离行为的集群属性,如下表所述。

表 10.3. 确定隔离行为的集群属性

选项默认值描述

stonith-enabled

true

表示失败的节点以及带有资源无法停止的节点应该被隔离。保护数据需要将此设置为 true

如果为 true 或未设置,集群将拒绝启动资源,除非也配置了一个或多个 STONITH 资源。

红帽只支持将此值设为 true 的集群。

stonith-action

reboot

发送到隔离设备的操作。允许的值: rebootoff 。也允许使用值 poweroff,但只适用于旧的设备。

stonith-timeout

60s

等待 STONITH 操作完成的时间。

stonith-max-attempts

10

在集群不再立即重新尝试之前,隔离可以失败的次数。

stonith-watchdog-timeout

 

在认为某个节点被硬件 wathcdog 终止前等待的最长时间。建议将此值设置为硬件 watchdog 超时值的两倍。只有在 watchdog-only SBD 配置用于隔离时才需要这个选项。

concurrent-fencing

true(RHEL 8.1 及更新的版本)

允许并行执行隔离操作。

fence-reaction

stop

(Red Hat Enterprise Linux 8.2 及更新的版本)决定当集群节点有其自身隔离通知时该如何响应。如果错误配置了隔离,或者使用 fabric 隔离方式当没有中断集群的通信,集群节点可能会收到其自身隔离的通知信息。允许的值为 stop,来尝试立即停止 Pacemaker 并保持停止状态,或者为 panic ,来尝试立即重启本地节点,并在失败时退回到停止状态。

虽然此属性的默认值已停止 但这个值的最安全选择是 panic,它会尝试立即重启本地节点。如果您希望使用 stop(通常是使用 fabric 隔离方式时),建议对这个参数进行明确设定。

priority-fencing-delay

0(禁用)

(RHEL 8.3 及更高版本)设置一个隔离延迟,允许您配置一个双节点集群,以便在脑裂情况下,运行最少或最小重要资源的节点是被隔离的节点。有关隔离延迟参数及其相互作用的一般信息,请查看 隔离延迟

有关设置集群属性的详情,请参考 设置和删除集群属性