美文网首页
配置Keepalied 主、备

配置Keepalied 主、备

作者: 羁绊_87cd | 来源:发表于2020-06-09 10:28 被阅读0次
    1. 通过命令 vim keepalived.conf 打开配置文件

    配置 Keepalived - 主

    global_defs {
        #路由id: 当前安装keepalived的节点主机标识符, 保证全局唯一
        router_id keep_171
    }
    
    #检查nginx是否运行脚本
    vrrp-script check_nginx_alive {
        script "/etc/keepalived/check_nginx_alive_or_not.sh"#脚本路径
        interval 2# 每隔两秒运行上一行脚本
        weight 10# 如果脚本运行成功, 则升级权重 + 10
    }
    
    vrrp_instance VI_1 {
        #表示状态是MASTER主机还是备用机BACKUP
        state MASTER
        #该实例绑定的网卡
        interface ens33
        #保证主备节点一致即可
        virtual_router_id 51
        #权重, master权重一般高于backup, 如果有多个, 那就是选举, 谁的权重高, 谁就当选
        priority 100
        #主备之间同步检查时间间隔, 单位秒
        advert_int 2
        #认证权限密码, 防止非法节点进入
        authentication {
            auth_type PASS
            auth_pass 1234
        }
    
        track_script {
            check_nginx_alive#追踪nginx脚本
        }
    
        #虚拟出来的ip, 可以有多个( vip)
        virtual_ipaddress {
            192.168.1.161
        }
    }
    

    配置 Keepalived - 备

    global_defs {    
          router_id keep_172 
    } 
    
    vrrp_instance VI_1 {     
          # 备用机设置为BACKUP     
          state BACKUP     
          interface ens33     
          virtual_router_id 51     
          # 权重低于MASTER     
          priority 80     
          advert_int 2     
          authentication {         
              auth_type PASS         
              auth_pass 1234     
          }     
          virtual_ipaddress {         
                # 注意:主备两台的vip都是一样的,绑定到同一个vip         
                192.168.1.161     
           } 
    } 
    
    1. 启动 Keepalived
    # 启动keepalived 
    systemctl start keepalived
    # 停止keepalived 
    systemctl stop keepalived 
    # 重启keepalived 
    systemctl restart keepalived 
    
    1. 查看进程
      ps -ef|grep keepalived
    1. 检测nginx是否宕机脚本 check_nginx_alive_or_not.sh
    #!/bin/bash
    A=`ps -C nginx  --no-header |wc  -l`
    #判断nginx是否宕机,如果宕机了,尝试重启
    if  [ $A  -  eq  0  ];then
          /usr/local/nginx/sbin/nginx
         #等待一小会再次检查nginx,如果没有启动成功,则停止keepalived,使其启动备用机
         sleep 3
         if  [  `ps  -C nginx  --no-header | wc  -l`  -eq 0 ];  then
              killall keepalived
         fi
    fi
    

    相关文章

      网友评论

          本文标题:配置Keepalied 主、备

          本文链接:https://www.haomeiwen.com/subject/jxfstktx.html