美文网首页
配置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