keepalived踩坑记录

环境

操作系统: CentOS7.9

keepalived: 1.35

master配置

bash 复制代码
cat > /etc/keepalived/keepalived.conf<<'EOF'
global_defs {
    router_id Nginx1
}
vrrp_script chk_nginx {
    script "/etc/keepalived/check_nginx.sh"
    interval 3
    weight -3
}
vrrp_instance VI_1 {
    state MASTER
    interface enp0s8 
    virtual_router_id 101
    priority 120
    advert_int 2
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 12333
    }
    virtual_ipaddress {
        192.168.240.6
    }
    track_script {
      chk_nginx 
    }
}

EOF
bash 复制代码
cat > /etc/keepalived/check_nginx.sh<<'EOF'
B=$(pgrep nginx | wc -l)
if [[ $B -eq 0 ]]; then
    /usr/bin/systemctl stop keepalived
    exit 1
fi
exit 0

EOF

backup配置

bash 复制代码
cat > /etc/keepalived/keepalived.conf<<'EOF'
global_defs {
    router_id Nginx2
}
vrrp_script chk_nginx {
    script "/etc/keepalived/check_nginx.sh"
    interval 3
    weight -3
}
vrrp_instance VI_1 {
    state BACKUP
    interface enp0s8 
    virtual_router_id 101
    priority 119
    advert_int 2
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 12333
    }
    virtual_ipaddress {
        192.168.240.6
    }
    track_script {
      chk_nginx
    }
}

EOF
bash 复制代码
cat > /etc/keepalived/check_nginx.sh<<'EOF'
B=$(pgrep nginx | wc -l)
if [[ $B -eq 0 ]]; then
    /usr/bin/systemctl stop keepalived
    exit 1
fi
exit 0

EOF

说明

坑点

  1. 检测脚本/etc/keepalived/check_nginx.sh第一行一定不要写#!/bin/bash
  2. 检测脚本/etc/keepalived/check_nginx.sh的退出状态码不起作用,所以只能/usr/bin/systemctl stop keepalived

排错参考文档

【Linux】详解shell中source、sh、bash、./执行脚本的区别

相关推荐
欧先生^_^1 小时前
Linux内核可配置的参数
linux·服务器·数据库
海尔辛2 小时前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
王RuaRua3 小时前
[数据结构]5. 栈-Stack
linux·数据结构·数据库·链表
曼岛_3 小时前
[架构之美]linux常见故障问题解决方案(十九)
linux·运维·架构
tan180°3 小时前
Linux进程信号处理(26)
linux·c++·vscode·后端·信号处理
大神的风范3 小时前
从0开始学linux韦东山教程第三章问题小结(4)
linux·服务器
sz66cm3 小时前
Linux基础 -- SSH 流式烧录与压缩传输笔记
linux·笔记·ssh
YOYO--小天4 小时前
RS485和RS232 通信配置
linux·嵌入式硬件
大蚂蚁2号4 小时前
windows文件共享另一台电脑资源管理器网络文件夹无法找到机器
运维·服务器·网络
Lw老王要学习4 小时前
Linux数据库篇、第一章_02_MySQL的使用增删改查
linux·运维·数据库·mysql·云计算·it