大家好,欢迎来到IT知识分享网。
目录
2.加权轮询调度算法(Weighted Round Robin, WRR)
3.最小连接调度算法(Least Connections, LC)
4.加权最小连接调度算法(Weighted Least Connections, WLC)
5.基于局部性的最少链接调度算法(Locality-Based Least Connections, LBLC)
6.带复制的基于局部性最少链接调度算法(Locality-Based Least Connections with Replication, LBLCR)
7.目标地址散列调度算法(Destination Hashing, DH)
8.源地址散列调度算法(Source Hashing, SH)
9.最短的期望延迟调度算法(Shortest Expected Delay Scheduling, SED)
10.无需队列调度算法(Never Queue Scheduling, NQ)
一、LVS简介
LVS(Linux Virtual Server)是一种基于Linux的高性能虚拟服务器集群系统,主要用于实现负载均衡。LVS通过Linux内核中的IPVS模块实现了基于IP负载均衡的功能,能够将来自网络的请求分配给后端的多个服务器,从而提供高可用性和伸缩性。这种技术在处理大规模网络请求时尤其有用,例如大型网站和在线服务,能够有效防止单点故障并提升服务的可靠性和性能。LVS的工作原理可以简要概括为“请求分发”和“响应返回”两个主要环节。当用户请求发送至LVS虚拟IP地址(VIP)时,LVS调度器会根据预设的算法(如轮询、最少连接等)决定将请求发送至哪一台后端服务器。后端服务器处理完请求后,将响应数据直接返回给用户,从而完成整个请求-响应流程。
LVS具有多种工作模式,主要包括NAT(网络地址转换)模式、DR(直接路由)模式和TUN(隧道)模式。每种模式都有其特定的应用场景和优缺点:
二、LVS三种工作模式详解
1.NAT模式
2.TUN模式
3.DR模式
三、LVS负载均衡调度算法
根据前面的介绍,我们了解了LVS的三种工作模式,但不管实际环境中采用的是哪种模式,调度算法进行调度的策略与算法都是LVS的核心技术,LVS在内核中主要实现了一下十种调度算法。LVS的10大调度算法包括轮询调度算法、加权轮询调度算法、最小连接调度算法、加权最小连接调度算法、基于局部性的最少链接调度算法、带复制的基于局部性最少链接调度算法、目标地址散列调度算法、源地址散列调度算法、最短的期望延迟调度算法和无需队列调度算法。这些算法各有其特点和应用场景,具体如下:
1.轮询调度算法(Round Robin, RR)
该算法按顺序将请求依次分配给每台服务器,假设每台服务器的处理能力相同,从而实现请求的平均分配。
2.加权轮询调度算法(Weighted Round Robin, WRR)
该算法在轮询的基础上增加了权重的概念,根据各台服务器的处理能力不同给予不同的权重,处理能力强的服务器分配更多的请求。
3.最小连接调度算法(Least Connections, LC)
该算法将新请求分配给当前连接数最少的服务器,适用于服务器性能相近的环境。
4.加权最小连接调度算法(Weighted Least Connections, WLC)
结合了最小连接和权重,按照服务器的连接数和权重进行综合考量,权重高的服务器处理更多连接。
5.基于局部性的最少链接调度算法(Locality-Based Least Connections, LBLC)
该算法主要用于Cache集群系统,根据请求的目标IP找出最近使用的服务器,如果该服务器可用且未超载则分配请求。
6.带复制的基于局部性最少链接调度算法(Locality-Based Least Connections with Replication, LBLCR)
该算法维护一个目标IP到一组服务器的映射,并按最小连接原则从服务器组中选择一台未超载的服务器处理请求。
7.目标地址散列调度算法(Destination Hashing, DH)
该算法使用请求的目标IP地址作为散列键,从静态分配的散列表中找到对应的服务器。
8.源地址散列调度算法(Source Hashing, SH)
该算法使用请求的源IP地址作为散列键,同样从静态分配的散列表中找到对应的服务器。
9.最短的期望延迟调度算法(Shortest Expected Delay Scheduling, SED)
该算法基于WLC算法,通过计算每个服务器的响应时间估计值来分配请求,旨在减少请求的总体响应时间。
10.无需队列调度算法(Never Queue Scheduling, NQ)
该算法直接将请求分配给当前连接数为零的服务器,从而避免排队延迟。
四、LVS实战案例
1.部署NAT模式案例
1.1实验环境
| 主机名 | ip | vip | 模式 |
| lvs | 172.25.254.100 | 192.168.5.100 | NAT、仅主机 |
| server1 | 172.25.254.10 | null | 仅主机 |
| server2 | 172.25.254.20 | null | 仅主机 |
lvs网络配置
server1网络配置
server2网络配置
1.2实验配置
1.启用内核路由功能
2.安装ipvsadm
[root@lvs ~]# dnf install ipvsadm -y
3.添加并查看调度策略
4.保存并启动服务
5.设置web服务
6.测试
2.部署DR模式集群案例
| node | ip | vip | 角色 | 模式 |
| client | 192.168.5.200 | null | 客户端 | NAT |
| router |
192.168.5.100 172.25.254.100 |
null | 路由器 | 仅主机NAT |
| lvs |
172.25.254.50 |
lo:172.25.254.200/32 | 调度器 | 仅主机 |
| server1 | 172.25.254.10 | lo:172.25.254.200/32 | 真实服务器1 | 仅主机 |
| server2 | 172.25.254.20 | lo:172.25.254.200/32 | 真实服务器2 | 仅主机 |
lvs配置
server配置
添加vip
ip a a 172.25.254.200/32 dev lo
配置lvs
测试
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121438.html


















