ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

lvs + keepAlived高可用

2021-06-04 14:35:45  阅读:177  来源: 互联网

标签:node01 conf lvs 可用 keepAlived keepalived ipvsadm 192.168 150.100


 

本文使用的是DR模型,其它模式有D-NET,TUN模式。

DR模型的优点:

  DR模型基于四层负载,速度快,不和客户端经过握手协议,只是偷窥了一下握手包,

  过程是偷偷修改了arp,改动非常小效率高,此时获取RS(真正的后台服务器)的mac地址,基于下一条机制,数据包就能传输到RS服务器上,而RS服务器上又有VIP地址,RS服务器直接可以将数据直接传给客户端,有点像IP伪装。

D-NET模型的缺点:

  D-NET模式对宽带要求比较高,中间需要不停的修改目标IP所以算力大。

 

 

没有keepalive的配置过程:

LVS:

  node01: ifconfig eth0:8 192.168.150.100/24

  node02--node03:

    (1)修改内核:

      echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore

      echo 1> /proc/sys/net/ipv4/conf/all/arp_ignore

      echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

      echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

    (2)设置隐藏的VIP:

      ifconfig lo:3 192.168.150.100 netmask 255.255.255.255    (此处一定要注意掩码不能是255.255.255.0)

RS中的服务:

  node02--node03:

    yum install httpd -y

    service httpd start

    vi  /var/www/html/index.xml

    from 192.168.1.150.1x

LVS服务配置:

  node01:

    yum install ipvsadm

    ipvsadm -A -t 192.168.150.100:80  -s  rr

    ipvsadm -a  -t 192.168.150.100:80 -r 192.168.1.12 -g  -w 1

    ipvsadm -a  -t 192.168.150.100:80 -r 192.168.1.13 -g  -w 1

    ipvsadm -ln

验证:

  浏览器访问 192.168.150.100 看到负载 变化

  node01:

    netstat  -antp 结果看不到socket连接

    ipvsadm -lnc 查看偷窥记录

  node02--node03:

    netstat  -antp 看到所有的socket连接

 ------------------------------------------------------------------------------------------------------

有keepalive 的配置过程:

  主机node01 ---node04

node01: 

  ipvsadm -C  //卸载掉ipvsadm

  ifconfig eth0:8 down  // 清清除eth:8 网卡

node01---node04:

  yum install keepalived -y ipvsadm

  配置:

    /etc/keepalived/keepalived.conf

    cd  /etc/keepalived/

    cp keepalived.conf  keepalived.conf.bak //拷贝

    vrrp:虚拟路由冗余协议

    vi keepalived.conf 

    node01:

      global_defs  {

            notification_email n {  #指定keepalived在发生切换时需要发送email到的对象,一行一个
            sysadmin@fire.loc
           }
           notification_email_from Alexandre.Cassen@firewall.loc  #指定发件人
           smtp_server localhost  #指定smtp服务器地址
           smtp_connect_timeout 30  #指定smtp连接超时时间
           router_id LVS_DEVEL  #运行keepalived机器的一个标识
      }

      vrrp_instance VI_1{

        state MASTER  //主机

        interface eth0   //哪个网卡

        virtual_route_id 51  // 集群部署时使用

        priority 100  //权重

        advert_int 1

        authentication {

          auth_type PASS

          auth_pass 1111

        }

        virtual_ipaddress{

          192.168.150.100/24 dev eth0 label eth0:3 //虚拟目标地址

        }

      }

      virtual_server 192.168.150.100 80 { //RS服务器地址

         delay_loop 6

        lb_algo rr

        lb_kind DR

        nat_mask 255.255.255.0

        persistence_timeout 0 //注意开发环境设置成0,生产环境不能设置成0

        protocol TCP

        real_server 192.168.150.12 80{

           weight 1

          HTTP_GET {

              url{

                path /

                status_code 200

              }

              connect_timeoout 3

              nb_get_retry 3

              delay_before_retry 3

          }

        }

         real_server 192.168.150.13 80{

          weight 1

          HTTP_GET {

           url{

             path /

             status_code 200

           }

           connect_timeoout 3

           nb_get_retry 3

           delay_before_retry 3

          }

        }

      }

    node04:配置同node01一样

    

    

keepAlived的作用:

  1:代替人改为自动运维,解决了单点故障,实现了HA;

  2:监控自身的服务;

  3:监控RS的服务健康状况;

  4:master通告自己还活着,Backup监听master状态,Master挂了,从一堆backup推举出一个新的master;

  5:配置VIP以及ipvs,keepalive有自己的配置文件。

 

  

 

标签:node01,conf,lvs,可用,keepAlived,keepalived,ipvsadm,192.168,150.100
来源: https://www.cnblogs.com/zhaoyangxuan/p/14842255.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有