我使用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的分数,但我不知道怎么做。
谢谢你的帮忙
发布于 2015-02-18 22:37:30
我找到了这个解决方案,正如我所想的那样,我已经使用以下约束修改了我的资源VirtualIP的分数。
# pcs constraint location VirtualIP rule score=50 pingd gte 1 and defined pingd因此,当节点成功ping @IP时,其VirtualIP资源增加50。当两个节点都无法ping通时,资源不会停止并停留在它所在的最后一个节点上。
也许它会对某些人有用。
https://stackoverflow.com/questions/28547265
复制相似问题