第 5 章 使用 STONITH 的隔离 Controller 节点
隔离是隔离故障节点来保护集群和集群资源的过程。如果没有隔离,故障的节点可能会导致集群中的数据崩溃。
director 使用 Pacemaker 提供高度可用的 Controller 节点集群。Pacemaker 使用名为 STONITH 的进程来隔离出现故障的节点。STONITH 是 "Shoot the node in the head" 的缩写。
如果 Controller 节点失败,作为 Pacemaker 指定的协调器(DC)的 Controller 节点会使用 Pacemaker stonith
服务来隔离受影响的 Controller 节点。
默认情况下禁用 STONITH,需要手动配置,以便 Pacemaker 可以控制集群中每个节点的电源管理。
不支持在不使用 STONITH 的情况下部署高可用性 overcloud。您必须在高可用性 overcloud 中为作为 Pacemaker 集群一部分的每个节点配置 STONITH 设备。有关 STONITH 和 Pacemaker 的信息,请参阅红帽高可用性集群中的隔离和 RHEL 高可用性集群的支持策略。
有关在 Red Hat Enterprise Linux 中使用 Pacemaker 进行隔离的更多信息,请参阅:
5.1. 支持的隔离代理 复制链接链接已复制到粘贴板!
当您使用隔离部署高可用性环境时,您可以根据您的环境需要选择以下隔离代理之一。要更改隔离代理,您必须在 fence .yaml
文件中配置附加参数,如 第 5.2 节 “在 overcloud 上部署和测试隔离” 所述。
- 智能平台管理接口 (IPMI)
- RHOSP 用于管理隔离的默认隔离机制。
- 存储块设备(SBD)
- 在部署中使用 Watchdog 设备。部署不得使用共享存储。
fence_kdump
在带有
kdump
崩溃恢复服务的部署中使用。如果选择此代理,请确保有足够的磁盘空间来存储转储文件。除了 IPMI、
fence_rhevm
或 Redfish 隔离代理外,您还可以将这个代理配置为辅助机制。如果您配置多个隔离代理,请确保分配足够时间以便第一个代理完成该任务,然后再启动下一个任务。- Redfish
-
在部署中使用支持 DMTF Redfish API 的服务器。要指定此代理,请在 fence
.yaml
文件中将agent
参数的值更改为fence_redfish
。有关 Redfish 的更多信息,请参阅 DTMF 文档。 fence_rhevm
for Red Hat Virtualization (RHV)使用 为运行 RHV 环境的 Controller 节点配置隔离。您可以以与 IPMI
隔离相同的方式生成 fence.yaml
文件,但您必须在nodes.json
文件中定义pm_type
参数才能使用 RHV。默认情况下,
ssl_insecure
参数设置为接受自签名证书。您可以根据安全要求更改参数值。重要确保您使用具有权限的角色在 RHV 中创建和启动虚拟机,如
UserVMManager
。