Keepalived+Mysql实现高可用配置总结

embedded/2024/10/25 4:28:28/

通过本文,大家将学习到以下相关知识内容:

1、什么是高可用服务

2、Keepalived简介

3、Keepalived常见应用场景

4、Keepalived高可用故障切换原理介绍

5、VRRP协议介绍

6、配置实现Keepalived监控Mysql

7、Keepalived配置文件介绍

8、Keepalived常见问题列举

一、什么是高可用服务

高可用服务是指服务器系统保持正常工作的能力和稳定性,即无论在何种条件下,服务器都能够始终保持正常运行,并且不会中断或崩溃。高可用服务的目标是保证业务的连续性,提高用户体验,以及提升企业形象。

高可用服务的实现需要硬件和软件两个方面的支持。硬件方面,可以通过冗余设计来避免单点故障,例如双电源、双网卡、多RAID阵列等技术。软件方面,可以使用负载均衡、热备份、冷备份等技术。

此外,数据同步也是高可用服务的关键技术之一,通过将不同服务器中的数据实时同步到其他服务器上,可以保证数据的一致性和完整性。系统监控也是保证高可用服务的重要手段,可以实时监测系统的运行状态和资源使用情况,及时发现异常情况并采取相应的措施。

为了提高服务器的稳定性和可靠性,可以采取一些措施,例如对硬件进行冗余配置、合理规划服务架构、及时备份和还原服务器数据等。

二、Keepalived简介

Keepalived(保持在线)诞生的开始是为LVS负载均衡软件设计的,用来管理并且监控LVS集群系统中各个服务节点的状态。随着后面新增加入可以实现高可用的VRRP功能。让它除了能够管理LVS负载均衡外,还可以作为其它服务(如Haproxy,Nginx,Mysql等)的高可用解决方案软件。

Keepalived在基于VRRP协议实现的LVS服务高可用方案中,它通过检测服务器的状态来避免单点故障的发生。一个LVS服务可能会有2台服务器运行Keepalived,一台为主机服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剥除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中。

(一)Keepalived进程

Keepalived启动后会有三个进程,分别为:

1、父进程:内存管理,对其它子进程管理

2、子进程:VRRP子进程,实现vrrp协议

3、子进程:healthchecker子进程,实现健康检查,检测服务状态;如果服务不可用,则通知vrrp子进程,发降级通告。

两个子进程都被系统WatchDog看管,两个子进程各自负责自己的事,healthchecker子进程负责检查各自服务器的健康程度,例如HTTP,如果healthchecker子进程检查到MASTER上服务不可用了,就会通知本机上的VRRP子进程,让他删除通告,并且去掉虚拟IP,转换为BACKUP状态。

(二)Keepalived模块化设计

Keepalived采用模块化设计,主要包括下面五个模块:

1、core:核心模块,负责主进程的启动和维护,全局配置文件的加载解析等;

2、check:检查模块,负责healthchecker;

3、vrrp:vrrp模块,负责实现vrrp协议;

4、libipfwc:iptables库,在LVS会用到;

5、libipvs:配置LVS会用到;

三、Keepalived常见应用场景

(一)Web服务器高可用:Keepalived可以与Web服务器软件如Nginx或HAProxy配合使用,以实现Web服务的高可用性。当Web服务器出现故障时,Keepalived可以自动将请求切换到备用服务器,从而保证服务的连续性和稳定性。

(二)数据库服务高可用:数据库服务是非常重要的后端服务之一,Keepalived可以与数据库软件如MySQL配合使用,实现数据库服务的高可用性。当主数据库出现故障时,Keepalived可以自动将请求切换到备用数据库,保证服务的连续性和稳定性。

(三)邮件服务器高可用:邮件服务器是常见的后端服务之一,Keepalived可以与邮件服务器软件如Postfix或Sendmail配合使用,实现邮件服务的高可用性。当邮件服务器出现故障时,Keepalived可以自动将请求切换到备用服务器,保证服务的连续性和稳定性。

(四)文件服务器高可用:文件服务器是常见的后端服务之一,Keepalived可以与文件服务器软件如NFS配合使用,实现文件服务的高可用性。当文件服务器出现故障时,Keepalived可以自动将请求切换到备用服务器,保证服务的连续性和稳定性。

