实验拓扑图: 因为DR模型是根据更改目标的MAC地址来实现任务调度的,所以这里我们需要修改两个内核参数。 arp_announce:是否通告自己的网络 arp_ignore:是否响应别人的arp广播请求 配置之前在两台Real Server服务器上面配置httpd服务并创建两个测试页面 根据上面的拓扑图我们可以看到调度器跟Real Server都只是用一块网卡,然后VIP地址配置在网卡的子接口上。 首先配置调度器的VIP地址:

ifconfig ens33:0 10.11.73.100/32 broadcast 10.11.73.100 up ifconfig 

配置路由指向:

route add -host 10.11.73.100 dev ens33 route -n 

设置内核参数:

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1> /proc/sys/net/ipv4/conf/ens33/arp_ignore echo 2> /proc/sys/net/ipv4/conf/all/arp_announce echo 2> /proc/sys/net/ipv4/conf/ens33/arp_announce 

配置两台Real Server的VIP地址:

ifconfig lo:0 10.11.73.100/32 broadcast 10.11.73.100 up route add -host 10.11.73.100 dev lo:0 

设置内核参数:

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 1> /proc/sys/net/ipv4/conf/ens33/arp_ignore echo 2> /proc/sys/net/ipv4/conf/all/arp_announce echo 2> /proc/sys/net/ipv4/conf/ens33/arp_announce 

用同样的方法配置第二台Real Server的VIP地址以及内核参数 然后在调度器上配置ipvsadm的规则策略

ipvsadm -A -t 10.11.73.100:80 -s rr ipvsadm -a -t 10.11.73.100:80 -r 10.11.73.154 -g ipvsadm -a -t 10.11.73.100:80 -r 10.11.73.155 -g 

ipvsadm -L -n 然后我们使用客户端的浏览器测试: 当我们在使用浏览器进行测试时如果DR模型的rr算法轮询调度失败,可以修改调度器的活动连接时长:

ipvsadm --set 1 1 1 ipvsadm -L --timeout 

备注:最后要注意一下所有配置到网卡子接口的地址系统重启后都会失效,要想配置永久有效可以在/etc/sysconfig/network-scripts/目录下面直接创建网卡子接口的配置文件。