LVS调度算法+会话保持+防火墙端口标记

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

  之后再做正常的分发配置处理

  

 

posted @ 2019-04-25 11:43  suminem  阅读(446)  评论(0编辑  收藏  举报