高可用:顾名思义就是可用性比较高,实际意义就是当一台节点出现故障时,keepalived服役将选出另一台节点能够透明化的将此节点所承担的功能顶替。
简介:keepalived一开始是为了LVS设计,专门用来监控集群系统中各个服务节点的状态,如果某个节点出现故障,Keepalived将检测到后自动给剔除
后来keepalived加入了VRRP的功能(虚拟路由冗余协议)出现目的是解决静态路由出现的单点故障问题,通过VRRP可以实现网络不间断稳定运行。
健康检查和失败切换是它的两个核心功能。所谓健康检查通常是,采用TCP三次握手,ICMP请求,HTTP请求,UDP,echo请求等方式对实际的服务器进行保活。失败切换是应用于配置了主备模式的负载均衡器,利用VRRP维持主LB的心跳,当出现问题时,由备LB进行顶替。以此来保证业务的正常运行。
工作原理:
- 网络层:通过icmp协议向后端服务器集群发送数据报文
- 传输层:利用TCP协议的接口连接和扫描技术检测后端服务器集群是否正常
- 应用层:自定义keepalive工作方式(脚本)
VRRP协议
是一种容错的主备模式的协议,保证当主机的下一跳出现问题时,由另一台路由器来代替出现故障的路由器进行工作。
虚拟路由器:VRRP组中的所有路由器,只有一个虚拟IP+MAC地址
主路由器:虚拟路由器中只有一台路由器对外提供服务。由选举算法产生
备份路由器:VRRP组中除了主路由器外的其他路由器。不提供服务,只接受主路由的通告。当主路由器挂掉之后,重新进行选举算法接替MASTER路由器。
选举机制:
- 优先级:
- 抢占模式:一旦有优先级高的路由器加入,即成为Master
- 非抢占模式:只要master不挂掉,优先级高的路由器只能等待
三种状态: