LVS四种模式原理和优缺点小结

LVS即Linux Virtual Server,是四层负载均衡软件,与nginx和haproxy等七层负载均衡不同的是,它只能实现数据包的转发和四层以下内容的修改,无法实现反向代理或者修改七层访问请求。
简单来说,LVS的结构主要分为两层,前端用于接收并调度用户请求,我们称之为Load Balance。用户请求在经过LB调度后,会被转发到不同的工作服务器上,这些真正提供服务的服务器被称为Real Server。在大部分场景下,Real Server间可能还需要共享存储,这个可以被称为第三层

名词解析
vs:virtual server
rs:real server 后面真实的服务器
director:调度器
balancer:负载均衡器

1.DR模式(直接路由)
DR模式性能最佳,但必须要求在一个vlan中。
数据包流向:client–>vs–>rs–> client
DR模式下收到客户端请求,lvs会将vs的mac地址修改为某一台rs的mac地址如数据帧流向所示,客户端请求由lvs接收,但返回的时候不经过lvs,而是直接向源ip返回,由真实服务器直接返回给用户。

优点:效率最高,负载均衡器只用分发请求,应答包通过单独的路由返回给客户端,提高了服务器并发能力。
缺点:负载均衡器的网卡必须和物理网卡在同一网段上

2.NAT模式(多目标DNAT)
NAT模式下收到客户端请求,lvs会做目的地址转换(DNAT),将目标ip改为rs的ip。rs接收到该数据包直接进行处理,返回响应时,目标ip即为cip,源ip即为rs的ip。然后,rs的数据包通过lvs中转,lvs进行源地址转换(SNAT),将数据包的源地址(rip)改为vip发送至客户端(rip不会直接响应cip),整个过程对于客户端来说是不可见的。

缺点:扩展性有限。高负载模式下,director可能成为瓶颈
优点:支持任意操作系统,节点服务器使用私有IP地址,与负载调度器位于同一个物理网络,安全性比DR模式和TUN模式要高。

3.TUNNEL(隧道)模式
隧道模式下,vs 收到客户端请求,封装数据包,使源 ip 成为 vip,目标 ip 成为
rip,当 rs 收到数据包时,进行解封装,还原数据包,处理后,利用 vip 发出响应
从 rip 所在的接口发出,直接达到客户端。

优点:实现了异地容灾,避免了一个机房故障导致网站无法访问。
缺点:RS配置复杂

4.FULLNAT模式
FULLNAT模式可以解决lvs和rs跨vlan的问题,从此lvs和rs不再存在vlan上的从属关系,可以作到多个lvs对应多个rs,解决水平扩容的问题。 其他三种模式不能横向扩展,因为必须在同一个vlan当中,决定了不能异地容灾,fullNAT在不同区域的主机提供负载均衡。

FULLNAT在NAT模式上做了如下改进:
在DNAT时,源地址从客户端的ip被替换成了lvs内网ip。而内网ip之间,可以通过多个交换机跨vlan通信。当rs返回经过处理的数据包时,会将这个数据包返回到lvs的内网ip上,此时lvs进行源地址转换(SNAT),把数据包的目的地址从lvs内网ip替换为客户端ip。


参考来源:https://blog.csdn.net/siyuexiangxian/article/details/78050243?utm_source=copy

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值