KeepAlived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。
Keepalived这个软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。
今天给大家分享一份王晓春老师整理的 《高可用KeepAlived》 ,希望能为大家学习KeepAlived带来帮助。
目录
- 高可用集群
- KeepAlived 组成
- KeepAlived 配置
集群Cluster
Failover:故障切换,即某资源的主节点故障时,将资源转移至其它节点的操作
Failback:故障移回,即某资源的主节点故障后重新修改上线后,将之前已转移至其它节点的资源重新切回的过程
KeepAlived
功能:
vrrp协议完成地址流动
为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)
为ipvs集群的各RS做健康状态检测
基于脚本调用接口通过执行脚本完成脚本中定义的功能,进而影响集群事务,以此支持nginx、haproxy等服务
KeepAlived组成
Keepalived采用是模块化设计,不同模块实现不同的功能。keepalived主要有三个模块,分别是core、check和vrrp。
core:是keepalived的核心,负责主进程的启动和维护,全局配置文件的加载解析等 。
check: 负责healthchecker(健康检查),包括了各种健康检查方式,以及对应的配置的解析包括LVS的配置解析;可基于脚本检查对IPVS后端服务器健康状况进行检查。
vrrp:VRRPD子进程,VRRPD子进程就是来实现VRRP协议的
KeepAlived实现
KeepAlived配置
配置虚拟路由器:
vrrp_instance <STRING> {
....
}
KeepAlived单主&双主配置
内容太多,就不一一介绍了,想要学习KeepAlived的朋友们,才玩不要错过这份资料。