Pacemaker ipaddr2资源没有出现正确故障



我有一个带有起搏器ipaddr2资源的浮动IP设置。

test-IP4       (ocf::heartbeat:IPaddr2):       Started node1

浮动IP设置为在我的ib0接口上启动。ib0端口已连接到网络交换机。当我禁用网络交换机上的端口时,ib0端口将关闭。但资源并没有失败。我可以从同一台主机ping IP地址,但其他主机无法ping。为什么资源没有故障?

这就是我禁用交换机上的端口之前的样子。

ib0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2044 qdisc pfifo_fast state UP group default qlen 256
link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:c9:03:00:18:97:71 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
inet 192.168.2.168/24 brd 192.168.2.255 scope global noprefixroute ib0
valid_lft forever preferred_lft forever

这就是当我禁用交换机上的端口时的样子。

ib0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 2044 qdisc pfifo_fast state DOWN group default qlen 256
link/infiniband 80:00:02:08:fe:80:00:00:00:00:00:00:00:02:c9:03:00:18:97:71 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
inet 192.168.2.168/24 brd 192.168.2.255 scope global noprefixroute ib0
valid_lft forever preferred_lft forever

如果接口出现故障,虚拟IP(IPaddr2(将不会进行故障转移。根据我的经验,IPaddr2将在其启动调用中尝试恢复此状态,并保持在同一节点上。起搏器使用stonith来处理网络问题,但如果正在监视其他网络,则我们可以使用ping资源进行故障切换。

有3种方法可以解决这个问题

1.Stonith配置通常,网络问题由Stonith代理处理,配置Stonith后,它会对不健康的节点进行隔离,以避免大脑分裂问题。

2.创建一个自定义资源来监控网络,并将ipaddr资源的依赖项放在此资源上,每当出现网络故障时,都将由自定义资源处理。

3.创建pingd资源创建ocf:parrester:ping克隆资源并在ipaddr上添加依赖规则,因为在nework失败后ping将失败,ipaddr将故障转移到健康节点。

pcs资源创建ping_res ocf:起搏器:ping阻尼=5smultiplier=1000 host_list=";节点1节点2";克隆

pcs约束位置ipaddr名称res规则分数=-INFINITY ping d lt 1 or not_definedping

如果ping失败,则将为ipaddr名称res资源设置-INFINITY密码

最新更新