我有四个节点 AD,其中有 service1 克隆(克隆最大 3 个),并有 3 个虚拟 IP。我有约束 - clone-ip1、clone-ip2、clone-ip3 - 当只有 pacemaker 处理服务时,这很有效。
我希望 Pacemaker 自动“审核”节点,这样当服务无约束启动时,pacemaker 就会停止它。似乎当节点 A、B、C 处于活动状态时 - pacemaker 并不关心节点 D 上发生了什么。当我强制重新探测时crm_resource -P
- 它会停止节点 D 上不必要的服务。有没有办法让 pacemaker 检查所有节点?(multiple_active 似乎不起作用......)
答案1
在 Pacemaker 集群中,Pacemaker 确实希望管理所有服务。
在您的示例中,Pacemaker 没有在 Node-D 上启动 clone-ip* 的记录,因此它也不会在那里运行监视操作。
crm_resource -P
告诉集群检查所有节点,检查集群中定义的所有服务,然后做出相应的反应;这就是你的 IP 被删除的原因。
您可以通过增加clone-max=4
并在 CIB 中放置负无穷位置约束来阻止服务在 Node-D 上运行,从而实现您的目标:
clone clone-ip1 p_ip1 \
meta clone-max=4 clone-node-max=1
location l_clone-ip1_never_on_node-d clone-ip1 -inf: node-d