![Apache 负载均衡器、故障转移和备份](https://linux22.com/image/541548/Apache%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8%E3%80%81%E6%95%85%E9%9A%9C%E8%BD%AC%E7%A7%BB%E5%92%8C%E5%A4%87%E4%BB%BD.png)
我使用 apache 和 mod_proxy 进行了负载平衡。一切运行良好,我可以在两台服务器之间进行负载平衡。现在我想做更多。首先,我想进行故障转移(如果一台服务器宕机,所有费用将转移到另一台服务器)> 它是否只适用于此:nofailover=On?然后,如果第一个负载平衡器宕机,我想有第二个负载平衡器作为备份。我在互联网上搜索但没有找到。你知道是否可以这样做吗?最后,是否可以更改负载平衡器中的配置(如服务器的 ip),而无需重新启动它,因为它正在运行?
感谢您的回答
答案1
要将 BalancerMember 设置为热备用,以便只有在没有其他上游可用时才会获取请求,请使用 status=+H:
<Proxy balancer://failovercluster>
BalancerMember http://10.1.1.4
BalancerMember http://10.1.1.5 status=+H
</Proxy>
(需要注意的是,一些旧版本的 apache 有一个错误,导致 +H 不起作用)
设置第二个负载均衡器的一种常见方法是设置具有相同配置的第二个系统,然后使用DNS 循环让用户点击他们碰巧点击的那个。当然,如果其中一个负载平衡器发生故障,这可能会导致客户端延迟;这不是什么好事。
另一个选择是使用虚拟专用网络我不会在这里讨论实施细节,但它会让你的两个负载均衡器共享一个虚拟 IP 地址,如果其中一个无法访问,该 IP 地址将转移到另一个设备。
使用“reload”(/etc/init.d/apache2 reload
)将正常重新启动 apache 服务;这可以避免断开连接。