LVS
一、 lvs简介
二、 lvs集群体系结构
三、lvs集群的类型
3.1nat模式
3.2.nat模式数据逻辑
1. 客户端发送访问请求,请求数据包中含有请求来源( cip ),访问目标地址( VIP )访问目标端口( 9000port )2.VS 服务器接收到访问请求做 DNAT 把请求数据包中的目的地由 VIP 换成 RS 的 RIP 和相应端口3.RS1 相应请求,发送响应数据包,包中的相应保温为数据来源( RIP1 )响应目标( CIP )相应端口( 9000port )4.VS 服务器接收到响应数据包,改变包中的数据来源( RIP1-->VIP ) , 响应目标端口( 9000-->80 )5.VS 服务器把修改过报文的响应数据包回传给客户端6.lvs 的 NAT 模式接收和返回客户端数据包时都要经过 lvs 的调度机,所以 lvs 的调度机容易阻塞
客户请求到达 vip 后进入 PREROUTING, 在没有 ipvs 的时候因该进入本机 INPUT, 当 IPVS 存在后访问请求在通过 PREROUTING 后被 ipvs 结果并作 nat 转发因为 ipvs 的作用点是在 PREROUTING 和 INPUT 链之间,所以如果在 prerouting 中设定规则会干扰 ipvs 的工作。所以在做 lvs 时要把 iptables 的火墙策略全清理掉。
3.3.DR模式
3.3.1DR模式数据传输过程
1. 客户端发送数据帧给 vs 调度主机帧中内容为客户端 IP+ 客户端的 MAC+VIP+VIP 的 MAC2.VS 调度主机接收到数据帧后把帧中的 VIP 的 MAC 该为 RS1 的 MAC ,此时帧中的数据为客户端 IP+ 客户端的 MAC+VIP+RS1 的 MAC3.RS1 得到 2 中的数据包做出响应回传数据包,数据包中的内容为 VIP+RS1 的 MAC+ 客户端 IP+ 客户端 IP 的MAC
3.3.2.DR模式的特点
3.4LVS工作模式总结
3.5.lvs的调度算法
3.5.1.lvs调度算法类型
3.5.2.lvs静态调度算法
3.5.2.lvs动态调度算法
主要根据 RS 当前的负载状态及调度算法进行调度 Overhead=value 较小的 RS 会被调度1 、 LC : least connections (最少链接发)适用于长连接应用 Overhead (负载值) =activeconns (活动链接数) x 256+inactiveconns (非活动链接数)2 、 WLC : Weighted LC (权重最少链接)默认调度方法 Overhead=(activeconns x 256+inactiveconns)/weight3 、 SED :Shortest Expection Delay, 初始连接高权重优先 Overhead=(activeconns+1+inactiveconns) x 256/weight 但是,当 node1 的权重为 1 , node2 的权重为 10 ,经过运算前几次的调度都会被 node2 承接4 、 NQ : Never Queue ,第一轮均匀分配,后续 SED5 、 LBLC : Locality-Based LC ,动态的 DH 算法,使用场景:根据负载状态实现正向代理6 、 LBLCR : LBLC with Replication ,带复制功能的 LBLC ,解决 LBLC 负载不均衡问题,从负载重的复制到负载轻的 RS
四.lvs部署命令介绍
4.1.lvs软件相关信息
4.2.ipvsadm命令
管理集群服务ipvsadm-A|E-t ( tcp ) |u ( udp ) |f (防护墙标签) \service-address( 集群地址 )\[-sscheduler( 调度算法 )]\[-p[timeout]]\[-Mnetmask]\[--pepersistence_engine]\[-bsched-flags]ipvsadm-D-t|u|fservice-address 删除ipvsadm–C 清空ipvsadm–R 重载ipvsadm-S[-n] 保存管理集群中的 realserveripvsadm-a|e-t|u|fservice-address-rserver-address[-g|-i|-m]( 工作模式 )[-wweight]( 权重 )ipvsadm-d-t|u|fservice-address-rserver-address 删除 RSipvsadm-Z[-t|u|fservice-address]清楚计数器
4.3.lvs集群中的增删改
五.LVS部署
5.1部署DR模式
5.1.1.实验环境
主机 | ip | vip | 角色 |
---|---|---|---|
R3 | 192.168.10.200 | null | 测试 |
R4 | 192.168.10.100 192.168.6.100 | null | 路由器 |
R8 | 192.168.6.50 GATEWAY:192.168.6.100 | lo:192.168.6.200 | 调度器 |
R9 | 192.168.6.102 | lo:192.168.6.200 | web1 |
R10 | 192.168.6.101 | lo:192.168.6.200 | web2 |
配置实验环境
#在客户端主机中为nat模式网卡
5.1.2解决vip响应问题
5.1.3.配置详情
测试效果:
5.2部署NAT模式集群
主机 | ip | vip | 角色 |
---|---|---|---|
R3 | 192.168.10.200 | null | 测试 |
R4 | 192.168.6.100 | 192.168.10.100 | vs |
R9 | 192.168.6.102 GATEWAY:192.168.6.100 | null | web1 |
R10 | 192.168.6.101 GATEWAY:192.168.6.100 | null | web2 |
5.2.2.配置命令
六、总结
LVS - NAT(Network Address Translation)模式特点
- 工作原理:
- 在 NAT 模式下,客户端将请求发送到负载均衡器的公网 IP 地址。负载均衡器收到请求后,会改变请求数据包的目标 IP 地址(将其改为后端真实服务器的 IP 地址)和端口(如果需要的话),然后将数据包转发给后端真实服务器。真实服务器处理完请求后,将响应数据包发送回负载均衡器,负载均衡器再将响应数据包的源 IP 地址和端口转换回自己的公网 IP 地址和相应端口,最后将响应发送给客户端。
- 优点:
- 安全性较高:真实服务器的 IP 地址可以隐藏在负载均衡器之后,外部网络无法直接访问真实服务器,对真实服务器起到一定的保护作用。例如,在一些对服务器安全要求较高的场景中,如金融机构的内部服务系统,通过 NAT 模式可以减少真实服务器被直接攻击的风险。
- 对服务器的要求较低:真实服务器可以使用私有 IP 地址,无需配置公网 IP,这样可以节省公网 IP 资源,并且在服务器的网络配置上相对简单。
- 缺点:
- 性能瓶颈可能出现在负载均衡器上:因为所有的请求和响应数据包都需要经过负载均衡器进行地址转换,当请求流量较大时,负载均衡器的处理能力可能会成为系统的性能瓶颈。特别是在处理一些高并发的大数据量传输场景时,如视频流服务,可能会导致响应延迟增加。
- 不支持某些应用层协议:一些应用层协议可能会在 NAT 过程中出现问题,因为这些协议可能会在数据包中嵌入 IP 地址或端口信息,经过 NAT 转换后,这些信息可能会变得不准确,导致协议无法正常工作。
LVS - DR(Direct Routing)模式特点
- 工作原理:
- DR 模式是通过改写请求报文的 MAC 地址,将请求直接发送到真实服务器。客户端的请求数据包到达负载均衡器后,负载均衡器会将数据包中的目标 MAC 地址修改为选定的真实服务器的 MAC 地址,然后将数据包直接发送给真实服务器。真实服务器收到数据包后,由于其网络接口配置了虚拟 IP(VIP),它会认为这个请求是发送给自己的,然后进行处理。真实服务器处理完请求后,直接将响应数据包发送回客户端,不需要经过负载均衡器。
- 优点:
- 高性能:由于响应数据包不需要经过负载均衡器,大大减轻了负载均衡器的负担,能够处理更高的并发请求。在处理大量的 Web 访问请求时,DR 模式可以快速地将请求分发到真实服务器,提高系统的整体响应速度。
- 支持所有的网络应用:因为没有像 NAT 模式那样对 IP 地址和端口进行复杂的转换,所以 DR 模式对各种应用层协议都有很好的支持,几乎不会出现因为协议特性导致的问题。
- 缺点:
- 配置相对复杂:DR 模式要求真实服务器和负载均衡器在同一个物理网段,并且真实服务器需要配置虚拟 IP 地址,还需要对服务器的网络接口进行特殊的配置(如设置 ARP 抑制等),以确保正确接收和处理请求。这在一定程度上增加了系统的配置和维护难度。
- 安全性相对较弱:与 NAT 模式相比,DR 模式下真实服务器的 IP 地址是暴露在网络中的,可能会受到直接的网络攻击。不过可以通过其他网络安全措施(如防火墙等)来加强防护。
LVS - NAT 和 DR 模式的不同点
- 数据包流向不同:
- NAT 模式下,请求和响应数据包都要经过负载均衡器进行地址转换。而 DR 模式下,请求数据包经过负载均衡器修改 MAC 地址后直接发送到真实服务器,响应数据包直接从真实服务器发送回客户端,不经过负载均衡器。
- 性能表现不同:
- DR 模式的性能通常优于 NAT 模式。因为 NAT 模式下负载均衡器承担了大量的地址转换工作,在高并发场景下容易出现性能瓶颈;而 DR 模式减少了负载均衡器的负担,能更好地应对高并发请求。
- 服务器配置不同:
- NAT 模式下,真实服务器可以使用私有 IP 地址,配置相对简单。DR 模式下,真实服务器需要和负载均衡器在同一网段,并且要配置虚拟 IP 地址,还需要进行一些特殊的网络配置,相对复杂。
- 安全性不同:
- NAT 模式安全性较高,能隐藏真实服务器 IP 地址。DR 模式安全性相对较弱,真实服务器 IP 地址暴露,但可以通过其他安全措施来弥补。
原文地址:https://blog.csdn.net/weixin_71016778/article/details/143770823
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!