为了管理 HA 代理对,我们目前已为我们的 NIC 分配了一个别名。
# cat /etc/sysconfig/network-scripts/ifcfg-eth0:proxy
DEVICE=eth0:proxy
BOOTPROTO=none
ONPARENT=no
TYPE=Ethernet
IPADDR=10.1.1.2
NETMASK=255.255.255.255
NM_CONTROLLED=no
此文件存在于两个节点上。当我们想要切换哪个代理来处理流量时,我们会ifdown eth0:proxy
在当前主节点上执行一个,ifup eth0:proxy
在辅助节点上执行一个。这是一个完全手动的过程。
显然,RedHat 已经弃用这种分配多个 IP 地址的方式。相反,他们建议只将辅助 IP 添加到主接口:
# ifcfg-eth0
...
IPADDR2=10.1.1.2
...
但是似乎没有一种“好”的方法来管理在辅助框上启动 IP 并将其在主框上关闭的过程,就像我上面的例子一样。
我们也不使用 NetworkManager。该服务已停止并禁用。
有没有办法可以在两个节点上切换活动公共地址,而无需编辑两个配置文件并重新启动 NIC,就像我们以前所做的那样?
另外,如果主服务器重新启动,是否有一个好的方法可以自动执行启动/关闭过程?如果辅助服务器可以检测到主服务器已消失并自动接管 VIP,那就太好了。
我们不希望通过 DNS 负载平衡让两个 HAProxies 同时提供流量服务,因为后端服务器的粘性很重要。