LVS-四层调度(基于IP:PORT)
1、轮询算法:Round Robin - RR 后端RS性能一致,请求开销差别小
2、加权轮询:Weighted Round Robin - WRR 后端RS性能有差异,请求开销差异小
3、最少链接:Least Connections - LC 后端RS性能差异小,请求开销差异大
4、加权最少链接:Weighted Least Connections - WLC 后端RS性能差异大,请求开销差异大
5、基于局部性的最少链接:Locality-Based Least Connections - LBLC
针对目标IP地址的负载均衡个,主要用于Cache集群系统,根据请求的目标IP地址找出该目标IP地址最近使用的RS,若该RS可用且没有超载,则分配;若服务器不可用且处于超过一半的工作的负载,则用最少链接原则分配一个RS。
6、带复制的基于局部性最少链接:Locality-Based Least Connections With Replication (LBLCR)
与LBLC的区别在于它维护从一个目标IP地址到一组RS的映射,按最小链接原则从服务器组中选出一台分配请求,若超载,则按最小链接原则,从这个集群中选出一台加入到该服务器组中,并参与分配。同时当服务器组有一段时间没有被修改,则将最忙的服务器从服务器组中删除,降低复制的程度。
7、目标地址散列:Destination Hashing - DH
目标地址作为散列键从静态分配的参列表找出对应的RS
8、源地址散列:Source Hashing - DH (常用)用于需要会话保持的情况。同功能:nginx和haproxy的IP-hash
源地址作为散列键从静态分配的参列表找出对应的RS
9、最短的期望延迟:Shortest Expected Delay Scheduling - SED
基于wlc算法
10、最少队列调度:Never Queue Scheduling NQ - NQ
无需队列,如果RS连接数=0,直接分配过去,无需sed运算
LVS会话保持
定义LVS的分发策略
ipvsadm -A -t 192.168.122.100:80 -s rr -p 300 #300s内分发只会连接到该RS,且新的连接进来时,会刷新倒计时时间
ipvsadm -a -t 192.168.122.100:80 -s -r .............
..............
ipvsadm -Ln -c
可以看到倒计时时间、源IP地址、虚地址和RS地址
端口亲缘性(防火墙端口标记)
对于80/443和20/21(ftp)这种需要配置成一个虚拟服务的情况,先用防火墙修改成统一个标记
WEB
iptables -t mangle -A PREROUTING -p tcp -d 192.168.122.100 --dprot 80 -j MARK --set-mark 80
iptables -t mangle -A PREROUTING -p tcp -d 192.168.122.100 --dprot 443 -j MARK --set-mark 80
FTP
iptables -t mangle -A PREROUTING -p tcp -d 192.168.122.100 --dprot 20-21 -j MARK --set-mark 21
iptables -t mangle -A PREROUTING -p tcp -d 192.168.122.100 --dprot 50000-60000 -j MARK --set-mark 21
注:FTP需在配置文件中指定被动模式的最小及最大端口
pasv_min_port=50000
pasv_max_port=60000
之后再做正常的分发配置处理