目录
(三)LVS-TUN(IP隧道(Tunnel)模式,不常用)
2、 wrr(weight round robin,加权轮询)
3、 sh(source hashing,源地址 散列算法(HASH))
4、 dh(destination hashing,目标地址 HASH)
一、LVS集群概述
(一)负载均衡技术类型
1、四层负载均衡器 也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;
2、七层负载均衡器 也称为 7 层交换机,位于 OSI 的最高层,即应用层,此负载均衡器支持多种协议,如HTTP、FTP、SMTP 等。7 层负载均衡器可根据报文内容,配合一定的负载均衡算法来选择后端服务器,即“内容交换器”。如常见的 HAProxy、Nginx。
(二)负载均衡实现方式
1、硬件负载均衡产品:F5 、深信服 、Radware
2、软件负载均衡产品: LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)
二、LVS结构
(一)三层结构
1、负载调度器
2、服务器池
3、共享存储
(二)架构对象
1、VS:Virtual Server,也称为 Director,负载均衡服务器
2、RS:Real Server,真正的服务器,集群中各节点
3、VIP:Director 向外部提供服务的 IP
4、DIP:Director 向内部与 RS 通信的 IP
5、RIP:真实服务器的 IP
6、CIP:客户端的 IP
三、LVS工作模式
(一)LVS-NAT(NAT模式)
(二)LVS-DR(直接路由模式)(应用最广泛)
(三)LVS-TUN(IP隧道(Tunnel)模式,不常用)
(四)FULL-NAT模式(双向转换模式,不常用)
四、LVS负载均衡算法
(一)静态负载均衡
1、 rr(round robin,轮询 )
轮询算法是一种最简单的负载均衡算法。它基于轮询的思想依次将请求分配给不同的服务器,确保每台服务器受到的请求是平均的。这种算法适用于负载均衡的服务器性能比较相近的场景。
2、 wrr(weight round robin,加权轮询)
加权轮询算法是对轮询算法的优化,它不仅考虑到服务器的平均负载情况,还可以根据服务器的性能高低进行权重设置。这种算法适用于服务器的性能有明显差异的场景。
3、 sh(source hashing,源地址 散列算法(HASH))
源地址哈希算法是对客户端 IP 地址进行哈希计算,将哈希值与服务器的列表进行比较,将请求发送到哈希值对应的服务器。这种算法适用于客户端连接长时间不变且数量较少的场景。
4、 dh(destination hashing,目标地址 HASH)
(二)动态负载均衡
1、lc(leash-connection,最少连接 )
简单算法:active * 256 + inactive (谁的小选谁)
最小连接数算法是将请求分发给连接数最少的服务器。这种算法适用于请求处理时间长、连接较长的请求服务。
2、wlc(加权最少连接)
简单算法:(active * 256 + inactive) / weight(谁的小选谁)
3、sed(最少期望延迟)
简单算法:(active + 1) * 256 / weight (谁的小选谁)
4、 nq(never queue,永不排队)
5、LBLC(基于局部性的最少连接 )
6、LBLCR(基于局部性的带复制功能的最少连接)
五、ipvsadm命令详解
LBLCR(基于局部性的带复制功能的最少连接)
-A 添加虚拟服务节点
-D 删除虚拟服务节点
-L 查看虚拟服务节点列表
-a 添加真实服务节点
-d 删除真实服务节点
-l 查看真实服务节点列表
-t 指定虚拟服务器IP地址
-s 指定调度算法
-r 指定真实服务器节点IP地址
-w 指定权重值
-g 直接路由模式(默认)
-i 隧道模式(不常用)
-m NAT模式