您的位置:首页 > 其它

LVS DR模式负载均衡配置

2015-11-29 23:33 681 查看

初始环境

lvs 192.168.142.148 hostname:LVS1
rs1 192.168.142.137 hostname:RS1 (nginx, 80端口,index.html 设置为<h1>rs1</h1>)
rs2 192.168.142.147 hostname:RS2 (nginx, 80端口,index.html 设置为<h1>rs2</h1>)
VIP 192.168.142.149 hostname:LVS1

LVS配置

LVS1上,安装ipvsadm
apt-get install ipvsadm
设置VIP 192.168.142.149
ifconfig eth0:1 192.168.142.149 netmask 255.255.255.0
清空ipvsadm原表内容
ipvsadm -C
添加地址
ipvsadm -A -t192.168.142.149:80 -s wrr
(-A添加地址,-t指定VIP和端口, -s调度算法,这里使用wrr算法,即加权轮训调度,它将依据不同RS的权值分配任务。权值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多。相同权值的RS得到相同数目的连接数)
查看表内容
ipvsadm -L -n
指定两台真实服务器(-r真实服务器ip及端口,-w权重值,-g先择DR模式)
ipvsadm -a -t192.168.142.149:80 -r 192.168.142.137:80 -g -w 1
ipvsadm -a -t192.168.142.149:80 -r 192.168.142.147:80 -g -w 1

realserver配置

进入指定文件夹
cd /etc/init.d/
编辑脚本文件:vim realserver
SNS_VIP=192.168.142.144
/etc/rc.d/init.d/functions
case "$1" in
start)
       ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
       /sbin/route add -host $SNS_VIP dev lo:0
       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
       sysctl -p >/dev/null 2>&1
       echo "RealServer Start OK"
       ;;
stop)
       ifconfig lo:0 down
       route del $SNS_VIP >/dev/null 2>&1
       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
保存脚本文件后更改该文件权限
chmod 755 realserver
开启realserver服务
service realserver start

至此,LVS负载均衡配置完成,可以访问192.168.142.149这个VIP查看效果。
如果要为LVS加上健康检查,可以通过shell脚本监控LVS后端realserver的状态增删ipvsadm表实现,见http://blog.csdn.net/aspnet_lyc/article/details/50063451
也可通过配置lvs+keepalive实现,与通过脚本实现健康检查相比,检查脚本访问后端服务器,需要指定超时时间,一旦出现问题,可能不会立即切换,造成用户访问失效。而keepalived更稳定,可以实现无缝切换。详情见http://blog.csdn.net/aspnet_lyc/article/details/49983009
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: