centos安装keepalive

环境

主服务器ip:172.16.0.71
备服务器ip:172.16.0.72
vip:172.16.0.70

安装

yum install -y keepalived

#清空默认配置文件
> /etc/keepalived/keepalived.conf

参考以下实例配置,再按照实际环境配置,一般情况下只需要改ip地址

global_defs {
   notification_email {
     localhost@163.com
   }
   notification_email_from Keepalived@localhost
   smtp_server 163@smtp.com
   smtp_connect_timeout 30
   router_id 172.16.0.71
}
#配置vrrp_script,主要用于健康检查,以及检查失败后执行的动作。
vrrp_script check-haproxy {
#健康检查脚本,当脚本返回值不为0时认为失败
    script "/etc/keepalived/check-haproxy.sh"
#检查频率,以下配置每2秒检查1次
    interval 2
#当检查失败后,将vrrp_instance的priority减小5
    weight -5
#连续监测失败3次,才认为真的健康检查失败。并调整优先级
    fall 3
#连续监测2次成功,就认为成功。但不调整优先级
    rise 2
}


#定义对外提供服务的VIP vrrp_instance配置
vrrp_instance VI_1 {
#指定vrrp_instance的初始状态,是MASTER还是BackUP主要还是看优先级。
    state MASTER
#指定vrrp_instance绑定的网卡,最终会通过指定的网卡宣告VIP
    interface eth0
#发送心跳包的源IP,可使用绑定的网卡IP,也可以使用本服务器上的其他IP
    mcast_src_ip 172.16.0.71
#相当于VRID,用于在一个网内区分组播,需要组播域内内唯一。
    virtual_router_id 55
#本机的优先级,VRID相同的机器中,优先级最高的会被选举为MASTER
    priority 100
#心跳间隔,下面配置,MASTER会每隔1秒发送一个报文高职组内其他机器,自己还活着。
    advert_int 1
#定义主从的验证方式以及密码,一般使用PASS(最长8位,超过了只会识别前8位作为密码)
    authentication {
        auth_type PASS
        auth_pass 123456
    }
#VIP
    virtual_ipaddress {
    172.16.0.70/24
        }
#本vrrp_instance所引用的脚本配置,名称就是vrrp_script 定义的容器名
  track_script {
       check-haproxy
    }
#状态切换,使用上述配置发送邮件通知
  smtp_alert
}

global_defs {
   notification_email {
     localhost@163.com
   }
   notification_email_from Keepalived@localhost
   smtp_server 163@smtp.com
   smtp_connect_timeout 30
   router_id 172.16.0.72
}
#配置vrrp_script,主要用于健康检查,以及检查失败后执行的动作。
vrrp_script check-haproxy {
#健康检查脚本,当脚本返回值不为0时认为失败
    script "/etc/keepalived/check-haproxy.sh"
#检查频率,以下配置每2秒检查1次
    interval 2
#当检查失败后,将vrrp_instance的priority减小5
    weight -5
#连续监测失败3次,才认为真的健康检查失败。并调整优先级
    fall 3
#连续监测2次成功,就认为成功。但不调整优先级
    rise 2
}


#定义对外提供服务的VIP vrrp_instance配置
vrrp_instance VI_1 {
#指定vrrp_instance的初始状态,是MASTER还是BackUP主要还是看优先级。
    state BACKUP
#指定vrrp_instance绑定的网卡,最终会通过指定的网卡宣告VIP
    interface eth0
#发送心跳包的源IP,可使用绑定的网卡IP,也可以使用本服务器上的其他IP
    mcast_src_ip 172.16.0.72
#相当于VRID,用于在一个网内区分组播,需要组播域内内唯一。
    virtual_router_id 55
#本机的优先级,VRID相同的机器中,优先级最高的会被选举为MASTER
    priority 99
#心跳间隔,下面配置,MASTER会每隔1秒发送一个报文高职组内其他机器,自己还活着。
    advert_int 1
#定义主从的验证方式以及密码,一般使用PASS(最长8位,超过了只会识别前8位作为密码)
    authentication {
        auth_type PASS
        auth_pass 123456
    }
#VIP
    virtual_ipaddress {
    172.16.0.70/24
        }
#本vrrp_instance所引用的脚本配置,名称就是vrrp_script 定义的容器名
  track_script {
       check-haproxy
    }
#状态切换,使用上述配置发送邮件通知
  smtp_alert
}

编辑haproxy服务的检测脚本,其他服务也可以参考此脚本

vim /etc/keepalived/check-haproxy.sh
#!/bin/bash
#检查haproxy进程是否存在
counter=$(ps -C haproxy --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
#尝试启动一次haproxy,停止5秒后再次检测
    systemctl start  haproxy  
    sleep 5
    counter=$(ps -C haproxy --no-heading|wc -l)
    if [ "${counter}" = "0" ]; then
#如果启动没成功,就杀掉keepalive触发主备切换
        systemctl stop  keepalived 
    fi
fi

chmod 755 /etc/keepalived/check-haproxy.sh

启动并设置开机启动

systemctl start keepalived
systemctl enable keepalived

参考文献:

https://www.cnblogs.com/GreedyL/p/7519969.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值