Keepalived 安装与部署(centos)

1、官网下载地址

下载地址

2、上传到服务器地址目录

一般上传到/opt目录下

3、解压并安装

tar -zxvf keepalived-2.3.0.tar.gz
./configure --prefix=/usr/local/keepalived --sysconf=/etc

–prefix:指定keepalived的安装位置
–sysconf:keepalived 核心配置文件所在位置,该位置必须指定/etc,否则会启动失败


执行./configure命令时若报以下错误,可能是缺少libnl和libnl-3的依赖

WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS

安装相关依赖,然后重新执行./configure --prefix=/usr/local/keepalived --sysconf=/etc命令即可

yum install -y libnl-devel libnl

4、编译

make && make install

此时,keepalived的配置文件所在目录为:/etc/keepalived,配置文件名为:keepalived.conf
在这里插入图片描述
在配置文件中添加以下配置(主节点):

global_defs {
    #路由id:当前安装 keepalived 的节点主机标识符,保证全局唯一
    router_id keep_prod_21
    # 脚本执行用户
    script_user root
    # enable_script_security
}

vrrp_script check_nginx_alive {
    script "/etc/keepalived/check_nginx_alive_or_not.sh"
    interval 1 # 每隔两秒运行上一行脚本
    weight -20
	user root

    #weight -10 # 如果脚本运行失败,则升级权重 -10
}

vrrp_instance VI_1 {
    #表示状态是MASTER主机还是备用机 BACKUP
    state MASTER
    #该实例绑定的网卡
    interface eth0
    #保证主备节点一致即可
    virtual_router_id 51
    #权重,master权重一般高于 backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 100
    #主备之间同步检查时间间隔,单位秒
    advert_int 1
    #认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass Zf@123456
    }
    #虚拟出来的 ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.89.20
    }

   track_script {
        check_nginx_alive   # 追踪 nginx 脚本
   }
}

在另外一台服务的配置文件中配置以下内容(备节点)

global_defs {
    #路由id:当前安装 keepalived 的节点主机标识符,保证全局唯一
    router_id keep_prod_22
    # 脚本执行用户
    script_user root
    # enable_script_security
}

vrrp_script check_nginx_alive {
    script "/etc/keepalived/check_nginx_alive_or_not.sh"
    interval 1 # 每隔两秒运行上一行脚本
    weight -20
        user root

    #weight -10 # 如果脚本运行失败,则升级权重 -10
}

vrrp_instance VI_1 {
    #表示状态是MASTER主机还是备用机 BACKUP
    state BACKUP
    #该实例绑定的网卡
    interface eth0
    #保证主备节点一致即可
    virtual_router_id 51
    #权重,master权重一般高于 backup,如果有多个,那就是选举,谁的权重高,谁就当选
    priority 90
    #主备之间同步检查时间间隔,单位秒
    advert_int 1
    #认证权限密码,防止非法节点进入
    authentication {
        auth_type PASS
        auth_pass Zf@123456
    }
    #虚拟出来的 ip,可以有多个(vip)
    virtual_ipaddress {
        192.168.89.20
    }

   track_script {
        check_nginx_alive   # 追踪 nginx 脚本
   }
}

注意:备节点中 router_id 与主节点不能一致,必须保证唯一,备节点的 state 必须为 BACKUP,权重priority 必须比主节点小

/etc//keepalived目录下创建检测nginx存活脚本,并添加以下内容

创建检测脚本

touch check_nginx_alive_or_not.sh

添加以下内容

#!/bin/bash
A=$(ps -C nginx --no-header | wc -l) 
if [ "$A" -ne 0 ]; then 
    exit 0  # nginx 进程正在运行,返回 0 表示成功
else
    exit 1  # nginx 进程未运行,返回 1 表示失败
fi

6、启动

# 启动 keepalived
systemctl start keepalived
# 设置开机自启
systemctl enable keepalived
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coder-java-jar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值