keepalived高可用集群

Posted jokerbj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keepalived高可用集群相关的知识,希望对你有一定的参考价值。

keepalived介绍

通过vrrp协议实现高可用功能,是虚拟路由冗余协议,vrrp出现就是为了解决静态路由单点故障,vrrp是通过一种竞选机制来将路由的任务交给某台vrrp路由器的。

keepalived服务功能

健康检查功能

keepalived可以通过在自身的keepalived.conf文件里配置的节点ip和相关参数实现对服务的直接管理;除此之外,当其中的某一个甚至是几个节点服务器同时发生故障无法提供服务时,keepalived服务会自动将失效的节点服务器从服务的正常转发队列清除出去。并将请求调度到别的正常服务器节点上,从而保证最终用户的访问不受影响;当故障节点服务器被修复以后,keepalived服务又会自动的把它们加入到正常转发队列中,对客户提供服务。

高可用功能

keepalived高可用实现的简单原理,俩台主机同时安装好keepalived软件并启动服务器,开始正常工作时,由角色为master的主机获得所有资源并对用户提供服务,角色为backup的主机作为master主机的热备;当角色master的主机失效或出现故障时,角色为backup的主机将自动接管master主机的所有工作,包括接管vip资源及相应资源服务;而当角色为master的主机故障修复后,又会自动接管回它原来处理的工作,角色为bakcup的主机则同时释放master主机失效时它接管的工作。此时,俩台主机将恢复到最初启动时各自的原始角色及工作状态。

keepalived高可用故障切换转移原理

通过vrrp来实现的,在keepalived服务正常工作时,主master节点会不断的向备节点发送心跳消息,用于高速备backup节点自己还活着,当主master节点发生故障时,就无法发送心跳信息,备节点也就因此无法继续检测到来自主master节点的心跳了,于是调用自身的接管程序,接管主master节点的ip资源及服务。而当主master节点恢复时,备backup节点又会释放主节点故障时自身接管的ip资源及服务,恢复到原来的角色。

什么是arrp?

vrrp早期是用来解决交换机,路由器设备的单点故障的。vrrp是通过一种竞选机制来将路由的任务交给某台vrrp路由器的。

在一组vrrp路由器集群中,有多台物理vrrp路由器,但是这多台物理的机器并不是同时工作的,而是由一台称为master的机器负责路由工作,其他的机器都是backup。master角色并非一成不变的,vrrp会让每个vrrp路由参与竞选,最终获胜的就是master。获胜的master有一些特权,比如拥有虚拟路由器的ip地址等,拥有系统的资源的master负责转发发送给网关地址的包和响应arp请求。

vrrp通过竞选机制来实现虚拟路由器的功能,所有协议报文都是通过ip多播包(默认地址是224.0.0.18)形式发送的。虚拟路由器由vrid和一组ip地址组成,对外表现为一个周知的mac地址。所以,在一个虚拟路由器中,不管谁是master,对外都是相同的mac和ip,称为vip。

在一组虚拟路由器中,只有作为master的vrrp路由器会一直发送vrrp广播包,此时backup不会抢占master。当master不可用时,backup就收不到来自master的广播包了,此时多台backup中优先级最高的路由器会抢占master。这种抢占是非常快速的,1秒甚至更少,以保证服务的连续性,vrrp数据包使用了加密啊协议进行了加密。

 

以上是关于keepalived高可用集群的主要内容,如果未能解决你的问题,请参考以下文章

集群介绍,keepalived介绍,使用keepalived配置高可用集群

Keepalived高可用集群

六十集群介绍keepalived介绍用keepaliver配置高可用集群

集群介绍keepalived介绍用keepalived配置高可用集群

集群介绍keepalived介绍用keepalived配置高可用集群

Nginx keepalived 高可用集群