假设我有两台 Debian 5.0 服务器,上面运行着一个基于会话的通用 DB 驱动网站。假设这两个 DB 实例已经集群化。
每个服务器都有自己的内部 IP 地址,并通过在服务器前面放置负载均衡器来实现负载平衡(负载均衡器监听分配给网站的一个公共 IP 地址)。
现在,有没有办法通过巧妙的网络设置(例如:逻辑 IP 地址设置)和 Debian 提供的工具摆脱负载均衡器并获得相同的结果(具有消除单点故障的额外好处)?
如果是,该怎么做?脚本、示例,任何可以帮助我实现目标的东西都是额外的奖励 :)
编辑:更具体地说,我正在寻找类似的东西Windows NLB提供。
答案1
要消除单点故障,您可以执行以下操作之一:
1- 完全移除负载平衡器,并将服务器配置为在主动-被动模式下工作。您可以使用 Linux 的心跳包来执行此操作。在这种情况下,您会失去一台机器的处理能力,并且只能使用一台机器作为故障转移!
2- 安装并配置另一个负载均衡器。两个负载均衡器将以主动-被动模式工作。此外,可以在两台服务器上配置心跳(我假设是基于 Linux 的负载均衡器)。这会稍微贵一些,因为它需要一个新系统。
3- 在同一个 Debian 系统上安装两个负载平衡器。因此,您不需要安装新系统。但是,这可能不推荐,因为它会使系统复杂化并在同一台服务器上混合更多服务(该服务器已经用作 Web 服务器和 DB 服务器)。
答案2
答案3
好的,在 Khaled 和 3molo 的一些非常有用的建议以及 Marco Ramos 的回答之后另一个问题我做了进一步的研究,发现这篇文章很好地回答了我的问题,并附有脚本和示例。
本文考虑在特定服务器上安装 LB,但正如 Khaled 和 3molo 建议的那样,将它们安装在网站运行的同一服务器上应该可以解决问题。