【实验】NAT模式LVS负载均衡集群部署

一、架构图

在这里插入图片描述

客户端:win7/10,ip:12.0.0.200
LVS负载均衡器:centos7,ip:ens33为192.168.41.43,ens36为12.0.0.254
apache服务器:centos7,ip:192.168.41.44:80
nginx服务器:centos7,ip:192.168.41.45:80
NFS:centos7,ip:192.168.41.46

作用:
客户端:访问测试
LVS:根据访问策略合理的将请求分配给Web服务器集群的各服务器
apache、nginx:搭建站点,提供页面访问服务
NFS:提供Web服务的访问页面文件

二、工作原理分析

请求:客户端➡负载均衡器➡Web集群
回应:Web集群➡负载均衡器➡客户端

客户端发起访问请求到服务器端网关,此时的服务器端网关就是负载均衡器,由网关转发到Web服务器集群,Web服务器根据NFS共享的目录进行页面的访问;然后Web服务器将回应的报文交给网关,由网关再返回给客户端。

NAT模式下的负载均衡器承担的流量压力非常大,因为它既要承担请求的流量,也要承担返回的流量,当Web服务器集群中的服务器过多时,NAT模式的负载均衡器就会因为流量过大而吃不消。

三、实践

1.NFS服务器配置

1.创建共享目录及访问文件
mkdir /share    #创建共享目录
cd /share
mkdir apache nginx   #创建每个web服务器的访问路径目录
echo "this is apache server" > /share/apache/index.html   #创建apache的访问页面
echo "this is nginx server" > /share/nginx/index.html   #创建nginx的访问页面
-----------------------------------------------------------------------------------------------
2.共享目录配置
vim /etc/exports   ###网段根据自己的实际情况进行配置
/share/apache/ 192.168.41.0/24(rw,sync,no_root_squash)
/share/nginx/  192.168.41.0/24(rw,sync,no_root_squash)
---------------------------------------------------------------------------------------------------------
3.开启rpcbind和nfs服务
systemctl start rpcbind
systemctl start nfs
systemctl status rpcbind   #查看rpcbind服务状态,可做可不做
systemctl status nfs   #查看nfs服务状态,可做可不做
------------------------------------------------------------------------------------------------
4.查看共享目录信息
showmount -e 192.168.41.46   
#在nfs服务器和各Web服务器分别查看,如果没有,则需要检查防火墙关没关,或者nfs和rpcbind服务起没起来
------------------------------------------------------------------------------------------------------------------
5.如果showmount -e 192.168.41.46 有共享目录信息,则nfs服务器搭建成功;如果没有,检查防火墙关没关,或者nfs和rpcbind服务起没起来

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.Web(apache、nginx)部署配置

1.部署安装apache和nginx
yum install -y httpd     #44服务器安装apache
yum install -y epel-release     #45服务器安装nginx,yum网络源安装nginx需要先安装epel源,才能进行nginx的网络源安装
yum install -y nginx
-------------------------------------------------------------------------------------------------------
2.将共享目录挂载到各Web服务器的访问路径下
mount 192.168.41.46:/share/nginx/ /usr/share/nginx/html   #45挂载共享目录的nginx目录
mount 192.168.41.46:/share/apache/ /var/www/html/   #44挂载共享目录的apache目录
--------------------------------------------------------------------------------------------------
3.开启服务
systemctl start httpd   #44开启服务
systemctl start nginx   #45开启服务
---------------------------------------------------------------------------------------------------------
4.访问测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.负载均衡器配置

1.加载ipvs模块
modprobe ip_vs
--------------------------------------------------------------------------------------------------------------------
2.安装ipvsadm
yum install -y ipvsadm
-------------------------------------------------------------------------------------------------------------
3.修改/etc/sysctl.conf文件
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1   #添加参数,该参数为转发流量
sysctl -p    #加载文件
--------------------------------------------------------------------------------------------------------------
4.新添加一块物理网卡,将IP设为12.0.0.254
1)我的第二张网卡设备名是ens36,但其他人可能就是别的比如ens37等等,使用 ifconfig -a 查看即可
2)在添加完毕后,我们重启网络服务,查看第二章网卡名,然后可以选择永久配置IP(新建ifcfg-ens36文件进行配置),或者使用ifconfig ens36 XXXX/24 进行临时配置(临时配置在重启服务器或网卡服务时会失效)
这里我就临时配置IP进行操作
ifconfig -a   #查看第二张网卡名
ifconfig ens36 12.0.0.254/24   #ens36配置临时地址
ifconfig		#查看网卡信息
-----------------------------------------------------------------------------------------------------------
5.ipvsadm配置
ipvsadm-save > /etc/sysconfig/ipvsadm   #创建ipvsadm文件,让ipvsadm先能运行起来
systemctl start ipvsadm   #开启ipvsadm服务
ipvsadm -C   #清除默认规则
ipvsadm -A -t 12.0.0.254:80 -s rr -p 1
#-A是新建一个集群,-t是允许集群服务使用的传输协议为TCP,12.0.0.254:80是集群服务地址,-s rr 是指定集群服务使用的调度算法为轮询,-p指定超时时间
ipvsadm -a -t 12.0.0.254:80 -r 192.168.41.44:80 -m
#-a表示添加一条策略,-t允许集群服务使用的传输协议为TCP,后跟 集群服务地址, -r指定真实服务器地址,后跟真实服务器地址 -m指定nat模式
ipvsadm -a -t 12.0.0.254:80 -r 192.168.41.45:80 -m
#和上面一样
ipvsadm -ln   #查看策略
ipvsadm-save > /etc/sysconfig/ipvsadm   #保存策略
ipvsadm   #加载策略
-----------------------------------------------------------------------------------------------------
6.iptables配置(因为我们采用的是NAT模式,所以在回包的时候需要设置SNAT源地址转换,将内部的ip转为公网ip)
iptables -F   #清空原有策略
iptables -t nat -A POSTROUTING -o ens36 -s 192.168.41.0/24 -j SNAT --to 12.0.0.254
#SNAT转换
iptables -t nat -nL   #查看nat表策略
-----------------------------------------------------------------------------------------------------
7.设置nginx和apche服务器的网关地址为负载均衡器IP地址
编辑nginx和apache服务器的ens33网卡文件,将GATEWAY改为负载均衡器IP地址然后重启网络服务即可,就不多解释了
--------------------------------------------------------------------------------------------------
结束

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、总结

  1. NFS服务器共享目录要挂载正确

  2. apache、nginx可以通过yum安装,也可以自行编译安装;需要注意两种安装方式的访问路径位置

  3. LVS负载均衡器需要安装ipvsadm服务,同时注意ipvsadm的启动前有ipvsadm文件,可以ipvsadm-save > /etc/sysconfig/ipvsadm 来创建一个ipvsadm文件

  4. 建议在安装ipvsadm之前,使用modprobe ip_vs先加载ipvs模块

  5. ipvsadm的策略配置要细心

  6. web服务器的网关要改成LVS的IP地址

猜你喜欢

转载自blog.csdn.net/qq_40707090/article/details/124764104