Keepalive基础

一。简介和功能

vrrp协议的软件实现,原生设计目的是为了高可用ipvs服务

功能:

1.基于vrrp协议完成地址流动

2.为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)

3.为ipvs集群的各RS做健康状况检测

4.基于脚本调用接口完成脚本中的跟中定义的功能,进而影响集群事务,以此支持nginx,haproxy等服务

二。keepalived环境准备

安装:yum install keepalived

配置文件:vi /etc/keepalived/keepalived.conf

模块一:全局模块

模块二:VIP模块

主配置master配置:

备份backup配置:

使用ip a查看是否自动东生成子网卡下的ip地址

检测ip是否有效:tcpdump -i 网卡名 -nn host 组播地址

三。keepalived的常见用法

1.其他主机ping通keepalived虚拟ip

当keepalived配置了虚拟ip后,其他的主机不能进行ping通ip(防火墙默认关闭了keepalived)

解决方法:vi /etc/keepalived/keepalived.conf (主备keepalive均配置)

2.实现keepalived的日志分离

解决方法: vi /etc/sysconfig/keepalived (指定采集日志的id为0-7之间)

vi /etc/rsyslog.conf 

最后重启keepalived检查是否存在/var/log/keepalived这个文件,且里面内容为keepalived的内容

3.独立出子配置文件

解决方法:vi /etc/keepalived/keepalived.conf(先注释整段)

mkdir -p /etc/keepalived/conf.d

vi /etc/keepalived/conf.d/keepalived.conf

4.抢占模式和非抢占模式:

默认抢占模式为preempt,即当高优先级的主机恢复在线后,会抢占优先级低的master角色,这样会导致vip在KA主机中来回漂移,导致网络抖动

建议设置抢占模式为非抢占模式nopreempt,即优先级主机恢复后,并不会抢占优先级主机master的角色,非抢占模块下,如果原主机down机,vip迁移至新主机后,后续也会发生down时,任会将vip迁回主机

配置方法:vi /etc/keepalived/keepalived.conf (两台主机均改为BACKUP,且设置为nopreempt)

5.VIP单波配置

默认keepalived主机之间利用多播相互通告消息,会造成网络拥堵,可以换成单薄,减少网络流量

解决方法: vi /etc/keepalived/keepalived.conf (两主机之间的ip写相反的ip)

检测方法:tcpdump -i ens160 -nn src host 192.168.142.133 and dst host 192.168.142.135看源到目的ip是否有精确ip,而不是组播地址

6.实现master/master的keepalived双主模式:

master/stave的单主模式,同一时间只有一个keealived对外提供服务,此主机比较繁忙,而另外一台主机却空闲,利用率低下,可以使用双主模式解决问题

解决方法: vi /etc/keepalived/keepalived.conf

主机甲:

主机乙:

四。实现IPV4的高可用性

1.DR的配置:

(1)客户机配置:(所有均配置虚拟vip,并且与keepalived的相同)

ip a a 192.168.142.20/32 dev lo:为各个主机添加VIP

vi /etc/sysctl.conf:编辑配置文件

sysctl -p:重启服务

(2)服务器配置:

yum install ipvsadm -y:下载ipvs

 vi /etc/keepalived/keepalived.conf(备用机也配置)

systemctl restart keepalived:重启

进行测试:

五。VRRP Script配置

keepalived利用VRRP Script技术,可以调用外部的辅助脚本进行资源监控,并根据监控的结果实现优先动态调整,从而实现其他应用的高可用性功能

vi /etc/keepalived/test.sh

chmod +x /etc/keepalived/test.sh


 vi /etc/keepalived/keepalived.conf 

存在文件,返回值为非0(weight生效,优先级减去权重),不存在返回值为0(weight不生效)

六。实战案例:实现haproxy的高可用

目的:可以解决当一台服务器的haproxy失效后,可以将ip进行转移到另外一台上面,实现高可用

服务器:

1.vi /etc/sysctl.conf (不进行设置,双方服务器之间的ip无法识别,启动不了haproxy)

2.yum install haproxy -y
3.vi /etc/haproxy/haproxy.cfg (两台服务器复制一样的vip,为了让一台失效,另外一台能继续运行)

4.vi /etc/keepalived/test.sh

5. chmod +x /etc/keepalived/test.sh 

6.vi /etc/keepalived/keepalived.conf 

7.systemctl restart keepalived

客户机

1.ip a d 192.168.142.20/32 dev lo:删除以前的vip

2.vi /etc/sysctl.conf:关闭设置

同时服务器要进行关闭以前的ipvsadm配置

七.邮件模式:

下载软件:yum install mailx -y

vi /etc/mail.rc

测试: echo "hello word" | mail -s test 12345678@qq.com

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3: directive自定义指令防止重复点击

第一章 前言 相信很多小伙伴会在各个渠道上搜如何防止重复点击,之后会推荐什么防抖、节流来避免这一操作,该方法小编就不继续往下说了。接下来说说小编的场景,项目已经完成的差不多了,但是由于之前大家都是直接点击事件调用方法的…

第4章 4.3 EF Core 的实体类配置 Data Annatation Fluent API

4.3.1 约定大于配置 主要的约定规则: 规则 1: 数据库表名采用上下文类中对应的 DbSet 的属性名。 规则 2:数据库表列的名字采用实体类属性的名字,列的数据类型采用和实体类属性类型 兼容的类型。比如在 SQLServer 中,string 类型对应 nvarc…

