Ivs+keepalived:高可用集群

news2024/9/28 21:21:37

Ivs+keepalived:高可用集群
keepalived为lvs应运而生的高可用服务。lvs的调度器无法做高可用,keepalived这个软件就是为了实现调度器的高可用。
注意:keepalived不是专门为lvs集群服务的,也可以做其他代理服务器的高可用。

lvs的高可用集群:

主调度器和备调度器(可以有多个)一主两备或一主一备。
主调度器能够正常运行时,由主调度器进行后端真实服务器的分配处理。其余的备用调度器处在冗余状态,不参与集群的运转。主调度器出现了故障无法运行,备调度器才会承担主调度器的工作。一旦主调度器恢复工作,继续由主调度器进行处理,备调度器又成了冗余。

VRRP:

keepalived是基于vrrp协议实现Ivs服务的高可用。解决了调度器单节点的故障问题。

VRRP协议:

提高网络路由器的可靠性开发的一种协议。
选出主和备,预先设定好了主和备的优先级。主的优先级高。备的优先级低。一旦开启服务器,优先级高的,会自定抢占主的位置。

VRRP组播通信:

224.0.0.18 VRRP协议当中的主备服务器通过组播地址进行通信,交换主备服务器之间的运行状态。主服务会周期性的发送VRRP报文消息,以告知其他备服务器。主服务现在的状态。

主备切换:

主服务器发生故障,或者不可达,VRRP协议会把请求转义到备服务器。通过组播地址,VRRP可以迅速的通知其他服务器发生了主备切换,确保新的主服务器可以正常的处理客户端的请求。

故障恢复:

一旦主服务器恢复通信,由组播地址进行通信,发现在恢复的主服务器优先级更高,会抢占原主服务器的位置,成为主服务器,调度和接受请求。

Ivs-DR模式结合keepalived

keepalived的体系模块:
全局模块:core模块,负载整个keepalived启动加载和维护。
VRRP模块:实现vrrp协议,主备切换。
check:负责健康检查,检查后端真实服务器的健康健康。配置真实服务器的模块当中。

Keepalived实现原理

由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务。
每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态。若
当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务。在配置时设置优先级,优先级高的那一方为master。master节点承载着VIP地址。

脑裂:

主和备同时拥有VIP地址。在高可用系统当中,联系两个节点的心跳线,本来是一体的,动作协调的高可用系统。心跳线断开后,分裂成了两个独立的个体。主备之间失去了联系,都以为是对方出现了故障。两个调度器开始抢主的位置,抢占VIP。主也有vip,备也有vip,导致整个集群失败。

软件层面:
1、配置文件。
2、tcpdump抓包分析重启。
网络层面:
高可用服务器之间心跳线检测失败。主备之间无法进行通信。
硬件层面:
连接主备之间的心跳线老化
网卡或者网卡的驱动失效,ip地址配置冲突。
防火墙没有配置心跳线消息的传输通道,导致检测失败
后端服务器的配置问题,心跳方式不同。心跳广播冲突。软件BUG.

如何解决keepalived脑裂的问题:
1、硬件:准备两条心跳线,这样断了一跳,依然能够传送心跳
2、设置防火墙一定要让心跳的消息通过
3.    监控软件,实时检测(zabbix)).

配置

test1:主调度器20.0.0.20
test2:备调度器20.0.0.21
test3后端真实服务1:20.0.0.22
test4后端真实服务2:20.0.0.31
vip地址:20.0.0.100
客户端:20.0.0.32

test1 2 yum -y install ipvsadm keepalived   

test1

cp keepalived.conf keepalived.conf.bak
vim keepalived.conf

test2

test3 4 yum -y install nginx

test4

this is test2

vim /etc/sysconfig/network-scripts/ifcfg-lo:0

DEVICE=lo:0

ONBOOT=yes

IPADDR=20.0.0.100

NETMASK=255.255.255.255

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

test 3同理

nginx+keepalived配置

test1 20.0.0.20 主 test2 20.0.0.21备       test3 20.0.0.22 客户端

test1 2 yum -y install keepalived  

test1

test2

test1 和 test2

this is test1     this is test2

test3 curl 20.0.0.100

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

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

相关文章

FFmpeg 解析Glide 缓存下的图片文件报错(Impossible to open xxx)

简单介绍下背景 我们业务有个功能把图片放到一个文件中,统一进行播放 ,但是遇到一个棘手问题,某一个情况下 的图片 就是打不开 就是报错。以为是编译参数 。哪些格式没有加上。但经过测试 该加的都加了。 所以 不是编译参数的问题。 Impossi…

Qt之自定义QStringListModel设置背景色和前景色

一.效果 二.实现 QStringListModel里只实现了Qt::EditRole和Qt::DisplayRole,不能直接设置背景色和前景色,所以我们要继承QStringListModel,重写其中的data和setData方法,使其支持Qt::ForegroundRole和Qt::BackgroundRole。 QHStringListModel.h #ifndef QHSTRINGLISTMO…

matplotlib画图之纵坐标乱码

问题: 今天遇到一个问题就是关于使用python中的matplotlib库画学习率的变化图,出现了纵坐标乱码的现象。 具体如下图(重点看纵坐标): 解决办法 我检查了传入的数据以为是传入的数据错了,想了半天数据错了和…

MySQL 约束条件,关键字练习,其他语句

