继续上一篇文章是直接写的TUN模式,现在简单的试试DR模式,其实    DR模式的配置和TUN模式的配置基本类似的。主要就是把keepalived里面的TUN改成DR就行,然后RS上绑定VIP的脚本稍微修改一下,直接把VIP绑定在loopback地址上。DR模式的原理示意图如下

DR模式下RS的配置脚本有一点不同

###############################DR mode Realserver#############################VIP=10.253.3.21case “$1” instart)NO=0for IP in $VIPdoNO=$((NO+1))ip addr add $IP/32 br $IP label lo:$NO dev lodone
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
echo “RealServer Start OK”;
;
stop)NO=0for IP in $VIPdoNO=$((NO+1))ip addr del $IP/32 br $IP label lo:$NO dev lodone
echo “0” >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo “0” >/proc/sys/net/ipv4/conf/lo/arp_announce
echo “0” >/proc/sys/net/ipv4/conf/all/arp_ignore
echo “0” >/proc/sys/net/ipv4/conf/all/arp_announce
echo “RealServer Stoped”;
;
*)
echo “Usage: $0 {start|stop}”exit 1esacexit 0

其实总体来说我还是比较倾向于流量比较小的网站直接使用nginx或者haproxy。使用lvs的配置虽然不麻烦,但是排查问题的时候还是相对麻烦,不抓包很难搞。