今天继续给大家介绍Linux运维相关知识,本文主要内容是keepalivde理论知识。
一、高可用与keepalived
在生产环境中,我们通常要求业务稳定运行,这样才能避免不必要的损失。业务的高可用要求设备的宕机时间比较端、业务影响范围比较小,这样才能够实现业务稳定运行。对于生产环境而言,单台设备即便再怎么维护,也有不小的概率出现故障宕机,针对这种情况,我们希望实现一种方案,使得在生产系统中每一个设备都有备用的设备。当一个设备故障后,备用设备能够立即接替该设备正常工作,从而满足系统的高可用要求。
这种机制应该可以使得主用和备用设备之间进行健康检测,备用设备能够检测主用设备的运作情况,当主用设备正常运行时,备用设备应该继续进行检测;当主用设备发生故障时,备用设备应该立即接替主用设备进行工作。上述过程应该是自动的,无需人为干预,这样才能保证当系统发生宕机后故障恢复的迅速性。
一般而言,高可用方案有以下三种:
1、基于SHELL脚本实现高可用。
2、基于keepalived软件实现高可用。
3、基于Heartbeat软件实现高可用。
二、keepalivde简介
keepalived时一款高可用软件,可以工作在三层(网络层)、四层(传输层)和五层(应用层)上,进行健康检测功能。
keepalived有两大核心功能:健康检测功能和VRRP冗余功能。keepalived借助了VRRP(Virtual Router Redundant Protocol,虚拟路由冗余协议,对VRRP不了解的可以参考以下文章:VRRP详解)协议可以在主用设备和备用设备之间设置一个虚拟的IP地址,被称为VIP。主用设备对VIP进行ARP响应,处理目的IP地址为VIP的报文,当主用设备宕机后,keepalived软件自动对VIP进行切换,使得其中一个备用设备开始对VIP进行响应,处理响应的报文请求。
我们可以手动配置,选择主用设备和备用设备,选择抢占和非抢占。当开启抢占模式时,原有的主用设备恢复后会抢占原有的备用设备,恢复对VIP的响应,而原有的备用设备则会恢复到备用设备的状态。一般情况下,我们都会把一个硬件性能好的设备作为主用设备,因此我们通常会开启抢占功能。
keepalived可以工作在类似三层、四层和五层的模式上,当keepalived工作在三层模式时,以IP的形式去进行健康检测,当keepalived工作在四层模式时,以IP+端口的形式去进行健康检测,当keepalived工作在五层模式时,以自定义脚本的方式去进行健康检测。
三、keepalivde模块剖析
keepalived有五大模块,这几大模块及其功能如下所示:
1、core
core模块时keepalived的核心模块,负责主进程的启动和维护,全局配置文件的加载和解析。
2、check
check模块主要负责keepalived的健康检查功能,该模块包含了多种健康检测的方式,以及对应的配置的解析。
3、vrrp
vrrp模块会启动vrrpd子进程,实现VRRP协议。
4、libipfwc
libipfwc用于配置iptables库,在配置LVS时会用到。
5、libipvs
libipvs用于配置虚拟服务集群,配置LVS时会用到。
当keepalived启动后会启用三个进程,分别是主进程,进行健康检测的进程和运行vrrp协议的进程。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40228200/article/details/123021511