【Redis 原理】通信协议 内存回收

文章目录 通信协议--RESP内存回收内存过期策略惰性删除周期删除 内存淘汰策略 通信协议–RESP Redis是一个CS架构的软件,通信一般分两步(不包括pipeline和PubSub): 客户端(client)向服务端(se…

【GreenHills】GHS合并库文件

1、 文档目标 解决Green Hills对于多个库文件合并问题 2、 问题场景 客户具有多个工程库文件。但是,客户想要在项目最终交付的时候,通过将多个库文件打包成一个库文件,进行交付。 3、软硬件环境 1)、软件版本:MULTI…

山东大学软件学院nosql实验四

实验题目: 使用Java做简单数据插入 实验内容 用API方式,做数据插入。 使用Java语言实现数据插入界面,为实验一建立的学生、教师、课程表插入数据,可以在前端界面中录入数据之后保存,也可以导入Excel中的数据。 实…

nodejs npm install、npm run dev运行的坎坷之路

1、前面的种种都不说了,好不容易运行起来oap-portal项目,运行idm-ui项目死活运行不起来,各种报错,各种安装,各种卸载nodejs,卸载nvm,重装,都不好使。 2、甚至后来运行npm install会…

20250223下载并制作RTX2080Ti显卡的显存的测试工具mats

20250223下载并制作RTX2080Ti显卡的显存的测试工具mats 2025/2/23 23:23 缘起:我使用X99的主板,使用二手的RTX2080Ti显卡【显存22GB版本,准备学习AI的】 但是半年后发现看大码率的视频容易花屏,最初以为是WIN10经常更换显卡/来回更…

计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

centos 7 安装python3 及pycharm远程连接方法

安装openssl 使用pip3安装 virtualenv的时候会提示WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 这是因为缺少openssl 2.0以上版本 解决办法: 一、先确认版本 openssl version 二、安…

DeepSeek 助力 Vue 开发:打造丝滑的文本输入框(Text Input)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

Bybit最大资金盗窃事件技术分析 by CertiK

事件概述 2025年2月21日UTC时间下午02:16:11,Bybit的以太坊冷钱包(0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4[1])因恶意合约升级遭到资金盗取。根据Bybit CEO Ben Zhou的声明[2],攻击者通过钓鱼攻击诱骗冷钱包签名者错误签署恶意交易。他提到,该交易被伪装为合法操作:…

欧拉筛法寻找素数与计算欧拉函数求和

欧拉筛法寻找素数与计算欧拉函数求和 一、欧拉函数1.1定义1.2性质1.3唯一分解定理(算术基本定理) 二、Eratosthenes筛法寻找素数三、欧拉筛法寻找素数3.1算法代码3.2算法分析3.2.1时间复杂度分析(对合数进行不重复筛选)3.2.2算法正…

VScode 开发

目录 安装 VS Code 创建一个 Python 代码文件 安装 VS Code VSCode(全称:Visual Studio Code)是一款由微软开发且跨平台的免费源代码编辑器,VSCode 开发环境非常简单易用。 VSCode 安装也很简单,打开官网 Visual S…

政安晨【零基础玩转各类开源AI项目】DeepSeek 多模态大模型Janus-Pro-7B,本地部署!支持图像识别和图像生成

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 目录 下载项目 创建虚拟环境 安装项目依赖 安装 Gradio(UI) 运…

开发 picgo-plugin-huawei 插件,解决华为云社区外链限制问题

开发 picgo-plugin-huawei 插件,解决华为云社区外链限制问题 在技术博客平台中,外链的使用常常受到限制,这给我们的写作和内容展示带来了一定的不便。为了应对这一问题,我开发了 picgo-plugin-huawei 插件,它能够有效…

QT 基础知识点

1.基础窗口类QMainWindow qDialog Qwidget 随项目一起创建的窗口基类有三个可选QMainWindow qDialog Qwidget 1.1 Qwidget 是所有窗口的基类,只要是他的子类,或子类的子类,都具有他的属性。 右键项目 Add New -> Qt qt设计师界面类&am…

【OMCI实践】ONT上线过程的omci消息(五)

引言 在前四篇文章中,主要介绍了ONT上线过程的OMCI交互的第一、二、三个阶段omci消息,本篇介绍第四个阶段,OLT下发配置到ONT。前三个阶段,每个厂商OLT和ONT都遵循相同标准,OMCI的交换过程大同小异。但第四个阶段&…

WebXR教学 02 配置开发环境

默认操作系统为Windows 1.VS Code VS Code 是一款轻量级、功能强大的代码编辑器,适用于多种编程语言。 下载 步骤 1:访问 VS Code 官方网站 打开浏览器(如 Chrome、Edge 等)。 在地址栏输入以下网址: https://code.v…

云计算及其他计算

云计算知识思维导图:https://kdocs.cn/l/cpl2Kizx7IyC 云计算的核心判断标准通常基于美国国家标准与技术研究院(NIST)的定义,并结合实际应用场景。以下是判断一个服务是否为云计算的关键标准,以及对应的服务类型&#…

记录首次安装远古时代所需的运行环境成功npm install --save-dev node-sass

最开始的报错: 最后根据报错一步步 安装所需要的pythong之类的环境,最后终于成功了,得以让我在github上拉的vuehr项目(狗头18年还是20年的远古项目)成功本地运行,最后附上本地运行成功的贴图。如果大家也在…