首页 > 代码库 > LVS持久连接(PPC+PCC+PNMPP)

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

[root@mytest ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.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        

TCP  10.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

[root@mytest ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.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

[root@mytest ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

 -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

FWM  8 rr

 -> 10.0.7.109:0                 Route   1      0          0         

 -> 10.0.7.108:0                 Route   1      0          0     


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


本文出自 “webseven” 博客,请务必保留此出处http://webseven.blog.51cto.com/4388012/1549535

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