和大家共享 VS/DR 试验时的一些问题和经验

晚上研究了一下 LVS VS/DR 模式,发现如下问题以及可改进的地方:

1.
对于 LB-Director 而言,经过测试和理论推导,VIP 实际上是无需将掩码设置为 255.255.255.255 的。VIP 地址可以设置成对外可见。并且,在 LB-Director 上是不能仅仅单独设置一个 VIP 的。原因如下:

如果 LB-Director 上仅仅单独设置一个 VIP,且后端的 Real Server 也在 Non-ARP 设备上绑定了 VIP,则,当 LB-Director 向 Real Server 发送一个 TCP 请求或者一个 ICMP 等请求时,后端的 Real Server 接收到数据包后准备进行回应,且回应地址应该是请求数据包中的 Source IP(即:VIP),而此时,Real Server发现本机的已经存在 VIP 地址(即:Source IP),则 Real Server 无法将回应的数据包正常回传到 LB-Director 上。

所以,在 LB-Director 上应至少配置两个同网段的 IP 地址,一个为 DIP(Director IP),另一个为用于 LVS 的 VIP。

2.
当 LVS 在 VS/DR 模式工作时,如果 LB-Director 和 Real Server 的所有 IP 地址均工作在同一网段中时(即:请求数据包和响应数据包均通过一个路由器进行数据交换),出于安全性考虑,就无需将 Linux 中 sysctl.conf 里的 net.ipv4.ip_forward 设置为 1 了。因为此时没有跨网段的数据包转发问题。

3.
当在 VMWare 中搭建 LVS VS/DR 试验环境时,需要注意一些。因为实际上 VIP 对应的 MAC 地址通常不会是 VMWare 中那个 LB-Director 虚拟机的网卡 MAC 地址(该问题与 VMWare Network 的桥接有关)。所以,当在 VMWare 虚拟机中进行了大量网络修改操作和网卡设置操作后,如果发现找不到 VIP 或者网络出现异常时,可以执行 arp -a 查看当前的 MAC 地址列表,并且执行 arp -d 清除 MAC 地址缓存后重试。一般问题都可得到解决。

其中描述不清或者错误的地方还请大家多多讨论、指教。

Forums:

这个和BIG-IP比,差很多吗?

写的很不错。解答了我一个小疑问。

Real Server 无法将回应的数据包正常回传到 LB-Director 上 这句话应该是针对NAT转发方式来说的吧

randomness