LVS集群DR模式实例
1、 实验拓扑图
2、 实验环境
3台CentOS6.4 64bit的服务器。
类型 |
IP |
DR |
eth0:10.20.73.20 |
VIP |
eth0:0 10.20.73.30 |
RS |
10.20.73.22(web01) 10.20.73.23(web02) |
3、安装和配置
3.1 安装
在DS上安装lvs:yum install ipvsadm
3.2 配置
DR上配置lvs启动脚本:
[root@master]# cat /etc/init.d/ipvsdr
#!/bin/bash
#lvs script(dr mode)
VIP=10.20.73.30
RIP1=10.20.73.22
RIP2=10.20.73.23
. /etc/rc.d/init.d/functions
case "$1" in
start)
echo “start LVS of DR”
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up #eth0:0上绑定VIP
/sbin/route add –host $VIP dev eth0:0 #添加路由,凡是到VIP的路由都走eth0:0
echo "1" > /proc/sys/net/ipv4/ip_forward #开启路由转发功能
/sbin/iptables -F
/sbin/ipvsadm -C
/sbin/ipvsadm -A -t $VIP:80 -s rr #设置DR的VIP:端口和调度算法
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g #设置RS的VIP:端口以及LVS模式为DR模式
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g #设置RS的VIP:端口以及LVS模式为DR模式
/sbin/ipvsadm
;;
stop)
echo “stop LVS of DR”
echo "0" > /proc/sys/net/ipv4/ip_forward
/sbin/ipvsadm -C
/sbin/ifconfig eth0:0 down
;;
*)
echo :Usage:$0{start|stop}
exit 1
esac
3. 3 后端真实机安装应用
后端真实机脚本:
#!/bin/bash
#lvs script(dr mode)
VIP=10.20.73.30
. /etc/rc.d/init.d/functions
case "$1" in
start)
echo “start LVS of DR”
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up # lo:0上绑定VIP
/sbin/route add –host $VIP dev lo:0 #添加路由,凡是到VIP的路由都走lo:0
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore #禁用lo端口的arp功能
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce #禁用lo端口的arp通告功能
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore #禁用所有端口的arp功能
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce #禁用所有端口的arp通告功能
;;
stop)
echo “stop LVS of DR”
/sbin/ifconfig lo:0 down
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 :Usage:$0{start|stop}
exit 1
esac
注意:
1、另外一台RS只需将IP改为10.20.73.23即可。
2、chmod 755 /etc/init.d/ipvsdr
安装和启动服务:
Web01上安装http服务:yum install httpd && service httpd start
Web02上安装http服务:yum install httpd && service httpd start
3.4 测试
1、在DR服务器上,查看开启dr模式前的网卡情况:
2、开启DR服务,service ipvsdr start
3、在另外2台RS上开启ipvsdr服务
4、在client上进行测试,client的地址为10.20.73.27
测试前,调度器上没有任何连接:
测试:
for i in `seq 999`;do curl http://10.20.73.30;done
查看结果: