当前位置: 首页 > article >正文

keepalived踩坑记录

环境

操作系统: CentOS7.9
keepalived: 1.35

master配置

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
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配置

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
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、./执行脚本的区别


http://www.kler.cn/a/451065.html

相关文章:

  • 直流电源如何输出恒压源和恒流源
  • 全面掌握 AutoGluon:从入门到生产环境的实践指南
  • 抓取手机HCI日志
  • Web 第一次作业 初探html 使用VSCode工具开发
  • Scala课堂小结
  • 【从零开始入门unity游戏开发之——unity篇02】unity6基础入门——软件下载安装、Unity Hub配置、安装unity编辑器、许可证管理
  • 前端:纯前端快速实现html导出word和pdf
  • 【EthIf-13】EthIfGeneral容器配置-01
  • IDEA使用Alt + Enter快捷键自动接受返回值一直有final修饰的问题处理
  • 重温设计模式--中介者模式
  • 微积分复习笔记 Calculus Volume 2 - 5.1 Sequences
  • Golang并发机制以及它所使⽤的CSP并发模型
  • [LeetCode-Python版]相向双指针——18. 四数之和
  • MySQL什么情况下会导致索引失效
  • 关于C语言库的调用
  • 如何编译Opencv +ffmpeg linux 明明安装了ffmpeg但是opencv就是找不到
  • Flutter 基础知识总结
  • vmime.net_4.dll详解:它是什么,有何用途?
  • 鸿蒙学习记录之http网络请求
  • Linux 环境下运行 .NET 8.0 core项目
  • 碰一碰发视频源码搭建的技术拓展,支持OEM
  • 【HarmonyOS 5.0】第十二篇-ArkUI公共属性(一)
  • QT程序发布后,mysql在其它电脑设备无法连接数据库
  • LLaMA-Factory(一)环境配置及包下载
  • ubuntu扩展逻辑卷大小 (安装系统时默认只使用一半)
  • mysql修改表字段 ALTER 命令