红帽企业 Linux 使用网络地址转换(Network Address Translation)或 NAT 选路(NAT routing)来进行 LVS 集群。这给管理员在使用可用的硬件和把群集综合到现存网络时提供了极大的灵活性。
图 9-3显示了使用 NAT 选路来在互联网和专用网间移动请求的 LVS 群集。
在这个例子中,活跃 LVS 路由器中有两个 NIC。互联网的 NIC 在 eth0 上有一个真正 IP 地址(real IP address),还有一个别名为 eth0:1 的浮动 IP 地址。专用网络接口的 NIC 在 eth1 上有一个真正 IP 地址,还有一个别名为 eth1:1 的浮动 IP 地址。在失效转移的情况下,面向互联网的虚拟接口和面向专用网络的虚拟接口会被备份 LVS 路由器同时接管。位于专用网络上的所有群集的真正服务器就会使用 NAT 路由的浮动 IP 作为它们的默认路由来和活跃 LVS 路由器通信,因此它们答复来自互联网的请求的能力就不会受影响。
在这个例子中,LVS 路由器的公共 LVS 浮动 IP 地址和私有的 NAT 浮动 IP 地址是两个物理 NIC 的别名。虽然你有可能把每个浮动 IP 地址都关联到它在 LVS 路由器节点上自己的物理设备上,但是你不必拥有两个以上 NIC。
使用这种拓扑,活跃 LVS 路由器接收请求,然后把它选路发送到恰当的服务器中。真正服务器处理请求,然后把分组返回到 LVS 路由器中,LVS 路由器再使用网络地址转换来把分组中真正服务器的地址替换成它自己的公共 VIP 地址。这个过程叫做 IP 伪装(IP masquerading),因为真正服务器的实际地址被隐藏起来,发出请求的客户看不到它们。
使用 NAT 选路方法,真正服务器可以是运行各种操作系统的任何类型的机器。它的主要不利之处是 LVS 路由器可能会成为较大规模的群集中的瓶颈,因为它必须同时处理进入的和输出的请求。