Keepalived 踩坑

场景:操作系统环境为centos7.9 这里举例了定时检测一个http接口,若超过4次返回不为200则切换master到backup 同时若当前节点被切换为备份节点需要执行一个自己的脚本

两台虚拟机 准备一个vip

1.安装keepalived yum install keepalived

2.配置文件路径/etc/keepalived/keepalived.conf

3.master 节点配置

! Configuration File for keepalivedglobal_defs {smtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strict  vrrp_garp_interval 0vrrp_gna_interval 0script_user rootenable_script_security
}vrrp_script chk_url {script "/etc/keepalived/check.sh"interval 5weight 2rise 4fall 4
}vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 99priority 99advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.200.16}track_script {chk_url}notify_backup "/etc/keepalived/keepalive.sh"
}

4.backup配置

! Configuration File for keepalivedglobal_defs {smtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addr#vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0script_user rootenable_script_security
}vrrp_script chk_url {script "/etc/keepalived/check.sh"interval 1weight 2
}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 99priority 98advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.200.16}track_script {chk_url}notify_backup "/etc/keepalived/keepalive.sh"
}

这里说明下 chk_url函数就是配置你需要检测的脚本 

interval 间隔执行周期秒

 weight 权重值 

rise 判断一个服务正常工作之前需要连续成功的检测次数

fall 失败次数 切换备节点

track_script  这个设置后才会开始触发执行我们的脚本

notify_master 当前节点切换成主节点时触发 

notify_backup 当前节点切换成备节点时触发 

notify 当前节点切换成主/备节点和发生切换异常时触发 

5.脚本示例

check.sh

#!/bin/bashAPI_URL="http://xxx"response=$(curl -s -o /dev/null -w "${http_code}" "$API_URL")if [ $response != "200" ]; thenexit 1
elseexit 0
fi

keepalive.sh

#!/bin/bash
#根据自己业务需求执行对应的shell命令
systemctl restart xxx

注意事项:

  1. 检测脚本需要放在/etc/keepalived/
  2. 脚本的权限为 chmod 744 或者755(设置777不行)
  3. 其他配置未使用可以删除掉,按照我的配置
  4. vrrp_strict 这个需要注释掉,不然vip无法访问
  5. script_user root   enable_script_security 这两个需要添加上,不然启动会报错
  6. virtual_router_id  主备一定需要一致且在你的环境中需要唯一
  7. priority 设置的数字主>备
  8. authentication 主备需要一致
  9. interface 设置网卡 需要ip addr设置准确
  10. 脚本设置需要返回指定的值,keepalived是根据返回来判断是否正常
  11. 日志文件是写在/var/log/message 可以过滤下keepalived关键字 
  12. 若只是由于检测监听的脚本的服务异常,直接查看master节点日志就可以看见主备切换
  13. 当keepalived服务停止后 可以在backup查看切换日志

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/763045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果电脑不能删除移动硬盘文件 苹果电脑移动硬盘只读模式如何更改 移动硬盘文件或目录损坏且无法读取怎么办

当我们将移动硬盘插入苹果电脑后,发现无法对移动硬盘中的文件进行编辑该怎么办?相信有不少网友遇到过这类情况。苹果电脑不能删除移动硬盘文件,或无法拷贝硬盘里的文件。今天我为大家解决苹果电脑移动硬盘只读模式如何更改的问题,…

superset 二开增加 flink 数据源连接通过flink sql 查询数据

前言 superset 目前还不支持 flink 的数据源连接,目前我们公司在探索使用数据湖那一套东西: 使用 flink 作为计算引擎使用 paimon oss对象存储对接 flink 作为底层存储使用 superset 通过 flink gateway 查询 paimon 数据形成报表 增加flink数据源 …

Linux中关于库的概念

一、概念 库是一个二进制文件,包含的代码可被程序调用。例如标准C库、数学库、线程库... 库有源码,可下载后编译;也可以直接安装二进制包。 库是事先编译好的,可以复用的代码。 在OS上运行的程序基本上都要使用库,…

git push出错: src refspec dev/xxx does not match any

使用如下命令gitp push出错: git push origin 远端分支名 git push origin dev/xxxx error: src refspec dev/xxxx does not match any error: failed to push some refs to https://git.woa.com/..... 解决方案 1: git push origin 本地分支名:远端分支名 解决方案2&#…

docker进阶篇,docker集群介绍

docker swarm 官网:https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/ 什么是 docker swarm docker swarm 是 docker 官方提供的容器编排和集群管理工具。它允许用户将多个 docker 主机组成一个虚拟的 docker 集群,以便更高效地管理…

互联网环境下工厂生产企业的数字化转型路径研究

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 随着互联网技术的飞速发展,数字化已经成为企业提升竞争力的重要手段。对于工…

