继续上一篇文章是直接写的TUN模式,现在简单的试试DR模式,其实 DR模式的配置和TUN模式的配置基本类似的。主要就是把keepalived里面的TUN改成DR就行,然后RS上绑定VIP的脚本稍微修改一下,直接把VIP绑定在loopback地址上。DR模式的原理示意图如下
DR模式下RS的配置脚本有一点不同
##############################
#DR mode Realserver
#############################
VIP=10.253.3.21
case “$1” in
start)
NO=0
for IP in $VIP
do
NO=$((NO+1))
ip addr add $IP/32 br $IP label lo:$NO dev lo
done
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=0
for IP in $VIP
do
NO=$((NO+1))
ip addr del $IP/32 br $IP label lo:$NO dev lo
done
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 1
esac
exit 0
其实总体来说我还是比较倾向于流量比较小的网站直接使用nginx或者haproxy。使用lvs的配置虽然不麻烦,但是排查问题的时候还是相对麻烦,不抓包很难搞。