创建表的完整语法 create table t1( id int, name varchar(43), age int ); create table 库名.表名( 字段名1 数据类型 约束条件 约束条件 约束条件 约束条件, 字段名2 数据类型 约束条件 约束条件 约束条件 约束条件, 字段名3 数据类型 约束条件 约束…

Elasticsearch聚合----aggregations的简单使用

文章目录 Getting started1、搜索 address 中包含 mill 的所有人的年龄分布以及平均年龄,但不显示这些人的详情2、size0不展示命中记录,只展示聚合结果3、按照年龄聚合,并且请求这些年龄段的这些人的平均薪资4、查出所有年龄分布,…

【Matlab-基于形态学的权重自适应去噪】

【Matlab-基于形态学的权重自适应去噪】 1 引言2 数学形态学原理3 权重自适应的多结构形态学去噪4 实现代码4.1 主函数代码4.2 串、并联去噪4.3 图像权值计算4.4 计算 PSNR 值 5 实验结果 参考书籍:计算机视觉与深度学习实战:以MATLAB、Python为工具, 主…

仿真软件Proteus8.10 SP3 pro一键安装、汉化教程(附proteus8.10下载链接安装视频)

本破解教程仅供个人及 proteus 8.10粉丝们交流学习之用,请勿用于商业用途, 谢谢支持。此版本为Proteus8.10 SP3 pro 这里写目录标题 安装包下载链接:视频教程 一、安装软件解压二、软件安装三、汉化 安装包下载链接: http://www.eemcu.cn/2022/05/14/pr…

【COMP305 LEC 8】

LEC 8 Comp305 Part I. Artificial Neural Networks Topic 3. Hebb’s Rules 1. Hebb’s Rules and the historical background The McColloch-Pitts neuron made a base for a machine (network of units) capable of 1. storing information and 2. producing logical…

2.2.3 三层交换机实现VLAN之间的通信

实验2.2.3 三层交换机实现VLAN之间的通信 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.划分SW2A的VLAN,并分配接口。2.划分SW3A的VLAN,配置每个VLAN接口的IP地址。3.设计计算机的网关,实现不同VLAN之间和不同网络之间的通…

零售数据分析模板分享(通用型)

零售数据来源多,数据量大,导致数据的清洗整理工作量大,由于零售的特殊性,其指标计算组合更是多变,进一步导致了零售数据分析工作量激增,往往很难及时分析数据,发现问题。那怎么办?可…

什么是大数据平台?

大数据平台是一套综合性的软件工具和技术,旨在帮助组织收集、存储、管理、分析和可视化大量复杂的数据。这些平台通常提供一系列的服务和功能,使得用户能够更容易地处理和分析大数据,从而获得有价值的洞察和知识。 以下是大数据平台通常包括的…

【力扣刷题】解码方法

【力扣刷题】解码方法😎 前言🙌91. 解码方法解题思路:解题源码分享: 运行结果截图: 总结撒花💞 😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧&#…

RocketMQ如何保证消息被有序消费

RocketMQ如何保证消息被有序消费 消费者端如何接收有序消息 队列消费的两种模式 并发消费模式 当同一类消息被送入不同队列,且这些消息在处理上并不需要按时序消费时,可以考虑使用并发消费模式。 并发消费模式生产者会将消息轮询发送到不同的队列当…

OpenCV官方教程中文版 —— 直方图的计算,绘制与分析

OpenCV官方教程中文版 —— 直方图的计算,绘制与分析 前言一、原理1.统计直方图2. 绘制直方图3. 使用掩模 前言 • 使用 OpenCV 或 Numpy 函数计算直方图 • 使用 Opencv 或者 Matplotlib 函数绘制直方图 • 将要学习的函数有:cv2.calcHist()&#xf…

[100天算法】-不同路径(day 37)

题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如…

MATLAB | 两种上色方式的旭日图绘制

嘿,这次真的是好久不见了,好不容易才有点空写点文章,这段时间忙到后台回复都有点来不及看,很抱歉有一部分后台留言刚看到就已经超过时限没法回复了,不过根据大家的留言,需求主要集中在希望出一期旭日图的教…

12、Python -- if 分支 的讲解和使用

目录 程序结构顺序结构分支结构分支结构注意点不要忘记冒号 if条件的类型if条件的逻辑错误if表达式pass语句 程序流程 分支结构 分支结构的注意点 if条件的类型 if语句的逻辑错误 if表达式 程序结构 Python同样提供了现代编程语言都支持的三种流程 顺序结构 分支结构 循环结构…

CPU核检测

import psutil num_cpus psutil.cpu_count(logicalFalse) print(num_cpus) num_cpus psutil.cpu_count(logicalTrue) print(num_cpus)结果如下 可以看到这个结果是不同的

fiddler导出录制脚本并导出jmter脚本文件

1、fiddler导出录制脚本 可以通过save保存录制的脚本: 也可以选中这些链接,点击右键-->save-->select sessions -->选择要导入的文件 2、导入录制的脚本 再fiddler-->file--->load ARCHIVERS--->选择刚导出的.saz文件,正…

01-初识VUE3

01.初识VUE3 1.创建VUE3项目 1).使用 vue-cli 创建 ## 查看vue/cli版本,确保vue/cli版本在4.5.0以上 vue --version ## 安装或者升级你的vue/cli npm install -g vue/cli ## 创建 vue create vue_test ## 启动 cd vue_test npm run serve2).使用 vite 创建 ## 创…