我是一名学生,所以在这方面还很陌生,但我正在用两个 Web 服务器搭建一个 Web 集群,这样如果一个服务器出现故障,网站仍然可以运行。我的问题是如何为两台机器分配一个虚拟 IP 地址,这样我就可以用一个 IP 地址来处理所有传入请求?两台机器都运行 ubuntu 9.04
答案1
您想要故障转移群集还是负载平衡群集?
故障转移群集:只有一台服务器获得“虚拟” IP 地址并处理传入请求;如果它发生故障,另一台服务器将代替它运行;只有一个网站处于活动状态,因此不需要特殊调整即可以这种方式运行(但您应该注意只将数据放在所有节点均可访问的位置);此设置通常在操作系统级别实现。
负载平衡集群:两台服务器共享一个“虚拟”IP 地址并处理请求;网站需要设计为处理多个同时实例(服务器上没有本地内容、适当的会话管理等);这可以在操作系统级别实现,也可以在 Web 服务器前面使用专用的硬件负载平衡器。
负载平衡集群是 Web 场的常用设置。
答案2
根据您要完成的任务,您有多种选择。
LVS 与 keepalived 是一个很好的负载平衡解决方案:http://keepalived.org/ 心跳也可能是一种选择:http://www.linux-ha.org/HomePage