LVS原理及模式分析

1.LVS原理
1. 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间
2. PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链
3. IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP地址及端口,并将新的数据包发往POSTROUTING链
4. POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将数据包最终发送给后端的服务器
2.LVS有几种模式,你们用的哪一种
1)NAT模式(NAT)
LVS 服务器同时充当一台NAT 网关,拥有公有IP 
DR负责将针对此公共IP 的请求依据算法将请求转发给LAN 中的某台真实服务器(node) 
node 处理完成请求后将结果返回至LVS Server, 再由LVS Server 将结果返回给用户
可以将内部网络隐藏
2)IP隧道模式(TUN)
可以实现让集群中的节点处于不同网络段
3)直连路由模式(DR)
当参与集群的计算机和作为控制管理的计算机在同一个网段时可以使用此种方法。
控制管理的计算机接收到请求包时直接送到参与集群的node上。
当node 处理完请求后将直接把结果返还至用户而不通过LVS Server 返还。
DR的优势在于速度快、开销少。

3.DR模式的原理与特点
DR模式称之为直接路由模式,要求调度器和真实节点都有公网IP,都可以直接和客户端通信。
DR模式原理:
首先:客户端发出的数据包中
然后:当调度器收到这个数据包的以后,不会对源和目的IP进行修改,仅修改目的mac,然后发送。
最后:当真实服务器处理请求完成以后,会直接由真实服务器发送给客户端,不再经过调度器
调度器做了三件事:1、找真实主机。2、修改目的mac。3、将改写过的数据包发送给真实主机。

DR模式总结
调度器只修改目的mac,不会修改其他内容
请求的报文经过调度器,而RS响应后的报文无需经过LB,所以效率很高
因为DR模式是通过mac地址改写实现转发的,所以要求RS和LB只能在同一个局域网
要注意RS节点上需要绑定vip,并且arp抑制
RS节点的网关不需要指向调度器的DIP
缺点:调度器只能修改目的mac,不能修改端口
调度器支持unix、windows、客户端支持windows和linux、unix
DR模式效率高,但是相当配置复杂,所以在访问量不高的企业,建议使用haproxy或者nginx取代。

扩展:DR不修改目标IP,那么这个数据包是否能被真实服务器接收?

4.NAT模式的原理与特点
第一步:客户端发送请求,数据包的源的IP是 CIP,目的IP是 VIP
第二步:调度器收到请求后,会将数据包的目的IP改为 RIP,然后发送给一个真实主机
第三步:真实服务器返回数据包,源IP是RIP,目的IP是CIP,这个数据包会发送给调度器。
第四步:调度器收到这个应答数据包后,会修改数据包的源IP为VIP

NAT模式总结
请求的报文和应答的报文都会经过调度器,网站访问量大的时候,对调度器的压力较大,一般要求最多10-20太RS节点
调度器需需要两个网卡,分别接内网和外网
每台内部的RS节点的网关地址,必须要配成调度器LB的私有LAN内物理网卡地址
NAT支持对端口的转换
NAT的内部RS节点只需要配置私有地址
调度器上来回的数据都要经过,因此需要开启内核转发功能 
发布了16 篇原创文章 · 获赞 5 · 访问量 723

猜你喜欢

转载自blog.csdn.net/SKTONE_SHUAI/article/details/104192356