这里有要求:
1.高可用性
2.负载平衡
第一个configuration
1.两台linux服务器分别configuration了一个静态IP地址:10.17.243.11,10.17.243.12
2. Keepalived已经安装并configuration一个VRRP实例,提供一个虚拟IP(VIP为10.17.243.10,主机为10.17.243.11,备份为10.17.243.12)。
一切正常。 只要VIP服务器已启动并正在运行,VIP就被分配给主服务器(10.17.243.11)。 一旦closures,VIP将被分配到备份服务器(10.17.243.12)。
这里的问题是所有的通信都进入主服务器。
第二种configuration
1.通过定义多个VRRP实例,我find了Keepalived的active-activeconfiguration。 因此,两台服务器都有两个IP(服务器#1为真实10.17.243.11和虚拟10.17.243.10,服务器#2为真实10.17.243.12和虚拟10.17.243.20。
一切正常。 我们有两个可以访问的VIP(HA)。 但是,所有到每个IP的通信都依赖于IP(单个服务器#1或#2)。 但是,我发现DNS上的一些技巧来克服这个限制。 但在我们的情况下,这是不能接受的。
题:
有没有办法让一个虚拟IP分配给两台服务器? 我的意思是这两个服务器正在处理一部分工作量(就像我们在Web服务器负载平衡中所做的那样)? 通过使用keepalived或其他工具?
提前致谢。
经过一番调查,我发现IPTABES的CLUSTERIP扩展对此有用。 只是谷歌它。
对我来说,起初configuration和系统起来有些困难。 但最终基于Michael Schwartzkopff的PDF文档,我设法做到了。 不幸的是,我忘了networking上的链接。 不过,我有这个文件,以防万一。 在这方面,更多的信息可能对我的另一个问题有用:
iptable CLUSTERIP不起作用