blovekyo 发表于 2019-1-3 13:03:35

LVS持久连接(PPC+PCC+PNMPP)

  无论使用哪种算法,LVS的持久连接都实现在一定时间内,将来自同一客户端的多种请求派发至此前选定的real-server.
  

  持久连接模板(内存缓冲区):
  记录每一个客户端及分配给它的RS.
  
  查看当前的持久连接:
  ipvsadm -L -persistent-conn
  ipvsadm -L -c
  
  设置持久连接:
  ipvsadm -A|-E ... -p timeout
  默认timeout为300S.
  
  在基于SSL会话的连接中,最需要使用持久连接.
  
  PPC(持久端口连接):将来自于同一个客户端对同一个集群服务的请求,始终定向至此前选定的real-server.
  ipvsadm -A -t myvip:80 -s rr -p 600
  //仅将80端口定义为集群服务
  ipvsadm -a -t myvip:80 -r myrip1 -g -w 2
  ipvsadm -a -t myvip:80 -r myrip2 -g -w 2
  
  ipvsadm -A -t myvip:22 -s rr -p 600
  //仅将80端口定义为集群服务
  ipvsadm -a -t myvip:22 -r myrip1 -g -w 2
  ipvsadm -a -t myvip:22 -r myrip2 -g -w 2
  
  # ipvsadm -Ln
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port         Forward Weight ActiveConn InActConn
  TCP10.0.7.100:80 rr persistent 300
  -> 10.0.7.101:80                Local   1      0          13
  -> 10.0.7.108:80                Route   2      0          13
  -> 10.0.7.109:80                Route   3      0          12
  TCP10.0.7.100:23 rr
  -> 10.0.7.109:23                Route   1      0          0
  -> 10.0.7.108:23                Route   1      0          0
  
  由于上面的80端口和22端口属于2个不同的集群服务,访问80端口的持久连接不一定是访问22的端口连接,为了使访问2个端口的服务同时访问到一台服务器,可以使用PCC或PNMPP.
  
  PCC(持久客户端连接):将来自于同一个客户端的请求,始终定向至此前选定的real-server.
  ipvsadm -A -t myvip:0 -s rr -p 300
  //将所有端口定义为集群服务
  ipvsadm -a -t myvip:0 -r myrip1 -g -w 2
  ipvsadm -a -t myvip:0 -r myrip2 -g -w 2
  
  # ipvsadm -Ln
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port         Forward Weight ActiveConn InActConn
  TCP10.0.7.100:0 rr persistent 300
  -> 10.0.7.109:0               Route   1      0          0
  -> 10.0.7.108:0               Route   1      0          0
  
  PNMPP(持久防火墙标记连接):
  iptables -t mangle -A PREROUTING -d myvip-i eth0:0 -p tcp --dport 80 -j MARK --set-mark 8
  iptables -t mangle -A PREROUTING -d myvip-i eth0:0 -p tcp --dport 23 -j MARK --set-mark 8
  ipvsadm -A -f 8 -s rr -p 300
  ipvsadm -a -f 8 -r myrip1 -g -w 2
  ipvsadm -a -f 8 -r myrip2 -g -w 2
  
  # ipvsadm -Ln
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port         Forward Weight ActiveConn InActConn
  FWM8 rr
  -> 10.0.7.109:0               Route   1      0          0
  -> 10.0.7.108:0               Route   1      0          0
  

  linux文件系统同步rsync+inotify,为解决大文件同步效率问题,可以使用sersync
  




页: [1]
查看完整版本: LVS持久连接(PPC+PCC+PNMPP)