Keepalived介绍
Keepalived介绍:
Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来加入了可以实现高可用的VRRP功能,因此Keepalived除了能够管理LVS软件除外,还可以作为其他服务的高可用解决方案软件
Keepalived软件主要是通过VRRP协议实现高可用功能的。
Keepalived服务的三个重要功能
管理LVS负载均衡软件
早期的LVS软件,需要通过命令行或脚本实现管理,并没有针对LVS节点的健康检查功能。
Keepalived可以通过读取自身的配置文件,实现通过更底层的接口直接管理LVS的配置
控制LVS服务的启动,停止,等功能
实现对LVS集群节点健康检查功能(healthcheck)
LVS本身是没有检查后端主机存活的能力的,但是这个功能又非常重要,因此Keepalived来完成
Keepalived通过自身的keepalived.conf文件里配置的LVS的节点IP和相关参数实现对LVS的直接管理,
当LVS集群中的某一个甚至是几个节点服务器同时发生故障无法提供服务时,
Keepalived服务会自动将失效的节点服务器从LVS的正常转发队列中清除出去,从而保证最终用户的访问不受影响
· 当故障的节点服务器被修复以后,Keepalived服务又会自动的把他们加入到正常转发队列中,对客户提供服务
作为系统网络服务的高可用功能(failover)
Keepalived可以实现任意两台主机之间自动的故障切换,可以是LVS或者Nginx这样的服务器
Keepalived高可用故障切换转移原理
Keepalived高可用服务对之间的故障切换转移,是通过VRRP来实现的
在Keepalived服务正常工作时,主Master节点会不断的向备节点发送(多播的方式)心跳信息,用以告诉备Backup节点自己还活着,
当主Master节点发生故障时,就无法发送心跳信息,备节点也就因此无法继续检测到来自主Master节点的心跳了,
于是备用节点调用自身的接管程序,接管主Master节点的IP资源及服务。
而当Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色(这个可以设置,某些特殊场景不适合恢复切换)