Pacemaker:如何将VirtualIP资源保留在至少一个节点上

时间:2015-02-16 17:43:25

标签: failover heartbeat failovercluster pacemaker virtual-ip-address

我使用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的分数,但我没有找到该怎么做。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我发现这个解决方案,正如我所知,我已经使用以下约束修改了我的资源VirtualIP的分数。

# pcs constraint location VirtualIP rule score=50 pingd gte 1 and defined pingd

因此,当节点成功ping @IP时,其VirtualIP资源增加为50.当两个节点都无法ping通时,资源不会停止并保留在最后一个节点上。

也许这对某些人有用。