WEB服务器搭建LVS负载均衡集群之DR方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WEB服务器搭建LVS负载均衡集群之DR方式相关的知识,希望对你有一定的参考价值。

一、DR模式

技术图片

技术图片

二、实验环境
实验目的:利用lVS实现网站的高并发架构
三台CentOS-7.5虚拟机
lVS负载均衡器:10.0.11.205 VIP: 10.0.11.210
web-1(real_server1):10.0.11.203
web-2(real_server2):10.0.11.204
VIP(虚拟IP): 10.0.11.210
三台服务器均关闭:防火墙+selinux
三台服务器均可以上外网
Client为自己的笔记本电脑:10.0.11.53
Web类型:nginx

三、lVS-DR实战
3.1 lVS准备VIP和路由
1)添加VIP
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ip addr show #查看LVS服务器的真实IP
技术图片

LVS虚拟网卡设置,因为是临时设置IP,重启网卡设置将会丢失
说明:因为Centos 7 不安装net-lools 工具是不能使用ifconfig 命令的,建议先安装yum install net-tools工具
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# yum install net-tools #安装net-tools工具
[root@CentOS-3 ~]# rpm -q net-tools
net-tools-2.0-0.25.20131004git.el7.x86_64
[root@CentOS-3 ~]#
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ifconfig ens32:1 10.0.11.210 broadcast 10.0.11.255 netmask 255.255.255.0 up #使用ifconfig命令临时添加虚IP:10.0.11.210
[root@CentOS-3 ~]#
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ifconfig #查看当前网卡状况
技术图片

2)配置路由
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# route add -host 10.0.11.210 dev ens32:1
[root@CentOS-3 ~]#

3)配置路由转发功能
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# vim /etc/sysctl.conf
#加入以下四行内容即可
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.ens32.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
技术图片
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# cat /etc/sysctl.conf #查看修改好的配置文件
技术图片

3.2 LVS设置路由条目
设置apvsadm

1)安装LVS软件包
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# yum install ipvsadm 安装LVS
[root@CentOS-3 ~]# rpm -qa ipvsadm
ipvsadm-1.27-7.el7.x86_64
[root@CentOS-3 ~]#
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ipvsadm -C #清除记录表,这个命令一般不用
[root@CentOS-3 ~]# ipvsadm -L #查看LVS情况
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@CentOS-3 ~]#

2)设置apvsadm
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ipvsadm -A -t 10.0.11.210:80 -s rr #添加虚拟服务器10.0.11.210,80端口,指定调度策略为rr,协议为tcp
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ipvsadm -a -t 10.0.11.210:80 -r 10.0.11.203:80 -g #其中-r表示真实服务器,-g表示全局
[root@CentOS-3 ~]# ipvsadm -a -t 10.0.11.210:80 -r 10.0.11.204:80 -g
[root@CentOS-3 ~]#
技术图片
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ipvsadm -L #再次查看LVS策略
技术图片

3)设置“ipvsadm配置”永久生效
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ipvsadm-save > /etc/sysconfig/ipvsadm #让配置永久生效
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# systemctl enable ipvsadm #设置LVS程序开机启动

3.3 准备两个web
安装web服务
real_server-1端:
[root@CentOS ~]#
[root@CentOS ~]# yum install nginx #安装nginx网站服务
[root@CentOS ~]# rpm -q nginx
nginx-1.16.1-1.el7.x86_64
[root@CentOS ~]#
[root@CentOS ~]#
[root@CentOS ~]# > /usr/share/nginx/html/index.html #清空原配置内容
[root@CentOS ~]#
[root@CentOS ~]# vim /usr/share/nginx/html/index.html #写入自定义配置
[root@CentOS ~]# cat /usr/share/nginx/html/index.html #查看写入的内容
real_server-1:10.0.11.203
[root@CentOS ~]#
[root@CentOS ~]# systemctl start nginx #启动nginx服务
[root@CentOS ~]# systemctl enable nginx #设置nginx开机自启动
技术图片

real_server-2端:
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# yum install nginx #安装nginx网站服务
[root@CentOS-2 ~]# vim /usr/share/nginx/html/index.html #写入自定义配置
[root@CentOS-2 ~]# cat /usr/share/nginx/html/index.html #查看写入的内容
real_server-2:10.0.11.204
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# systemctl start nginx #启动nginx服务
[root@CentOS-2 ~]# systemctl enable nginx #设置nginx开机自启动
技术图片

3.4 给两台web服务器的lo网卡设置子网掩码为32位VIP
real_server-1端:
[root@CentOS ~]#
[root@CentOS ~]# ifconfig lo:1 10.0.11.210/32
[root@CentOS ~]#
[root@CentOS ~]# ifconfig
技术图片

real_server-2端:
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# ifconfig lo:1 10.0.11.210/32
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# ifconfig
技术图片

3.5 给两个web服务器设置内核参数
real_server-1端:
[root@CentOS ~]#
[root@CentOS ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #忽略arp响应,不允许收
[root@CentOS ~]#
[root@CentOS ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #为了让VIP发包出去,但允许发
[root@CentOS ~]#

real_server-2端:
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@CentOS-2 ~]#
[root@CentOS-2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@CentOS-2 ~]#

3.6 客户端测试
1)访问网站
技术图片

2)ipvsadm状态测试
[root@CentOS-3 ~]#
[root@CentOS-3 ~]# ipvsadm –Lnc #查看状态
技术图片

结论:利用LVS-DR成功实现了两台WEB服务器之间的负载均衡

以上是关于WEB服务器搭建LVS负载均衡集群之DR方式的主要内容,如果未能解决你的问题,请参考以下文章

负载均衡集群之——LVS-DR的部署

Web服务器群集——企业级调度器LVS(LVS-NAT,LVS-DR负载均衡集群配置)

使用LVS+DR搭建集群实现负载均衡

lvs负载均衡群集搭建(DR)

linux集群系列 --- LVS之负载均衡集群DR实例

LVS负载均衡群集部署——DR模式的介绍及搭建步骤