目录
访问流程:CIP <--> VIP == DIP <--> RIP
对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。
集群Cluster
分布式
集群和分布式
LVS 相关术语
LVS概念
访问流程:CIP <--> VIP == DIP <--> RIP
lvs集群的类型
DR 模式
对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。
* 负载各节点服务器通过本地网络连接,不需要建立专用的IP隧道
原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标MAC地址改成后端真实服务器的MAC地址(R-MAC)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。
优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。
缺点:需要负载均衡器与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。
NAT模式:
原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP)。真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。
优点:集群中的服务器可以使用任何支持TCP/IP的操作系统,只要负载均衡器有一个合法的IP地址。
缺点:扩展性有限,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,因此负载均衡器将成为整个系统的瓶颈
两者的区别:
DR模式不使用调度器为公司网关,而是路由设备,调度器只是分配访问的请求任务而回应的web页面,不经过调度器,直接通过网络设备回应,不容易造成阻塞而且所有节点都使用VIP地址。
在nat模式群集中,LSV负载均衡调度器是所有节点的访问internet的网关服务器其外网口地址也最为整个群集的VIP地址,调度器是整个公司网关任何请求都要经过调度器,包括回应的。
配置nat模式
systemctl disable --now firewalld
systemctl mask firewalld
首先给lsv配置两块网卡一个是nat 一个是仅主机,
将nat模式和仅主机模式设置好子网ip和子网掩码
配置lsv rs1和rs2和IP
设置lsv的nat网卡为172.25.254.100 仅主机的网卡为192.168.0.100
rs1为仅主机模式192.168.0.10
rs2为仅主机模式192.168.0.20
接着在lsv中下载ipvsadm 在rs1和rs2中下载httpd 记得启动 systemctl retart httpd
首先配置lsv
在配置好IP后编辑vim /etc/NetworkManager/system-connections/eth1.nmconnection
vim /etc/NetworkManager/system-connections/eth1.nmconnection
[connection]
id=eth1
type=ethernet
interface-name=eth1
[ipv4]
address1=192.168.0.100/24
method=manual
dns=114.114.114.114;
启动一定要记得不然网关没变
nmcli connection reload
nmcli connection up eth1
因为eth1是仅主机模式所以删除ip后面的网关 dns可删可不删(不影响)
rs1和rs2 配置vim /etc/NetworkManager/system-connections/eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0
[ipv4]
address1=192.168.0.10/24,192.168.0.100
method=manual
启动一定要记得不然网关没变
nmcli connection reload
nmcli connection up eth0
因为网关=dip所有在IP后面加上dip
查看一下检查一下三台虚拟机
在lsv主机查看内核将其打开
sysctl -a |grep ip_forward
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_update_priority = 1
net.ipv4.ip_forward_use_pmtu = 0
vim /etc/sysctl.conf
在lsv中 yum install ipvsadm -y
在lsv中增加调度celue
ipvsadm -Ln # 查看策略
cat /etc/sysconfig/ipvsadm-config # 查看策略主配置文件内容
[root@apache ~]# ipvsadm -A -t 172.25.254.150:80 -s rr
# -A:增加虚拟server -t:指定TCP协议 -s:指定调度算法
# 172.25.254.150:80 访问该地址的80端口时调用策略
[root@apache ~]# ipvsadm -a -t 172.25.254.150:80 -r 192.168.0.10:80 -m
[root@apache ~]# ipvsadm -a -t 172.25.254.150:80 -r 192.168.0.20:80 -m
# -a:增加realserver -r:realserver地址 -m:nat模式
在rs1和rs2中安装apache
yum install httpd -y
增加测试内容rs1和rs2都做
echo webserver1 - 192.168.0.10 > /var/www/html/index.html
systemctl enable --now httpd 启动apache
在lsv中进行测试
DR模式
配置环境需要五台主机 ip配置如图上 router需要两块网卡
网卡配置
后面的lsv rs1和rs2主机是仅主机模式所以要记得设置
配置网关先从内网开始
对lsv rs1和rs2设置 三个虚拟机机都要这样设置
[root@LSV ol]# nmcli connection reload
[root@LSV ol]# nmcli connection up eth0
启动!
route -n 查看一下
记得在lsv中下载ipvsadm 不然不能设置
[root@LSV ~]# yum install ipvadm -y
在配置router 进入其中
eth1网卡是仅主机模式所以要将nat模式下的网关删掉 启动
vim /etc/sysctl.conf 编辑这个文件打开内核
接着配置client
更改网关将其设置为与路由器相连的那一端的ip
记得启动
接着配置rs1和rs2中在RS1和RS2中解决响应问题
在lvs中配置策略
echo webserver1 - 192.168.0.10 > /var/www/html/index.html
给rs1和rs2设置方便看效果
最后给lsv和rs1 rs2设置VIP 利用回环
防火墙标签解决轮询错误
![](https://i-blog.csdnimg.cn/direct/53993c5165504fba84a7a774cdf66d4f.png)
![](https://i-blog.csdnimg.cn/direct/de4b01ba30594f96adf7da41d5883d0c.png)
[root@node10 ~]# curl http://192.168.0.100;curl -k https://192.168.0.100
RS1 server - 192.168.0.10 RS1 server - 192.168.0.10
当访问vip时两次调度都到了
解决:给防火墙打标识
命令格式
![](https://i-blog.csdnimg.cn/direct/fdf04f11ca7a4ab093ca55e3e32108d4.png)
![](https://i-blog.csdnimg.cn/direct/25ee957768984c9d8849342f0721530c.png)
![](https://i-blog.csdnimg.cn/direct/3befc59647694557a3ef1e8f15cf1680.png)