**-配置keepalived 双机热备-**

-配置keepalived 双机热备-

下载wget http://keepalived.org/software/keepalived-2.0.6.tar.gz
mkdir /usr/local/keepalived/
tar -zxvf keepalived-2.0.6.tar.gz -C /usr/local/keepalived
cd /usr/local/keepalived/keepalived-2.0.6
./configure
make
make install
cp -r keepalived /etc/init.d/keepalived
mkdir /etc/keepalived/
cd /usr/local/keepalived/keepalived-2.0.6/keepalived/etc/keepalived
cp keepalived.conf /etc/keepalived/
cd /usr/local/keepalived/keepalived-2.0.6/keepalived/etc/sysconfig/
cp keepalived /etc/sysconfig/keepalived
cp /usr/local/keepalived/keepalived-2.0.6/bin/keepalived /usr/sbin

vi /etc/keepalived/keepalived.conf #以下是配置的内容
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 {
192.168.67.100
}
}
以上修改了如下三项
1.
priority 101 #Master值要大于Bakcup
2.更改网络接口
vrrp_instance VI_1 中interface:ens33(ip addr命令中的网络)
3.
192.168.67.100 是虚拟ip

启动keepalived
service keepalived start或者systemctl start keepalived

备用调度服务器 只有一项不同
priority 100
同样配置完毕后启动keepalived

注意:
#vrrp_strict #这个注释掉,否则可能造成物理机的浏览器无法访问应用
启动keepalived
service keepalived start
设置开机自启动
systemctl enable keepalived.service

如果nginx死掉,虚拟ip不会自动切换,如果要nginx停止运行后虚拟ip自动切换,需要设置脚本:

vi  /etc/keepalived/keepalived.conf

如下:

! Configuration File for keepalived

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 LVS_DEVEL
   vrrp_skip_check_adv_addr
   #vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
			vrrp_script chk_nginx{
				script "/root/nginx_chk.sh"
			}

vrrp_instance VI_1 {
    state MASTER
    interface eno16777736
    virtual_router_id 51
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.43.66
    }
		    track_script{
			chk_nginx
		    }
}


创建 vi /root/nginx_chk.sh,输入脚本

#!/bin/bash
if [ "$(ps aux | grep  "nginx: master process"|grep -v grep)" == "" ]
then
        #/etc/init.d/keepalived/keepalived  stop
        service keepalived  stop
fi

脚本要赋予x权限

猜你喜欢

转载自blog.csdn.net/weixin_43184152/article/details/83867702