LVS+keepalived小白都看得懂也不来看?

1 高可用集群

1.1 一个合格的集群应该具备的特性

1.负载均衡
LVS Nginx HAProxy F5
2.健康检查(使得调度器检查节点状态是否可以正常运行,调度器(负载均衡器)也要做健康检查)for调度器/节点服务器 keeplived hearbeat
健康检查(探针)的方式:
调度器的检查方法:
健康调度器是用于监控和管理节点服务器的工具。他定期发送请求到节点服务器,并根据响应结果判断节点服务器的健康状态
节点服务器的检查方法:

1.发送心跳消息 ping/pong

2.TCP的端口检查(向目标主机的IP:PORT 发送TPC连接请求 如果TCP连接成功三次握手成功则认为健康检查探测成功,如果三次握手失败,则认为健康检查探测失败)

3.HTTP URL检查 (向目标主机的http://IP:PORT/URL路径 发送HTTP GET请求方法,如果响应状态码返回2XX 3XX,则认为探测成功,如果响应状态码是4XX 5XX,则认为探测失败)

3.做故障转移(正常情况下由主来接受用户数据的转发,如果主挂掉了,则由备来接受用户数据的转发)
通过VIP漂移来实现主备切换(通过IP命令去生成的并不是真的漂移)

1.2 脑裂故障

现象:主服务器和备服务器同时拥有VIP地址
原因:因为主服务器和备服务器之间的通信链路中断导致备服务器无法收到主服务器发送的VRRP心跳消息(或VIP通告消息,通告消息默认通过组播消息发送也可以通过广播消息发送),备服务器误认为主服务故障了并通过IP命令生成VIP地址。
解决方法:关掉主服务器或者备服务器其中一个的keeplived服务
预防方法: 1.主服务器和备服务器之间添加双链路通信。2.在主服务器上添加脚本进行链路判断与备服务器通信链路是否中断,如果确实链路中断,则自行关闭keeplived服务。3.利用第三方应用或监控系统来检测是否发生脑裂故障,如果发发生脑裂故障,则通过第三方应用或监控系统紫星关闭主服务器或者备服务器上面的keeplived服务。
脚本思路:

2 keepalived

2.1 keepalive工具接受

专为LVS和HA设计的一款健康检查工具(nginx、haproxy都可用)

支持故障自动切换
支持节点健康状态检查

判断LVS负载调度器、节点服务器的可用性,当master出现故障及时切换到backup节点保证业务正常,当master故障主机恢复后将其重新加入群集并且业务重新切换回master节点。

Keeplived 是一个基于VRRP协议来实现的LVS服务高可用反感,可以解决静态路由处现单点故障问题。

在一个LVS服务群集中通常有主服务(MASTE与R)和备服务器(BACKUP)两种角色的服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

2.2 Keepalived实现原理解剖

Keepalived采用VRRP热备份协议,实现Linux服务器的多机热备功能。

VRRP(虚拟路由冗余协议)是针对路由器的一种备份解决方案
  • 由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务

  • 每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态

  • 若当前子啊显得路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务。

双机热背的故障切换是由虚拟IP地址的漂移来实现,适用于各种应用服务器
实现基于Web服务器的双机热备

2.3 Keeplived体系主要模块和作用:

  • core模块:为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析
  • VRRP模块:是来实现VRRP协议的
Keepalived通过什么判断哪台主机为主服务器,通过什么方式配置浮动P?
答案:Keepalived首先做初始化先检查state状态,master为主服务器,backup为备服务器。然后再对比所有服务器的priority,谁的优先级高谁是最终的主服务器浮动IP地址。优先级高的服务器会通过ip命令为自己的电脑配置一个提前定义好的浮动IP
keepalived的抢占与非抢占模式:
抢占模式即MASTER从故障中恢复后,会将VIP从BACKUP节点中抢占过来。非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP非抢占式俩节点state必须为bakcup,且必须配置nopreempt。注意:这样配置后,我们要注意启动服务的顺序,优先启动的获取master权限,与优先级没有关系了。

3 防止发生脑裂现象的lvs+keepalive部署

过滤nginx服务的方法:lsof -i :80 ;ps -C nginx --no-header ; netstat -lntp | grep nginx ; pidof nginx ; killall -0 nginx ; ps aux | grep nginx |egrep -v "grep|quot;

主、被服务器安装keepalived 、 ipvsadm 、nginx (yum安装nginx需要repo包)

复制一份keepalived配置文件便于还原,并修改keepalived配置文件

修改配置内容

重启keepalived并查看虚拟网卡

保存策略并启动ipvsadm,查看VIP是否分发策略

调整 proc 响应参数,关闭Linux 内核的重定向参数响应

修改nginx配置文件,添加集群

把主服务器keepalived配置文件传给备服务器

修改备服务器配置文件

把主服务器nginx配置文件传给备服务器
web服务器设置,查看部署结果

关闭主服务器查看是否可以继续访问

4 LVS+keepalive的部署

卸载nginx服务,清除脚本和nginx部署测试结果

关闭主服务器查看是否可以访问

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

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

相关文章

机器学习中的一些经典理论定理

PAC学习理论 当使用机器学习方法来解决某个特定问题时,通常靠经验或者多次试验来选择合适的模型、训练样本数量以及学习算法收敛的速度等。但是经验判断或多次试验往往成本比较高,也不太可靠,因此希望有一套理论能够分析问题难度、计算模型能…

PyQt6 QTableWidget表格控件

锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计50条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…

JavaWeb笔记之前端开发HTML

一、引言 1.1HTML概念 网页,是网站中的一个页面,通常是网页是构成网站的基本元素,是承载各种网站应用的平台。通俗的说,网站就是由网页组成的。通常我们看到的网页都是以htm或html后缀结尾的文件,俗称 HTML文件。 …

Opencv入门6(读取彩色视频并转换为对数极坐标视频)

源码如下&#xff1a; #include <opencv2/opencv.hpp> #include <iostream> int main(int argc, char* argv[]) { cv::namedWindow("Example2_11", cv::WINDOW_AUTOSIZE); cv::namedWindow("Log_Polar", cv::WINDOW_AUTOSIZE); c…

互联网的演进与未来展望:一代、二代、三代互联网的发展之路

导言 从诞生至今&#xff0c;互联网已经经历了一代、二代、三代的演变。本文将深入研究这三个互联网时代的发展过程、遇到的问题、解决的过程&#xff0c;以及未来的可用范围&#xff0c;同时考察各国在互联网应用上的状况和未来的研究趋势。还将探讨在哪个方向能够取胜&#x…

LeetCode 取经之路——第三题-无重复长度的最长子串

&#x1f389;&#x1f389;&#x1f389;今天给大家分享的是一道滑动窗口的OJ题。 3.无重复长度的最长子串 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff0c;有不足的地方还请各位看官多多指教&#xff0c;大家一起学习交流&#xff01; 动动…

【开源软件】最好的开源软件-2023-第四名 vaadin

自我介绍 做一个简单介绍&#xff0c;酒架年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【…

[电子榨菜] js中的闭包closure

0.写在前面: 下学期就打算去实习了,这段时间要密集接收考试和面试的捶打,计网和软工就没有办法为大家继续贡献开源内容了,明年九月份之前的更新内容将会以前端,人工智能,和工程设计为基础, 很抱歉啦,不过我还是希望我这一年来的努力可以帮到一些人.虽然自己这一年过的浑浑噩噩…

2023/12/20 work

1. 使用select完成TCP客户端程序 2. 使用poll完成TCP并发服务器 3. 思维导图

docker搭建mysql8.0.32,实现主从复制(一主两从)

安装docker的步骤、使用命令就不写了&#xff0c;本文章是基于会使用docker、linux基本命令的基础上来写的。 开始步骤&#xff1a; 1. 拉取 mysql 镜像 docker pull mysql:8.0.32 2. 启动容器并运行mysql a. 准备mysql的配置文件&#xff08;该配置文件是&#xff1a;mysq…

神经网络:池化层知识点

1.CNN中池化的作用 池化层的作用是对感受野内的特征进行选择&#xff0c;提取区域内最具代表性的特征&#xff0c;能够有效地减少输出特征数量&#xff0c;进而减少模型参数量。按操作类型通常分为最大池化(Max Pooling)、平均池化(Average Pooling)和求和池化(Sum Pooling)&a…

Kafka消费者组

消费者总体工作流程 Consumer Group&#xff08;CG&#xff09;&#xff1a;消费者组&#xff0c;由多个consumer组成。形成一个消费者组的条件&#xff0c;是所有消费者的groupid相同。 • 消费者组内每个消费者负责消费不同分区的数据&#xff0c;一个分区只能由一个组内消费…

【设计模式--结构型--代理模式】

设计模式--结构型--代理模式 代理模式概述结构静态代理案例&#xff1a;卖车票jdk动态代理cglib代理三种代理对比优缺点使用场景 代理模式 概述 由于某些原因需要给某对象提供一个代理以控制该对象的访问。这时&#xff0c;访问对象不适合或者不能直接引用目标对象&#xff0…

FFmepeg——视频处理工具安装以及简单命令学习。

FFmpeg 是一个免费、开源且高度可定制的多媒体处理工具&#xff0c;它是一个强大的跨平台框架&#xff0c;用于处理音频、视频、多媒体流和图像。FFmpeg 的主要功能包括解码、编码、转码、流处理、多路复用、分离、合并、过滤等&#xff0c;支持多种音视频格式&#xff0c;包括…

【精简】mysql创建自定义函数 sql写法举例

一&#xff0c;举例的sql是查询 某个时间点某个币种的汇率 create function get_rate(idate date,CURRENCY varchar(32)) returns decimal(21,6) begin declare res decimal(21,6) default 1;selec rate into resfromt_exchangerate tewhere ratedate idateand CURRENCYID C…

SQL进阶理论篇(十三):数据库的查询优化器是什么?

文章目录 简介什么是查询优化器查询优化器的两种优化方式总结参考文献 简介 事务可以让数据库在增删改查的过程中&#xff0c;保证数据的正确性和安全性&#xff0c;而索引可以帮数据库提升数据的查找效率。查询优化器&#xff0c;则是帮助我们获取更高的SQL查询性能。 本节我…

具有超低功耗性能的R7F102GAC3CSP、R7F102GAC2DSP、R7F102G6C3CSP RL78/G22微控制器 16-bit MCU

RL78/G22 简介&#xff1a; 除了具有低电流消耗&#xff08;CPU工作时&#xff1a;37.5μA/MHz&#xff1b;STOP时&#xff1a;200nA&#xff09;外&#xff0c;RL78/G22微控制器还配备了丰富的电容触摸通道。完备的16-48引脚封装和32KB-64KB闪存&#xff0c;扩充了新一代RL78…

Java如何开发PC客户端(Windows,Mac,Linux)

项目编译工具&#xff1a;Gradle开发工具&#xff1a; Idea开发语言&#xff1a; 建议java17以上ui组件&#xff1a;openjfx (org.openjfx.javafxplugin)打包工具: jpackage (org.beryx.jlink) 一、如何解决打包问题 java 14以后&#xff0c;有了jpackage工具&#xff0c;能够…

计算机网络 运输层上 | 运输层概述 UDP协议 端口 套接字

文章目录 1 运输层概述1.1 运输层存在的意义1.2 运输层协议概述1.3 主要端口号 2 运输层主要协议 UDP2.1 UDP的特点2.2 UDP首部格式2.3 UDP工作流 1 运输层概述 1.1 运输层存在的意义 之前我们讲网络层的时候&#xff0c;已经可以将信息从一个主机传递到另一个主机了。 那么…

校园圈子交友系统,APP小程序H5,三端源码交付,支持二开!实名认证,大V认证,地图找伴,二手平台!

校园圈子交友系统&#xff0c;是属于自主定义开发的系统&#xff0c;内容有很多&#xff0c;先截取一些给大家看看&#xff0c;让大家更多的了解本系统&#xff0c;然后再做评价&#xff01; 校园后端下载地址&#xff1a;校园圈子系统小程序&#xff0c;校园拼车&#xff0c;校…