LeetCode-热题100:283.移动零

题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums…

四信雨水情监测系统,助力构建“三道防线”精准防洪

近年来,我国突破历史记录、颠覆传统认知的水旱灾害频繁发生,依靠传统监测预报手段已难以满足当前洪水防御工作的需求。为贯彻“两个坚持、三个转变”的防灾减灾救灾理念,保障人民群众生命财产安全赢得时机,就必须进一步强化应对洪…

C语言经典面试题目(二十二)

1、解释一下C语言中的预处理器指令及其作用。 预处理器指令是在编译之前由预处理器处理的指令,用于对源代码进行预处理。预处理器指令以#符号开头。常见的预处理器指令包括: #include:用于包含头文件,将指定的文件内容插入到当前…

Cadence OrCAD使用小技巧

Cadence是公司名,Allegro(俗称阿狸狗)是该公司旗下的EDA工具品牌,OrCAD是该公司收购公司的EDA工具品牌。 OrCAD这个产品线是Cadence收购来的,Allegro才是嫡系。 注意:dsn不能放在中文路径下。 开机选captur…

20240316-1-向量化搜索

向量化搜索 在高维空间内快速搜索最近邻(Approximate Nearest Neighbor)。召回中,Embedding向量的搜索。 FAISS、kd-tree、局部敏感哈希、【Amnoy、HNSW】 FAISS faiss是Facebook的AI团队开源的一套用于做聚类或者相似性搜索的软件库&…

golang kafka client 消费者代码

启动kafka [rootlocalhost kafka_2.12-2.5.1] # [kube:] cat start_zk.sh ./bin/zookeeper-server-start.sh config/zookeeper.properties > /dev/null & [rootlocalhost kafka_2.12-2.5.1] # [kube:] cat start_kafka.sh ./bin/kafka-server-start.sh config/server…

go执行go mod tidy时报错连接失败(go换依赖源)

报错: go: cloud.google.com/gov0.41.0: Get "https://proxy.golang.org/cloud.google.com/go/v/v0.41.0.mod": dial tcp 142.251.43.17:443: connectex: A connection attempt failed because the connected party did not properly respond after a pe…

ITK零碎笔记

1、ITK提取等高线&#xff08;区域轮廓&#xff09; itk::ContourExtractor2DImageFilter typedef itk::ContourExtractor2DImageFilter<FSliceType> ContourExtractorType; ContourExtractorType::Pointer contourFilter ContourExtractorType::New(); contourFilter-…

leetcode 2617. 网格图中最少访问的格子数【单调栈优化dp+二分】

原题链接&#xff1a;2617. 网格图中最少访问的格子数 题目描述&#xff1a; 给你一个下标从 0 开始的 m x n 整数矩阵 grid 。你一开始的位置在 左上角 格子 (0, 0) 。 当你在格子 (i, j) 的时候&#xff0c;你可以移动到以下格子之一&#xff1a; 满足 j < k < gri…

蓝桥杯算法练习系统—金属采集(树形dp)

问题描述 人类在火星上发现了一种新的金属&#xff01;这些金属分布在一些奇怪的地方&#xff0c;不妨叫它节点好了。一些节点之间有道路相连&#xff0c;所有的节点和道路形成了一棵树。一共有 n 个节点&#xff0c;这些节点被编号为 1~n 。人类将 k 个机器人送上了火星&…

谷歌地球三维模型

收费工具&#xff0c;白嫖党勿扰 收费金额2000元 0 概述 我也不知道为什么&#xff0c;之前发的谷歌地球三维模型相关的博客&#xff0c;被CSDN屏蔽&#xff0c;我问了客服&#xff0c;客服回答&#xff0c;他也不知道什么原因… 1 折中方案 同学们可以看这篇博客&#xff0…

【网络】:IP协议

IP协议 一.IP报头二.网段划分三.IP地址数量限制四.私有IP地址和公有IP地址五.路由 IP协议就是让数据有能力进行跨网络传输。 一.IP报头 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.4位头部长度(header length): IP头部的长度是多少个32bit, 也就是 length * …

【CMake】所见所闻所学

Note: 本贴仅记录遇到的CMake的问题&#xff0c;以问题为驱动。 - cmake_minimum_required - project - add_executable - target_include_directories - ExternalProject_Add ExternalProject_Add 是 CMake 中用于管理和构建外部项目的模块。通过 ExternalProject_Add&…

海外客户获取难?海外云手机助力电商引流!

海外电商面临的市场竞争激烈&#xff0c;如何在海外市场获客成为了摆在许多卖家面前的难题。而在这个问题的解决方案中&#xff0c;海外云手机崭露头角&#xff0c;成为助力电商引流的新利器。 在当前市场中&#xff0c;云手机主要用于游戏挂机&#xff0c;但其潜力在海外电商领…