设为首页 收藏本站
查看: 794|回复: 0

[经验分享] LVS的持久连接及应用的实例

[复制链接]

尚未签到

发表于 2019-1-3 08:19:34 | 显示全部楼层 |阅读模式
  LVS持久连接的意义:
           在固定时间内将来自于同一个客户端发往VIP的所有请求统统定向至同一个RS;在指定时长内不再根据调度算法进行调度,会根据内存的ipvs的连接模版里的记录信息将同一个客户端的请求定向至同一个后端RS;
  持久连接的类型:
           1.PCC:持久客户端连接,将来自于同一个客户端发往VIP的所有请求统统定向至同一个RS (只是根据Vip,所有服务都是集群服务,不同的服务都会被定向至同一个RS);
           2.PPC:持久端口连接,将来自于同一个客户端发往某VIP的某端口的所有请求统统定向至同一个RS中  (根据Vip和端口号,不同的服务不会再被定向至同一个RS);
           3.PFMC:持久防火墙标记连接,基于防火墙标记,将两个或两个以上的端口绑定为同一个服务(应用场景是http服务和https服务需要定向至同一个RS);
            在电商网站中提供http服务和https服务时如何将同一客户端的VIP请求定向至同一个RS中???
  1.第一种解决方案: 使用PCC,但是这种方法有一个缺点就是会将同一个客户端请求的所有集群服务定向至同一个RS;
  2.第二种解决方案: 使用PFMC,可以将两个集群服务绑定为同一个服务,对于两个不同端口的请求定向至同一后端RS;
  

  1,PPC的演示(这里是基于LVS-DR模型架构的,关于其配置不再赘述)
     # ipvsadm -A -t 192.168.10.120:80 -s rr -p 120            ####使用持久连接,指定两分钟
     # ipvsadm -a -t 192.168.10.120:80 -r 192.168.10.11 -g
     # ipvsadm -a -t 192.168.10.120:80 -r 192.168.10.12 -g
     # ipvsadm -L -n
  2,在宿主机上进行测试看是否定向至同一台RS上(如果是的话,证明配置正确)
  3,在Xshell中使用ssh 192.168.10.120命令访问Director,用ifconfig命令查看会发现ip是Director本机ip不是Vip;当我们对Vip的ssh服务进行访问时,而这个服务又没有定义成集群服务则会由Director直接响应;
  4,添加ssh集群服务
     # ipvsadm -A -t 192.168.10.120:22 -s rr -p 1200
     # ipvsadm -a -t 192.168.10.120:22 -r 192.168.10.11 -g

     # ipvsadm -a -t 192.168.10.120:22 -r 192.168.10.12 -g
     # ipvsadm -L -n
  再次测试(Xshell)
      ssh 192.168.10.120   
      # ifconfig                       ####再次查看会看到这时的ip是192.168.10.12  RS2 并且已经实现持久连接;在指定时长内断开再连接还是RS2;
  

  2,PCC的演示(这里是基于LVS-DR模型架构的,关于其配置不再赘述)   
     # ipvsadm -C
     # ipvsadm -A -t 192.168.10.120:0 -s rr -p 120            ####0 指的是添加所有的集群服务
     # ipvsadm -a -t 192.168.10.120:0 -r 192.168.10.11 -g
     # ipvsadm -a -t 192.168.10.120:0 -r 192.168.10.12 -g
     # ipvsadm -L -n
  
测试(Xshell)
    ssh 192.168.10.120   
    # ifconfig                       ####再次查看会看到这时的ip是192.168.10.12  RS2 并且已经实现持久连接;在指定时长内断开再连接还是RS2;


3,PFMC的演示(这里是基于LVS-DR模型架构的,关于其配置不再赘述)
   1.在所有的RS上配置ssl
      # yum -y install mod_ssl
    2.把Director当成CA在其上面进行配置
      # cd /etc/pki/CA
      # vim ../tls/openssl.cnf
             [ req_distinguished_name ]
                     countryName_default  =  CN
                     stateOrProvinceName_default  =  HB
                     localityName_default  =  WUHAN
                     0.organizationName_default  = COLLEGE
                     organizationalUnitName_default  =  Tech
      # (umask 077 ; openssl genrsa 2048 > private/cakey.pem)
        # openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
        # touch index.txt serial crlnumber
        # echo 01 > serial
     3,在RS上建立ssl目录
        # mkdir /etc/httpd/ssl
        # cd /etc/httpd/ssl
        # (umask 077; openssl genrsa 2048 > httpd.key)
        # openssl req -new -key httpd.key -out httpd.csr
        # scp httpd.csr 192.168.10.120:/tmp
     4,在Director上签署证书颁发请求
        # openssl ca -in /tmp/httpd.csr -out /tmp/httpd/crt
        # scp /tmp/httpd.crt 192.168.10.12:/etc/httpd/ssl/
     5,将RS2中的证书文件和私钥文件复制到其他的后端RS上
        # cd /etc/httpd/ssl
        # mkdir /etc/httpd/ssl       ####在RS1上建立相应目录
        # scp -p httpd.crt httpd.key 192.168.10.11:/etc/httpd/ssl/
        # chmod 600 /etc/httpd/ssl/https.key
     6,在各个RS上编辑ssl配置文件
        # vim /etc/httpd/conf.d/ssl.conf
                   DocumentRoot  "/var/www/html"
                   ServerName www.luochen.com:443
                   SSLCertificateFile  /etc/httpd/ssl/httpd.crt
                   SSLCertificateKeyFile  /etc/httpd/ssl/httpd.key
     7,将修改后的ssl配置文件复制到后端各个节点上
         # scp /etc/httpd/conf.d/ssl.conf 192.168.10.12:/etc/httpd/conf.d/
     8,在所有节点上重启web服务
         # servicehttpd restart
     9,查看443端口是否被监听
         # netstat -tnulp | grep 443
     10,定义ssl集群服务
         # ipvsadm -A -t 192.168.10.120:443 -s rr
         # ipvsadm -a  -t 192.168.10.120:443 -r 192.168.10.11 -g
         # ipvsadm -a  -t 192.168.10.120:443 -r 192.168.10.12 -g
         # ipvsadm -L -n
      11,在宿主机上测试
      12,在Director上定义PFMC
          # ipvsadm -C
          # ipvsadm -t mangle -A PREROUTING -d 192.168.10.120 -p tcp -dport 80 -j MARK --set-mark 10
          # ipvsadm -t mangle -A PREROUTING -d 192.168.10.120 -p tcp -dport 443 -j MARK --set-mark 10

          # service ipvsadm save
          # ipvsadm -A -f 10 -s rr
          # ipvsadm -a -f 10 -r 192.168.10.11 -g
          # ipvsadm -a -f 10 -r 192.168.10.12 -g
          # ipvsadm -L -n
          # service ipvsadm save
       13,在宿主机上进行测试
       14,修改集群服务,使用持久连接
           # ipvsadm -E -f 10 -s rr -p 1200
           # service ipvsadm save
       15,最后再在宿主机上进行测试
     
  PS:MARK的值是在0--99之间的任意一个整数值。。。。      
  

  

     
        




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-658798-1-1.html 上篇帖子: LVS群集应用 下篇帖子: LVS原理深入理解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表