LVS三种模式的原理解析

ipvs (IP Virtual Server)实现了传输层负载均衡,也就是我们常说的4层 LAN 交换,作为 Linux 内核的一部分。 ipvs 运行在主机上,在真实服务器集群前充当负载均衡器。Ipvs具体实现是由ipvsadm这个程序(命令)来完成

一、DR(直接路由)模式

在这里插入图片描述


先回答环境的概况,然后是如何对请求进行响应,最后回答优缺点。

在DR模式中,调度器VS和RS在同一个VLAN中,VS和RS服务器组共用一个VIP,只有VS对客户端的ARP请求进行响应,而RS对自己本身IP的ARP请求DROP掉。

当客户端发来对VIP的请求时,VS会根据调度算法找出对应的RS,然后将数据链路层的帧的目的mac地址改成进行响应的RS的mac地址。并将请求分发给这台RS这时RS收到这个数据包,处理完成之后,由于目标IP地址一致,后端真实服务器直接将数据返给客户。
则等于RS直接从客户端收到这个数据包,处理后直接返回给客户端

优点:负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量
缺点:要求负载均衡器的网卡必须与物理网卡在一个物理段上。


二、NAT(网络地址转换)模式

在这里插入图片描述



原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址
并发至此RS来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包原IP地址改为自己的IP
将目的地址改为客户端IP地址。期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。

优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址
缺点:扩展性有限。当客户端请求数过多时,负载均衡器将成为整个系统的瓶颈因为所有的请求包和应答包的流向都经过负载均衡器。
当服务器节点过多时大量的数据包都交汇在负载均衡器那,速度就会变慢!


三、TUN(隧道模式)

在这里插入图片描述


调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个 IP报文中,再将封装后的IP报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为VIP的报文,服务器发现VIP地址被配置在本 地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户
所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量
这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。

缺点:隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持”IP Tunneling”
(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上

发布了114 篇原创文章 · 获赞 30 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_41476978/article/details/87946706