首页 > 代码库 > 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集群调度算法