12.1.1 LVS-NAT真实服务器上的虚拟IP地址
如果你需要在不同的VIP地址上向客户端计算机提供不同的服务,LVS-NAT集群节点可以使用多个RIP地址(ip别名或从属ip地址)标识客户端计算机在原请求中使用的VIP地址,正如你在图12-5中看到的,Director可以被配置为使用多个虚拟的RIP地址向集群节点(真实服务器)发送数据包,这种情况下,客户端计算机将仍然只知道Director上配置的VIP地址,Director负责通过正确的虚拟RIP地址发送数据包到集群中(使用负载均衡或调度方法)。
|
| (点击查看大图)图12-5:有多个VIP的LVS-NAT集群 |
你可以选择这种方案在不同ip地址上负载调度不同类型的用户,例如:会计用户和报告用户可以使用一个ip地址,客户服务和简单的基于事务的用户使用另一个ip地址,你也可以为你的web页面使用基于ip的虚拟主机(参考附录F关于Apache虚拟主机的详细讨论)。
图12-5显示了Director使用三个VIP地址接收来自客户端计算机的网络请求,Director使用LVS-NAT转发方法从集群内的真实服务器上选择一个虚拟RIP地址(任何其他LVS转发方法也可以),在这个配置中,正常情况下,VIP地址应该与虚拟RIP地址关联在一起,如图12-6所示。
|
| 图12-6:多个VIP与多个虚拟RIP的关系 |
与Director上的VIP类似,可以在真实服务器上使用ip别名或从属ip地址创建虚拟RIP地址(ip别名和从属ip地址在第6章中已经介绍过了),在Director的VIP1上接收到的数据包将被Director转发到真实服务器1上的虚拟RIP1-1或真实服务器2上的虚拟RIP2-1,应答数据包(来自真实服务器)将通过Director伪装发回,以便客户端计算机看到数据包好像来自VIP1。
注意:在建立web服务器集群时,你可以使用基于名称的虚拟主机代替为每个真实服务器分配多个RIP地址,参考附录F中关于基于名称的虚拟主机的描述。
[1]我们将暂时忽略底层TCP连接建立数据包(叫做SYN和ACK数据包)。
[2]LVS-NAT集群中数据包必须通过Director传回。
[3]Director在集群网络中还可以扮演防火墙,但这超出了本书的范畴,查看http://www.linuxvirtualserver.org/上的LVS HOWTO文档关于Antefacto补丁的讨论。
[4]如果集群节点没有使用DIP作为它们的默认网关,通过Director发回客户端应答数据包需要真实服务器上的一个路由表项目。
| 回书目 上一节 下一节 |