keepalived安装

keepalived安装与配置(MySQL和Nginx)

一、keepalived安装

#下载安装包:
wget http://www.keepalived.org/software/keepalived-2.0.11.tar.gz

#下载安装依赖:
yum install -y openssl-devel popt-devel
yum install libnl*
yum install y popt-static

#解压并编译安装:
tar -zxvf keepalived-2.0.11.tar.gz
cd keepalived-2.0.11
./configure --prefix=/var/local/keepalived --sysconf=/etc
make && make install

#为命令创建软连接:
cp /var/local/keepalived/sbin/keepalived /usr/sbin/

#备份配置文件
cd /etc/keepalived
mv keepalived.conf keepalived.conf.bak

二、配置文件修改(MySQL)

[root@hx-crm-ddb-data1 keepalived]# cat 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_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script check_mysql {
     script "etc//etc/keepalived/check_mysql.sh"
     interval 2
     weight 2
     }


vrrp_instance VI_1 {
    state MASTER
    interface ens32
    virtual_router_id 51
    priority 90/80
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 1111
    }

track_script {
     check_mysql
     }

        virtual_ipaddress {
        10.0.0.100
    }
}

/etc/keepalived/check_mysql.sh脚本:

#!/bin/bash

mysql_id=`ps -C mysqld --noheader |wc -l`
echo $mysql_id
echo "enter"
if [ "$mysql_id" = "0" ];then
echo "0"
#pkill keepalived
systemctl stop keepalived.service
fi

chmod u+x check_mysql.sh
systemctl restart keepalived.service

三、配置文件参考(nginx)

! 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_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

######监控nginx的脚本###############
vrrp_script check_nginx {
     script "/etc/keepalived/check_nginx.sh"
     interval 2
     weight 2
     }

vrrp_instance VI_1 {
    state MASTER                               ####主用MASTER,从用BACKUP ####
    interface eth0                              ####监测的网络接口
    virtual_router_id 51                        ####主从上要设置一样的值
    priority 100                                ####权重,备机比主机稍微调小一点就行,备机50 
    advert_int 1
    authentication {
        auth_type PASS                         ####VRRP认证方式
        auth_pass 1111
    }
        track_script {           
        check_nginx                            ####调用的脚本
     }

    virtual_ipaddress {
        10.0.0.200                          #####负载VIP的IP地址
 }

/etc/keepalived/check_nginx.sh脚本:

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

chmod +x /etc/keepalived/check_nginx.sh
/etc/init.d/keepalived start  ||   systemctl restart keepalived.service
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值