DR模式需要三台虚拟机,三台虚拟机只需要有“公网”IP,但在这种模式下又多了一个VIP。对应的机器和IP如下:
调度器dir:192.168.200.130
真实服务器rs1:192.168.200.131
真实服务器rs2:192.168.200.132
VIP:192.168.200.110
在dir上编写一个shell脚本
# vi /usr/local/sbin/lvs_dr.sh #! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward ipv=/usr/sbin/ipvsadm vip=192.168.200.110 rs1=192.168.200.131 rs2=192.168.200.132 #注意这里的网卡名字 ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip dev ens33:2 $ipv -C $ipv -A -t $vip:80 -s wrr $ipv -a -t $vip:80 -r $rs1:80 -g -w 1 $ipv -a -t $vip:80 -r $rs2:80 -g -w 1
两台rs上也需要编写脚本
# vi /usr/local/sbin/lvs_rs.sh //两台rs上添加的内容一致 #/bin/bash vip=192.168.200.110 #把vip绑定在lo上,是为了实现rs直接把结果返回给客户端 ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip lo:0 #以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端 #参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
分别在三台机器上执行各自脚本
[root@dir ~]# bash /usr/local/sbin/lvs_dr.sh [root@rs1 ~]# bash /usr/local/sbin/lvs_rs.sh [root@rs2 ~]# bash /usr/local/sbin/lvs_rs.sh
执行完三个脚本后,就可以测试了。但这次不可以直接在dir上用curl命令直接测试了,因为VIP在三台机器上都有设置。所以只能用浏览器来测试结果