(五)云服务平台的高可用:在云服务平台中,Keepalived可以与云服务提供商的负载均衡器或其他高可用解决方案配合使用,实现云服务的高可用性。这样可以保证云服务的连续性和稳定性,提高用户的体验和满意度。

总之,Keepalived服务常见的应用场景主要涉及Web服务器、数据库、邮件服务器、文件服务器以及云服务平台等。这些场景都可以通过Keepalived来实现服务的高可用性和负载均衡,从而保证服务的连续性和稳定性。

四、Keepalived高可用故障切换原理介绍

Keepalived高可用服务之间的故障切换原理是基于VRRP实现的,Keepalived服务正常时,主Master节点会不断地向备节点发送心跳报文(组播形式),以此来告诉备节点自己还存活着。当主Master节点发生故障时,就无法发送心跳报文了,此时备节点也无法继续检测到来自主Master节点的心跳报文,于是调用自身来接管程序,接管主Master节点的IP资源及相关服务,以此来保证业务的连续性,一般接管速度可以小于1秒钟。而当主Master节点


http://www.ppmy.cn/embedded/132238.html

相关文章

Lesson10---list

Lesson10—list 第10章 c的list的使用和实现 文章目录 Lesson10---list前言一、list的初始化二、list的遍历1.迭代器2.范围for 三、list常用的内置函数1.sort(慎用)2.unique3.reverse4.merge5.splice 四、模拟实现1.基本框架2.构造函数3.push_back4. 遍…

微调大模型-2-Qwen基座模型使用

下载Qwen源码 Qwen作为中文支持非常nice的模型,很适合用于LLM学习。在云服务器里clone Qwen工程。 git clone https://github.com/QwenLM/Qwen2.5.git原始模型使用主要基于cli_demo.py-命令行调用,web_demo.py-网页调用。 预览这两个文件时&#xff0c…

Android音视频 MediaCodec框架-创建流程(3)

Android音视频 MediaCodec框架-创建流程 简述 之前我们介绍并且演示了MediaCodec的接口使用方法,我们这一节来看一下MediaCodec进行编解码的创建流程。 java层的MediaCodec只是提供接口,实际的逻辑是通过jni层实现的,java层的MediaCodec通过…

1024程序员节- AI智能时代,码出未来

在 1024 程序员节这个特殊的日子里,探讨了 AI 技术在不同领域的应用与发展。上海和深圳作为科技创新的前沿阵地,相关活动中的演讲内容更是聚焦了 AI 技术的核心要点,为我们展示了 AI 时代的新趋势和新机遇。 一、AI 技术的发展历程与背景 AI…

python支付宝支付和回调

创建支付订单 logging.basicConfig(levellogging.INFO,format%(asctime)s %(levelname)s %(message)s,filemodea,) logger logging.getLogger()if __name__ __main__:"""设置配置,包括支付宝网关地址、app_id、应用私钥、支付宝公钥等&#xff0c…

【优选算法篇】在分割中追寻秩序:二分查找的智慧轨迹

文章目录 C 二分查找详解:基础题解与思维分析前言第一章:热身练习1.1 二分查找基本实现解题思路图解分析C代码实现易错点提示代码解读 1.2 在排序数组中查找元素的第一个和最后一个位置解题思路1.2.1 查找左边界算法步骤:图解分析C代码实现 1…

3.1.1ReactOS系统中搜索给定长度的空间地址区间函数的实现

系列文章目录 //搜索给定长度的空间地址区间 MmFindGap(); PMADDRESS_SPACE AddressSpace,//该进程用户空间 ULONG_PTR Length,//寻找的空间间隔大小 ULONG_PTR Granularity,//粒度位,表明空间起点的对齐要求,注意是起…

时序数据库 TDengine 支持集成开源的物联网平台 ThingsBoard

Thingsboard 中“设备配置”和“设备”的关系是一对多的关系,通过设备配置为每个设备设置不同的配置,每个设备都会有一个与其关联的设备配置文件。等等,这不就是TDengine 中超级表的概念: 超级表是一种特殊的表结构,用…