负载均衡 LVS 工作模型(三)|学习笔记

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 快速学习负载均衡 LVS 工作模型

发者学堂课程【LVS 负载均衡实战负载均衡 LVS 工作模型学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/553/detail/7632


负载均衡 LVS 工作模型(三)


四、几种常见的 lvs 集群模式

lvs-nat 模式

lvs-nat :

本质是多目标IP的 DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和POR T实现转发

1.RIP 和 DIP 应在同一个IP网络(一般情况下位于同一个网络),且应使用私网地址;RS 的网关要指向 DIP(前提是位于同一个网段下)

2.请求报文和响应报文都必须经由 Director 转发,Director 易于成为系统瓶颈

3.支持端口映射,可修改请求报文的目标 PORT

4.LVS 必须是 Linux 系统,RS可以是任意OS系统

NAT 模式示意图:

image.png

NAT模式IP包调度过程

image.png

/**

当客户端发送的请求经过互联网到达lvs服务器后目标地*址VIP转换为目的地址RIP,因为支持端口映射,所以端口*也又原来的80转变为9000

经过交互机之后便到达了*web服务器,数据报文在返回时,又会被替换回去。

**/

LVS-DR 模式

LVS-DR :

Direct Routing,直接路由,LVS默认模式,应用最广泛,通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变

(1) Director和各RS都配置有VIP

(2)确保前端路由器将目标IP为VIP的请求报文发往Director

在前端网关做静态绑定VIP和口Director的MAC地址

在RS上使用arptables工具

arptables -A IN -d $VIP -j DROP

arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP

Rs上修改内核参数以限制arp通告及应答级/proc/sys/net/ipv4/conf/all/arp_ignore/proc/sys/net/ipv4/conf/all/arp_announce

(3)RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director

(4)RS和Director要在同一个物理网络

(5)请求报文要经由Director,但响应报文不经由Director,而由RS直接发往Client

(6)不支持端口映射(端口不能修败)(7 )RS可使用大多数OS系统

DR 模式辅助理解示意图:

image.png

/**

*DR模式的工作原理大致是这样的,在LVS上有两个地址,*一个是VIP,还有一个是DIP。客户端发送请求经过路由器,*进入到企业内部,首先到达LVS服务器,这时的LVS服务*器*在接受到请求之后并不做网络层的修改。这一点与我们之*前讲的NAT DNAT会进行地址替换又有所不同。

*路由器不会修改地址,在到达lvs服务器之后,lvs会根据*调度算法将其调度到一个机器上去。特别注意调度过程是*如何实现的:

原地址CIP XXXX 不变,目标地址 VIP 80仍*然不变,但是MAC地址变了,MAC地址由原先的MAClvs*变为了MACrs1

*当lvs通过广播寻找到它的MAC地址,但需要注意的是如*果使用了广播去寻找地址,那么LVS与ROUTE之间就只*能是交互机而不能是路由器。当然数据报文还是能够到达*后端的really server 的。

这时会出现新的问题,reall *server无法识别目标地址;解决方案是给每一台reall *server都配置一个RIP

回应数据包,原地址变成了vip 

*80 MACrs1,目标地址变为了CIP XXXXX MAC2

MAC2*是通过广播获得的。转出去后原地址变成了 VIP 80 MAC1,*目标地址变为了CIP XXX MACc。逻辑上比较复杂,但是*配置起来十分的简单。

同步请求:

客户端发送请求到达LVS*后到达RS,回应报文是第二次过程。实际上同步请求进行了

*两次操作。

**/

image.jpeg

//同一个网卡下的VIP CIP 下的MAC地址是同一个地址。

实际生产过程中的集群环境:

image.png

//总体上是一个多级调度的过程,比较典型的例子便是大众点评的调度设置。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
3月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
93 8
LVS+Keepalived 负载均衡
|
3月前
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
74 5
|
7月前
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
4月前
|
负载均衡 网络协议
使用LVS搭建集群实现负载均衡(二)安装使用
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡(二)安装使用
81 5
|
4月前
|
存储 负载均衡 算法
使用LVS搭建集群实现负载均衡(一)
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡
182 5
|
4月前
|
Kubernetes Linux API
在Linux中,LVS-DR模型的特性是什么?
在Linux中,LVS-DR模型的特性是什么?
|
4月前
|
负载均衡 算法 Linux
在Linux中,LVS-NAT模型的特性是什么?
在Linux中,LVS-NAT模型的特性是什么?
|
4月前
|
缓存 负载均衡 算法
在Linux中, LVS负载均衡有哪些策略?
在Linux中, LVS负载均衡有哪些策略?
|
5月前
|
负载均衡 网络协议 算法
使用IPVSADM配置LVS负载均衡
使用IPVSADM配置LVS负载均衡
|
7月前
|
负载均衡 网络协议
NAT模式 LVS负载均衡部署
NAT模式 LVS负载均衡部署