zoukankan      html  css  js  c++  java
  • 综合架构--负载均衡-keepalived

    一、keepalived作用

      Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

    二、keepalived的配置

      在上一章的基础上 添加一台lb02

        lb02 ip 10.0.0.6

      在两台lb01与lb02 上安装keepalived 

    yum install -y keepalived

    三、修改 lb01 中keepalived 的配置文件

      

    [root@lb01 ~]# cat /etc/keepalived/keepalived.conf
    
    ! Configuration File for keepalived
    global_defs {
       router_id LB01    #定义名字
    }
    vrrp_instance VI_1 {   
                             
        state MASTER         #设置该主机为主 
        interface eth0        #网卡
        virtual_router_id 51  #唯一标示id
        priority 150          #权重比权重高优先级高
        advert_int 1            #心跳检测 每隔一秒 
                                  
        authentication {      
            auth_type PASS    #加密方式
            auth_pass 1111    #加密密码,一般四位标示
        }
        virtual_ipaddress {   
         10.0.0.3/24 dev eth0 label eth0:1   #虚拟ip VIP 设置后访问该ip即可达到效果,主副主机的虚拟ip需一致
        }
    }
    

      修改lb02中的keepalived.conf 配置文件

    [root@lb02 ~]# cat /etc/keepalived/keepalived.conf
    ! Configuration File for keepalived
    global_defs {
       router_id LB02 
    }
    
    vrrp_instance VI_1 {   
                 
        state BACKUP    #设置为备份主机
        interface eth0
        virtual_router_id 51  
        priority 100      #权重需小于主机权重    
        advert_int 1          
                              
        authentication {      
            auth_type PASS    
            auth_pass 1111
        }
        virtual_ipaddress {   
         10.0.0.3/24 dev eth0 label eth0:1  
        }
    }

    四、测试效果

    lb01主上查看虚拟ip 10.0.0.3

    [root@lb01 ~]# ip a|grep 0.3
        inet 10.0.0.3/24 scope global eth0:1

    lb02备份上查看虚拟ip

    [root@lb02 ~]# ip a|grep 0.3
        inet6 fe80::dfa2:ce90:78b6:8033/64 scope link tentative noprefixroute dadfailed 
    [root@lb02 ~]# 

    之后测试 

    [root@web01 ~]# curl 10.0.0.3
    www web02
    [root@web01 ~]# curl 10.0.0.3
    www web01
    [root@web01 ~]# curl 10.0.0.3
    www web02
    [root@web01 ~]# 

    当lb01keepalived关掉时 

    [root@lb01 ~]# systemctl restart keepalived.service 
    [root@lb01 ~]# ip a|grep 0.3
        inet 10.0.0.3/24 scope global eth0:1
    [root@lb01 ~]# systemctl stop keepalived.service 
    [root@lb01 ~]# ip a |grep 0.3
    [root@lb01 ~]# 

    在lb02 查看 发现02中虚拟ip 10.0.0.3已启动

    [root@lb02 ~]# ip a|grep 0.3
        inet 10.0.0.3/24 scope global secondary eth0:1
        inet6 fe80::dfa2:ce90:78b6:8033/64 scope link tentative noprefixroute dadfailed 
    [root@lb02 ~]# 

    五、常见错误

    [root@lb02 ~]# curl 10.0.0.3
    curl: (7) Failed connect to 10.0.0.3:80; 拒绝连接
    [root@lb02 ~]# 

    检查nginx 服务是否启动

    [root@web01 /]#  curl 10.0.0.3
    curl: (7) Failed connect to 10.0.0.3:80; 没有到主机的路由
    [root@web01 /]# 

    检查主机防火墙是否开启

  • 相关阅读:
    1393 0和1相等串 鸽笼原理 || 化简dp公式
    C. Coin Troubles 有依赖的背包 + 完全背包变形
    D. PolandBall and Polygon BIT + 欧拉公式
    51NOD 1639 绑鞋带 数学
    D. Fedor and coupons 二分暴力
    hdu 4104 Discount
    bnu 51640 Training Plan DP
    hdu 5745 La Vie en rose DP + bitset优化
    hdu 5036 Explosion bitset优化floyd
    1354 选数字 DP背包 + 数学剪枝
  • 原文地址:https://www.cnblogs.com/qiang-qiang/p/10560606.html
Copyright © 2011-2022 走看看