实现LVS-DR工作模式:
环境准备:一台centos系统做DR、两台实现过基于LNMP的电子商务网站
机器名称 | IP配置 | 服务角色 | 备注 |
lvs-server | VIP:172.17.252.110 DIP:172.17.250.223 | 负载均衡器 | 开启路由功能 (VIP桥接) |
rs01 | RIP:172.17.251.245 | 后端服务器 | 网关指向DIP(桥接) |
rs02 | RIP:172.17.252.87 | 后端服务器 | 网关指向DIP(桥接) |
实验步骤:
一、安装:
1.yum install ipvsadm -y #在LVS-server安装lvs管理软件
2、grep -i -C 10 "ipvs" /boot/config-VERSION-RELEASE.x86_64 #查看内核是否支持ipvs模块
3、iptables -F && setenforing 0 #清空防火墙策略,关闭selinux
二、配置DR模式的LVS负载均衡集群:
lvs-server配置:
1、配置VIP到本地网卡别名 ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up #配置VIP到本地网卡eth0:0上,并只广播自己 route add -host $vip dev eth0:0 #配置VIP路由 2、ipvsadm -A -t 172.17.252.110:80 -s wrr #开启一个基于80端口的虚拟服务,调度方式为wrr 3、ipvsadm -a -t 172.17.252.110:80 -r 172.17.251.245:80 -g -w 1 #配置web服务后端real server 为DR工作方式 权重为1 4、ipvsadm -a -t 172.17.252.110:80 -r 172.17.252.87:80 -g -w 1 #配置web服务后端real server 为DR工作方式 权重为1 5、修改内核配置,开启路由转发 #vim /etc/sysctl.conf 修改 net.ipv4.ip_forward=1 #sysctl -p 使其生效
real server配置
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up #配置VIP到本地回环网卡lo上,并只广播自己 route add -host $vip lo:0 #配置本地回环网卡路由 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore #1 只回答目标IP地址是来访网络接口本地地址的ARP查询请求 echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce #2 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
开启web、php-fpm、mysql服务
三、测试
1、可分别在rs1和rs2建立2个不同内容,统一路径的test.html测试文件,测试负载均衡功能
2、打开http://VIP/index.php,并在director上用ipvsadm -L -n观察访问连接
3、用另外一台测试机,用ab压力测试工具,测试经过负载均衡后的服务器容量
本文出自 “Mozart” 博客,转载请与作者联系!
原文地址:http://mozart.blog.51cto.com/13286673/1981399