实验拓扑图:
LVS-DR模型示例讲解_第1张图片
因为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

LVS-DR模型示例讲解_第2张图片
配置路由指向:

route add -host 10.11.73.100 dev ens33
route -n 

LVS-DR模型示例讲解_第3张图片
设置内核参数:

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

LVS-DR模型示例讲解
配置两台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

LVS-DR模型示例讲解
设置内核参数:

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 

LVS-DR模型示例讲解
ipvsadm -L -n
LVS-DR模型示例讲解_第4张图片
然后我们使用客户端的浏览器测试:
LVS-DR模型示例讲解_第5张图片
LVS-DR模型示例讲解_第6张图片
当我们在使用浏览器进行测试时如果DR模型的rr算法轮询调度失败,可以修改调度器的活动连接时长:

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

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