今天小编讲的是负载均衡集群企业级应用实战:LVS-DR模式,老高大上了,废话不多说,全是干货:
实验准备:
环境:三台centos ,一台centos系统做DR,俩台基于lnmp的电子商务网站
准备:
机器名称 | IP配置 | 服务角色 | 备注 | ||
Lvs-server |
| 负载均衡器 | 开启路由功能 | ||
Rs01:lnmp-server01 | RIP:172.17.252.233 Lo:VIP:172.17.252.102 | 后台服务器 | 网关指向DIP(桥接) | ||
RS02:lnmp-server02 | RIP:172.17.252.165 Lo:VIP:172.17.252.102 | 后台服务器 | 网关指向DIP(桥接) |
注:VIP:172.17.252.102是我们自己配置的虚拟IP,此外VIP还要配置到本地的虚拟网卡上,需要响应客户端
步骤:
一 Lvs-server配置:
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 清空防火墙策略,关闭selinux
二 配置基于DR模式的LVS负载均衡集群:
Lvs-server配置:
- 配置VIP到本地网卡别名:ifconfig eth0:0 172.17.252.102 broadcast 172.17.252.102 netmask 255.255.255.255 up
#配置VIP到本地网卡eth0:0上(有的机器是ens2),并只广播自己
- 配置VIP路由:route add -host 172.17.252.102 dev eth0:0
- 开启一个基于80端口的虚拟服务,调度方式为wrr:ipvsadm -A -t 172.17.252.102:80 -s wrr
如果之前配过要清空:ipvsadm -C
查看:ipvasdm -L -n
- 配置web服务后端real server 为DR工作方式 权重为1:ipvsadm -a -t 172.17.252.102:80 -r 172.17.252.233:80 -g -w 1
- 配置web服务后端real server 为DR工作方式 权重为1:ipvsadm -a -t 172.17.252.102:80 -r 172.17.252.165:80 -g -w 1
- 修改内核配置,开启路由转发:vim /etc/sysctl.conf
修改 net.ipv4.ip_forward=1
使其生效:sysctl -p
real server配置
- 配置VIP到本地回环网卡lo上,并只广播自己:ifconfig lo:0 172.17.252.102 broadcast 172.17.252.102 netmask 255.255.255.255 up
- 配置本地回环网卡路由: route add -host 172.17.251.102 lo:0
- 设置1只回答目标IP地址是来访网络接口本地地址的ARP查询请求:echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
- 设置2对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址(忽略IPMAC地址正确也可以响应):
echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
- 关闭arp应答
设置
1: 仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应
2:必须避免将接口信息向非本网络进行通告
echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
- 开启web、php-fpm、mysql服务
三、LVS集群部署和效果验证
1、可分别在rs1和rs2建立2个不同内容,统一路径的test.html测试文件,测试负载均衡功能
2、打开http://VIP/index.php ,并在director上用ipvsadm -L -n观察访问连接
3、用另外一台测试机,用ab压力测试工具,测试经过负载均衡后的服务器容量