10.2. 配置仅限 watchdog 的 SBD 隔离
在仅限 watchdog 的配置节点中,会监控仲裁状态及其健康状况,如集群所示。如果节点无法检索集群视图(CIB),或者集群决定节点处于不健康状态,则该节点上的本地 watchdog 计时器过期,请触发重启。
先决条件
- 正在运行的高可用性集群。
-
在
/dev/watchdog或者每个节点中配置的另一个设备路径的所有节点上提供功能 watchdog 计时器(WDT)设备。 - 其它隔离设备都处于活动状态,或者其他隔离设备在群集 watchdog-fencing 中可用,则可仅限于无法由这些隔离隔离的节点,或者可以将隔离拓扑配置为将 watchdog-fencing 配置为将 watchdog-fencing 用作回退
SBD 实现是模块化的,可以在集群中有选择地部署。在异构环境中,比如包含 pacemaker-remote 节点或缺少功能功能 watchdog 设备的硬件,SBD 仍然是兼容成员的可行隔离解决方案。如果没有通用 SBD 支持,不会在支持的节点上排除其选择实现。
流程
在集群的所有节点上安装
sbd软件包:# dnf install sbd在每个节点上,列出可用的 watchdog 设备来识别正确的设备路径:
# pcs stonith sbd watchdog list在每个节点上,通过触发测试来验证 watchdog 设备是否正常工作:
警告此命令会重启系统,以确认 watchdog 可以成功触发硬件重置。仅在启用 SBD 守护进程前执行此测试,该命令在守护进程控制 watchdog 设备后无法正常工作。
# pcs stonith sbd watchdog test在一个节点上,启用 SBD 隔离来更新所有节点上的
/etc/sysconfig/sbd,并启用sbd服务:# pcs stonith sbd enable sbd_watchdog_timeout=5设置 cluster
stonith-watchdog-timeout属性。这个值决定了在假设缺少的节点成功自助隔离前剩余的集群节点需要等待的时间:# pcs property set stonith-watchdog-timeout=10重要每个节点在启动资源前单独验证此属性。要防止脑裂的情况,
stonith-watchdog-timeout必须至少大为SBD_WATCHDOG_TIMEOUT的值。不要将此属性设置为-1用于自动计算,因为节点间的SBD_WATCHDOG_TIMEOUT值不一致,从而导致 stonith-watchdog-timeout 的不同计算(对于隔离原始器和目标 - 比目标会导致不同节点的脑裂)进行不同的计算。重启集群以初始化 SBD 进程:
# pcs cluster stop --all # pcs cluster start --all
验证
验证 SBD 状态是否活跃:
# pcs stonith sbd status手动触发隔离测试以确保配置正常工作:
警告此命令立即重启目标节点。
# pcs stonith fence node_name