LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤

简介: LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤

一     LVS 负载均衡部署的模式

LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式)、VS/DR(路由模式)、VS/TUN(隧道模式)。

(一)三种模式原理  及优缺点

1,nat 模式

1.1 原理

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。

然后负载均衡器就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的工P地址(RIP)。

真实服务器响应完请查看默认路由,把响应后的数据包发送给负载均衡器,

负载均衡器在接收到响应包后,把包的源地址改成虚拟地址,(VIP)然后发送回给客户端。

1.2 优点

集群中的服务器可以使用任何支持TCP/IP的操作系统,只要负载均衡器有一个合法的IP地址。

1.3 缺点

扩展性有限,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,因此负载均衡器将成为整个系统的瓶颈

2, 直接路由模式

2.1 原理

首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。

然后负载均衡器就把客户端发送的请求数据包的目标MAC地址改成后端真实服务器的MAC地址(R-MAC)

真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。

2.2 优点

负载均衡器只负责将请求包分发给后端节点服务器,而RS将应包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。

2.3 缺点

需要负载均衡器与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局城网环境。

3, ip 隧道模式

首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。

然后负载均衡器就把客户端发送的请求报文封装一层IP隧道(T-IP)转发到真实服务器(RS)。

真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均器。

3.1 优点

负载均衡器只负责将请求包分发给后端节点服务器,而Rs将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。

且负载均衡服务器 和 真实服务器可以不在同一网段(一般用于跨地区的大型企业)

3.2 缺点

ip隧道要花钱买 成本高

(二) 简述三种模式区别

1,三种模式区别

NAT:       通过网络地址转换实现的虚拟服务器,大并发访问时,调度器的性能成为瓶颈使

DR:        用路由技术实现虚拟服务器,节点服务器需要配置VIP,注意MAC地址广播

TUN:     通过隧道方式实现虚拟服务器。

2, dr 和tun 区别

lvs 代理服务器(负载均衡服务器) 和真实服务器们 是否在同一网段

二    LVS 负载均衡部署dr 模式具体介绍

(一)架构图

(二) dr  模式两个问题  的解决

1,地址冲突问题

由以上架构图看到,调度服务器,真实服务器三台机器都配置同一个虚拟ip,这会导致ip冲突的问题。

解决方法: 设vip 虚拟地址 配在各自的虚口上lo 代理和真实都是一个地址

都配在 虚拟网卡回环口上

2,客户机 arp 广播 找虚拟地址 代理和真实都会回

解决完地址冲突问题后,客户机arp广播虚拟ip      所有真实服务器和代理服务器都会回

解决方法: 关掉真实服务器 的响应    

要关两个: 无故arp 普通arp

(三)dr 模式另一种思路

客户机 做静态arp

即在客户机做:将虚拟ip地址 和代理服务器的mac 地址绑定

这样客户机只会去找代理服务器了

弊端:要能碰到客户机  

三   实验 搭建dr 模式 LVS 代理服务器负载均衡

(一)实验环境

生产环境中客户机  是外网ip  假设已经经过转换成内网ip   以上是架构图

(二)55 代理服务器

1, 配置虚拟ip 地址

(代理服务器是真正要响应客户机的  所以虚拟ip 配在网卡上   真实服务器要把虚拟ip配置搭配lo回环网卡上)

2,写到  /etc/sysctl.conf   文件里

调整/proc响应参数  对于 DR 群集模式来说,由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭 Linux 内核的重定向参数响应服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能  

关闭路由转发

sysctl   -p   从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

4,   加载 ip_vs 内核模块

ip_vs 是内核模块的一个配置  是操作系统的一部分

modprobe 是把 ip_vs  配置加载到进程中

5,下载 lvs 软件

6,ipvsadm-save >/etc/sysconfig/ipvsadm

#保存配置文件        

再启动软件  否则会报错

7,先清空策略

指定 代理服务器的虚拟ip

8,  指定 两个真实服务器的 虚拟ip

#添加真实服务器-a  指定VIP地址及TCP端口-t   指定RIP地址及TCP端口 -r 指定DR模式-g

dr 模式不支持端口映射  如果将此处80端口改为  其他端口 还是会变成80端口

9,查看策略  是否生效

(三)77 真实服务器

1,安装http

2,  添加 虚拟ip  注意!此处要加在lo 回环网卡上  避免地址冲突

3,做网页

4,添加系统只响应目的IP为本地IP的ARP请求

   系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP

此处数字的意义:

0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求

1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求

2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内

5,启动 http

(四) 88 真实服务器

配置与77 服务器一致

systemctl stop firewalld
setenforce 0
 
yum install httpd -y
 
ifconfig lo:0 192.168.217.188/32
 
echo 88ziyuan   > /var/www/html/index.html
cat    /var/www/html/index.html
88ziyuan
 
vim /etc/sysctl.conf
 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
 
systemctl start httpd

(五)  客户机

访问虚拟ip  后   经过轮询    分别访问77和88真实服务器的内容

相关文章
|
2天前
|
运维 Kubernetes 负载均衡
Kuberntes部署MetalLB负载均衡器
Kuberntes部署MetalLB负载均衡器
12 1
|
22天前
|
负载均衡 运维 监控
负载均衡与容错性:集群模式在分布式系统中的应用
本文由小米分享,解释了分布式系统中的集群模式。集群模式是通过组合多个服务器节点,共同提供服务,实现高可用性、负载均衡和扩展性。文章介绍了主控节点的角色及其高可用性策略,如主备模式和选举机制,并以Zookeeper为例详细阐述了其工作机制。集群模式的优势在于高可用性、负载均衡、扩展性和数据一致性,但也面临节点通信、数据一致性、故障检测和管理等挑战。最后,作者鼓励读者讨论和交流相关技术问题。
177 5
|
24天前
|
Kubernetes 负载均衡 应用服务中间件
k8s 二进制安装 优化架构之 部署负载均衡,加入master02
k8s 二进制安装 优化架构之 部署负载均衡,加入master02
|
25天前
|
负载均衡 网络协议
NAT模式 LVS负载均衡部署
NAT模式 LVS负载均衡部署
|
1月前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
66 0
|
1月前
|
负载均衡 应用服务中间件 API
Nginx配置文件详解Nginx负载均衡Nginx静态配置Nginx反向代理
Nginx配置文件详解Nginx负载均衡Nginx静态配置Nginx反向代理
63 4
|
11天前
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
16 2
|
1月前
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了"http://"。修正方法是删除上游服务器列表和proxy_pass中的"http://"。问题解决后,Nginx服务应能正常启动。
96 4
解决nginx配置负载均衡时invalid host in upstream报错
|
1月前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
|
1月前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400(2)
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400(2)

热门文章

最新文章