我正在考虑为 Apache 和 MySQL 设置自动故障转移。我打算在两个 Apache 机器和两个 MySQL 机器前面放置一个小型代理服务器。Apache 会不时地从 master -> slave rsync 数据,并且 MySQL 将在 Master/Slave 中设置以进行复制。如果发生故障,备份盒可以接管,直到主服务器重建。
前面的代理服务器将仅作为带有某种心跳软件的交通警察运行(此时我不是在寻找负载平衡)。这样我就不必担心在主机出现故障的情况下更改我们的防火墙。Linux-HA是最佳选择还是有什么建议?
Linux HA 是一个不错的工具集。如果您想要简单,请使用 heartbeat 1;heartbeat 2 用于超过 2 个节点的集群和 XML 配置。对于大多数简单的 2 节点情况,1 就足够了。
但是,虽然我同意在您的应用程序前面有一个代理总是一个好主意(运行多个服务器作为来自一个虚拟服务器&c),但您所描述的设置听起来像是引入了一个新的 SPF:代理。
在您的情况下,您可能最好的做法是以主动-主动配置运行两台服务器,包括两者上的完整 Web 服务和完整代理服务(!)。
只需设置 heartbeat 接管三个 IP:一个用于活动 MySQL 服务器,一个用于活动 Web 服务器,一个用于活动代理(只有最后一个需要公开)。
然后将代理设置为始终转到内部“活动 Web 服务器”IP,并将 Web 服务器设置为“活动数据库服务器”IP。
当您准备好进行负载平衡配置时,您只需放弃 Web 服务器 IP 的切换,而是将两个 Web 服务器都放在代理的后端服务器组中。
初始设置可能如下所示:
然后,当您准备就绪时,您可以无缝地进入真正的负载平衡(如 Web 所述)和 MySQL 集群,而无需用户可见的更改。
最重要的是:仍然立即将您的应用程序放在代理后面(即使代理“真的”只是相同的服务器)将在您的网络应用程序中暴露很多错误(关于链接创建中的主机名和路径的假设 &c)!
http://studyhat.blogspot.com/2009/11/clustering-linux-ha.html
以上链接可帮助您设置 Linux HA