Keepalived+LVS-DR服务器简单配置步骤配置

简要概述

LVS 是属于集群调度服务器,为用户提供web服务的

keepalived  实现的功能是冗余,主备

LVS +keepalived (使用Keepalived为LVS调度器提供高可用功能,防止调度器单点故障,为用户提供Web服务)

               1.自动配置LVS,带健康检查

               2.照抄路由器VRRP(路由热备协议)的功能,用软件的方式把它写出来(通过修改配置文件现了热备冗余功能)

           以上两者是独立存在的,可以单独使用,也可以同时使用

            路由热备协议: 两台路由器设置优先级参数形成主备,优先级的参数较大,优先级高的  ,同时需要配置vip(浮动ip) 

            LVS1 (keepalivd,主100,vip)

            LVS2 (keepalivd,备50,vip)    

            vim      /etc/keepalived/keepalived.conf

keepalived也可以字apache,nginx得到应用 例如:

扫描二维码关注公众号,回复: 6393525 查看本文章

实现web服务器的冗余备份:

web1 (httpd+keepalived)         +                 web2(httpd+keepalived)

实现nginx代理服务器的冗余备份:

     nginx   (keepalived)                

vip                                               web1       web2          

        nginx (keekpalived)

keepalived +LVS-DR配置:

     实验环境如下:

  • LVS1调度器真实IP地址为192.168.4.5
  • LVS2调度器真实IP地址为192.168.4.6
  • 服务器VIP地址设置为192.168.4.15
  • 真实Web服务器地址分别为192.168.4.100、192.168.4.200
  • 使用加权轮询调度算法,真实web服务器权重不同

1 .web 1 和web2服务器配置内容参照:https://blog.csdn.net/weixin_43669585/article/details/89632189

     web1和web2服务器需要配置vip 和rip,同时还要有能访问问的网页(apache)

2.  LVS1和LVS2在接口eth0配置RIP:192.168.4.5,192.168.4.6,    是与web服务器通信的ip地址

3   在LVS1和LVS2安装keepalived

          yum install -y ipvsadm      

       {  健康检查方式:SSL_GET(检查配置文件是否被更改) ,HTTP_GET(检查配置文件是否被更改) ,   TCP_CHECK (只是检查             端口 服 务)

     SSL_GET,HTTP_GET(检查网页是否有被篡改)

    url {
              path /    网页文件路径
              digest ff20ad2481f97b1754ef3e12ecd3a9cc        //md5sum值
            }

        curl http://192.168.4.100  | md5sum    //查看md5sum值 }

在 LVS1配置keepalived配置文件

[root@proxy ~]# vim  /etc/keepalived/keepalived.conf 

global_defs {
   notification_email {                     ////设置报警收件人邮箱
     [email protected]
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]             //  //设置发件人
   smtp_server 192.168.200.1                             //   //定义邮件服务器
   smtp_connect_timeout 30                      
   router_id LVS1                                            //设置路由ID号(实验需要修改)
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER                  // 主服务器为MASTER   
    interface eth0                      // 定义网络接口   ,,将虚拟IP配置在eth0中, 一个网卡多ip 
    virtual_router_id 51          //  主辅VRID号必须一致
    priority 100                       //服务器优先级,参数越高优先级越大
    advert_int 1            //每隔1s比较两台服务器优先级高底
    authentication {
        auth_type PASS
        auth_pass 1111         // 主辅服务器密码必须一致 (防止网站劫持,假如外界的把LVS的优先级调高,会访问攻击者的网                                                         站)
    }
    virtual_ipaddress {
        192.168.4.15                  //配置VIP(实验需要修改)             
    }
}

virtual_server 192.168.4.15 80 {            //设置ipvsadm的VIP规则(实验需要修改) 
    delay_loop 6
    lb_algo rr                                       //设置LVS调度算法为WRR
    lb_kind DR                                    //设置LVS的模式为DR
   #persistence_timeout 50           //一旦访问web1,在50秒内一直访问web1,即是50秒内访问同一个web服务起,在实验环境中需                                                             要注释                     

    protocol TCP                           

    real_server 192.168.4.100 80 {          //设置后端web服务器真实IP(实验需要修改)     
        weight 1                                     ///设置权重为1
        TCP_CHECK {                             //健康检查的方式,只是检查端口,服务 有没有起来
            connect_timeout 3             //  超时间3秒,连接3秒后连接不上,(再重试连接)
            nb_get_retry 3                   //  连接不上后重试3次 
            delay_before_retry 3         //  隔3秒做一次健康检测
        }
    }

    real_server 192.168.4.200 80 {
        weight 1                           
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

从配置文件中可以看出,keepalived是可以自动配置LVS的,配置文件中的   virtual_ipaddress,表示配置虚拟ip,       real_server 192.168.4.100 80   表示添加新的 后端web服务器,如有多个则配置多个real_server 192.168.4.100 80

   相当于的命令是  :[root@proxy ~]# ipvsadm -A -t 192.168.4.15:80 -s wrr 

                                  [root@proxy ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100 -g -w 1
                                  [root@proxy ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200 -g -w 1


  重新启动keepalived

  1. [root@proxy1 ~]# systemctl start keepalived
  2.  [root@proxy1 ~]#iptables -F                               //启动keepalived会自动添加一个drop的防火墙规则,需要清空!
  3. [root@proxy1 ~]# ipvsadm -Ln #查看LVS规则
  4. [root@proxy1 ~]# ip a s eth0    //查看ip 

此时可以在客户端测试,curl http://192.168.4.15,可以轮询出现 web1和web2的网页,

 LVS1:  scp /etc/keepalived/keepalived.conf  192.168.4.6:/etc/keepalived/keepalived.conf //将LVS1的keepalived配置文件传送到 LVS2  

  在 LVS2配置keepalived配置文件                        

vim  /etc/keepalived/keepalived.conf 

 router_id LVS2                                           //设置路由ID号(实验需要修改)

    priority 50                      //服务器优先级,参数越高优先级越大

    state BACKUP                // 主服务器为MASTER   

客户端测试

 在LVS1 关闭keepalived服务, 

  curl  http://192.168.4.15    //也能轮询出现web1和web2的网页

题外话:

nginx,Haproxy,LVS性能和功能之间的比较,性能越好,功能较差,实现调度,集群,代理功能

性能:  LVS>Haproxy>nginx

功能:nginx>Haproxy>LVS

F5   使用big-ip软件


 


 

猜你喜欢

转载自blog.csdn.net/weixin_43669585/article/details/89638091