首页 > 代码库 > 04-LVS集群调度算法
04-LVS集群调度算法
根据其调度是否考虑后端主机的负载情况,LVS调度算法可大致分为静态方法和动态方法
静态方法:
1> RR:round robin 轮询,将每个请求轮流调度到后端RealServer
2> WRR:weighted round robin 加权轮询,定义后端RealServer权重,将请求按照权重分配到后端RealServer.
3> SH:sourch hash ,源地址哈希,主要用于会话保持,在一定时间内,将某一个源地址的请求全部发往同一个后端RealServer,目的是为了会话绑定
4> DH:destination hash ,目标地址哈希,将发往同一个目标地址的请求全部发往同一个后端RealServer,将访问目标一致的请求发往同一个后端主机,可提高缓存命中率。
动态方法:
1>LC:least connection,最小连接。通过计算每个RealServer的活动连接和非活动连接的总数,计算公式为active*256+inactive,判断哪台服务器连接数最少,发往该主机
2>WLC:weight lc ,加权最小连接。考虑服务器自身性能作为权重依据,计算公式 (active*256+inactive)/weight 。
3>SED:最短期待延迟 ,计算公式 (active+1)*256/weight
4>NQ:永不排队。先根据权重,每个服务器分配一个请求,再根据SED算法进行分配
5>LBLC:基于本地最少连接。类似于动态DH,将请求同一资源的发往同一个后端服务器,但是同时考虑服务器空闲状态,权衡利用WLC算法。
6>LBLCR:基于本地的带复制功能的最少连接。利用缓存复制功能。
ipvsadmin命令:
管理集群服务
增加修改集群定义: ipvsadmin -A|E -t|u|f service-address:port -s 调度算法
-A:增加
-E:修改
-t u f : tcp , udp , firewall mark
删除指定的集群服务 : ipvsadmin -D -t|u|f service-address:prot
后端RealServer服务
增加修改RealServer:ipvsadmin -a|e -t|u|f service-address:port -r RealServer-address:prot [-g | i | m ] [ -w weight ]
-g 表示gateway,lvs-dr 集群(默认)
-i 表示ipip , lvs-tun 集群
-m 表示masquerade ,lvs-nat 集群
删除某个RealServer: ipvsadmin -d -t | u | f service-address:port RealServer-address:port
查看集群的相关信息
ipvsadmin -L | I [option]
option:
-n 表示数字格式显示IP,不进行反解
-exact 表示显示大小时,以精确值显示
-c 显示ipvs当前连接情况
-stats 显示ipvs统计情况
-rate 速率
清空ipvs规则 ipvsadmin -C
清空ipvs计数器 ipvsadmin -Z [-t | u | f Server-adress ]
ipvs规则的保存和重载
ipvs -save | S > /path/to/file
ipvs -restore | R < /path/to/file
04-LVS集群调度算法