您的位置:首页 > 其它

实现keepalived的主从切换,master宕机 释放vip backup选举,master恢复抢回vip

2018-04-02 15:54 676 查看
在/etc/sysctl.conf中添加忽视与转发
net.ipv4.ip_nonlocal_bind = 1 

net.ipv4.ip_forward = 1
sysctl -p 激活

vi keepalived.conf 
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script chk_tomcat
{
     script "/etc/keepalived/tomcat_check.sh"
     interval 2
     timeout 2
     fall 3
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
       173.16.80.211
    }
    track_script {
         chk_tomcat
    }

}

vi tomcat_check.sh
 #!/bin/bash
   netstat -ant|grep 8090
   ALIVE=$?
   LOGFILE="/etc/keepalived/keepalived-check.log"
   echo "[CHECK]" >> $LOGFILE
   date >> $LOGFILE
   if [ $ALIVE -eq 0 ]; then :
     echo "8090 is ok" >> $LOGFILE 2>&1
     exit 0
  else
     echo "8090 is down" >> $LOGFILE 2>&1
     exit 1
  fi
sudo chmod 777 tomcat_check.sh 给予权限
然后启动keepalived 
keepalived -f /etc/keepalived/keepalived.conf
当关闭master的tomcat时候 等待两秒BACKUP成为master抢占vip 
当原master恢复服务 等待两秒MASTER重新成为VIP
如果要设置成恢复后不抢占只需要加上一条语句

state MASTER 修改为 state BACKUP nopreempt  设置为不抢夺VIP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: