作者:手机用户2502922415_737 | 来源:互联网 | 2023-09-25 23:39
LVS 原理 一、概述
LVS 的 IP 负载均衡技术是通过 IPVS 模块来实现的,IPVS 是 LVS 集群系统的核心软件,它的主要作用是:安装在 Director Server 上,同时在 Director Server 上虚拟出一个 IP 地址,用户必须通过这个虚拟的 IP 地址访问服务器。这个虚拟 IP 一般称为 LVS 的 VIP,即 Virtual IP。
访问的请求首先经过 VIP 到达负载调度器,然后由负载调度器从 Real Server 列表中选取一个服务节点响应用户的请求。 在用户的请求到达负载调度器后,调度器如何将请求发送到提供服务的 Real Server 节点,而 Real Server 节点如何返回数据给用户,是 IPVS 实现的重点技术。
二、LVS NAT 模式
客户端将请求发往前端的负载均衡器,请求报文源地址是 CIP(客户端 IP),目标地址为 VIP(负载均衡器前端地址)。 负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的目标地址改为了后端服务器的 RIP 地址并将报文根据算法发送出去。 报文送到 Real Server 后,由于报文的目标地址是自己,所以会响应该请求,并将响应报文返还给 LVS。 然后 lvs 将此报文的源地址修改为本机并发送给客户端。 在 NAT 模式中,Real Server 的网关必须指向 LVS,否则报文无法送达客户端
三、LVS DR 模式(局域网改写 mac 地址)
客户端将请求发往前端的负载均衡器,请求报文源地址是 CIP,目标地址为 VIP。 负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将客户端请求报文的源MAC 地址改为自己 DIP 的 MAC 地址,目标 MAC 改为了 RIP 的 MAC 地址,并将此包发送给 RS。 RS 发现请求报文中的目的 MAC 是自己,就会将次报文接收下来,处理完请求报文后,将响应报文通过 lo 接口送给 eth0 网卡直接发送给客户端。 四、LVS TUN 模式(IP 封装、跨网段)
客户端将请求发往前端的负载均衡器,请求报文源地址是 CIP,目标地址为 VIP。 负载均衡器收到报文后,发现请求的是在规则里面存在的地址,那么它将在客户端请求报文的首部再封装一层 IP 报文,将源地址改为 DIP,目标地址改为 RIP,并将此包发送给 RS。 RS 收到请求报文后,会首先拆开第一层封装,然后发现里面还有一层 IP 首部的目标地址是自己lo 接口上的 VIP,所以会处理次请求报文,并将响应报文通过 lo 接口送给 eth0 网卡直接发送给客户端。
五、LVS总结
NAT 模式的缺点:扩展性有限。当服务器节点(普通 PC 服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因 为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇 在负载均衡器那,速度就会变慢。 TUN 模式的缺点:隧道模式的 RS 节点需要合法 IP,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,服务器可能只局限在部分 Linux 系统上。 DR 模式的缺点:所有 RS 节点和调度器 LB 只能在一个局域网里面 我们通常推荐使用的是DR模式 。