服务器架构配置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:eno16777736(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自动切换,需要设置脚本:

#增加keepalived配置文件
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

猜你喜欢

转载自blog.csdn.net/weixin_42242253/article/details/83992345