![corosync 和多个负载均衡器](https://linux22.com/image/802326/corosync%20%E5%92%8C%E5%A4%9A%E4%B8%AA%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8.png)
我正在尝试使用 pacemaker/corosync 为我们的负载均衡器(可选的 nginx、pgpool 和 haproxy)提供 HA 功能。我定义了三个原语:
1 为故障转移 IP,
1 表示 lsb::nginx
lsb::pgpool 为 1
并且我假设我可以添加 lsb::haproxy,尽管我还没有测试过这种情况。
并将它们组合在一起。我的问题是,例如当 pgpool 发生故障时,集群将切换到另一个节点,包括 nginx。根据我对文档的理解,故障转移 IP 只能包含在一个组中,这使得这种情况成为全有或全无的情况(要么所有服务都正常工作,要么如果一个服务发生故障,则所有三个服务都会发生故障转移)。是否可以将它们组合在一起,例如,node1 可以使用相同的虚拟 IP 为 nginx 和 node2 提供 pgpool 和 haproxy?这可能吗?我正在使用 Debian Wheezy,所有软件包都来自其存储库(haproxy 来自反向移植)。感谢您的回复。
答案1
我认为最简单的方法是设置 2 个故障转移 IP。一个用于,nginx
另一个用于pgpool + haproxy
配对。这样它就会按您预期的方式工作。nginx
可以配置为从第一台机器运行,pgpool + haproxy
从第二台机器配对。