DR模式, LVS-HA主备切换, HA资源检测冲突

两台服务器, 分别作为主,备控制器, 同时也是real server.
VIP代表虚拟IP地址,
RIP1,RIP2对应两台服务器的真实IP地址

用HA来作主备切换, 问题来了.
因为两台real server需要为回环接口lo配置虚拟ip, 即/sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up, 这个配置为开机自动加上的.

这时启动HA的时候, 就会提示已经检测到VIP资源了, 于是haresouce里配置的服务就不会再启动了. 而实际上这个只是为回环接口配置的, 不对外网启作用的, HA应该检测的是eth0上是否配置了VIP.

/etc/ha.d/haresources配置如下:
lvs_master IPaddr::$VIP/24/eth0 ldirectord

如果在HA启动后再为回环接口配置虚拟ip就可以, 但是这样就需要人工干预了, 我觉得不应该需要这样.

有什么办法解决这个问题呢?

Forums:

heartbeat中有个IPaddr2的脚本,有个lvs_support属性.
它会自动的卸下lo的vip,在合适的卡上启动vip

randomness