我使用pacemaker和corosync来管理主动/被动模式下两个节点的故障转移。 我已经配置了虚拟IP资源:
# pcs resource create VirtualIP ocf:heartbeat:IPaddr2 \
ip=192.9.50.54 cidr_netmask=32 op monitor interval=1s timeout=5s \
start interval=0s timeout=30s
# pcs resource create PingIP ocf:pacemaker:ping dampen=5s multiplier=1000 host_list=@IP --clone
# pcs constraint location VirtualIP rule score=-INFINITY pingd lt 1 or not_defined pingd
其中@IP是要ping的IP地址。
一切正常,VIP根据ping移动到节点上。但是,当两个节点都无法ping @IP时,我的资源VirtualIP被禁用。在这种情况下,我希望在启用它的最后一个节点上启用VirtualIP资源。
我认为我必须根据ping结果修改我的资源VirtualIP的分数,但我没有找到该怎么做。
感谢您的帮助
答案 0 :(得分:0)
我发现这个解决方案,正如我所知,我已经使用以下约束修改了我的资源VirtualIP的分数。
# pcs constraint location VirtualIP rule score=50 pingd gte 1 and defined pingd
因此,当节点成功ping @IP时,其VirtualIP资源增加为50.当两个节点都无法ping通时,资源不会停止并保留在最后一个节点上。
也许这对某些人有用。