美文网首页linux
Keepalived高可用故障切换转移原理

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

作者: 扎啤 | 来源:发表于2017-10-28 22:00 被阅读0次

Keepalived 高可用服务对之间的故障切换转移,是通过 VRRP(Virtual Router Redundancy Protocol , 虚拟路由器冗余协议)来切换的。

虚拟路由器示意图.png

在 Keepalived 服务正常工作时,主 Master 节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备 Backup 节点自己还活着,当主 Master 节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master 节点的心跳了,于是调用自身的接管程序,接管主 Master 节点的 IP 资源及服务。而当主 Master 节点恢复时,备 Backup 节点又会释放主节点故障时自身接管的 IP 资源及服务,恢复到原来的备用角色。

那么,什么是 VRRP 呢?

VRRP,全称 Virtual Router Redundancy Protocol,中文名为虚拟路由冗余协议,VRRP 的出现就是为了解决静态路由的单点故障问题,VRRP 是通过一种竞选机制来将路由的任务交给某台 VRRP 路由器的。

VRRP 早期是用来解决交换机、路由器等设备单点故障的,下面是交换机、路由的 Master 和 Backup 切换原理描述,同样适用于 Keepalived 的工作原理。

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

VRRP 通过竞选机制来实现虚拟路由器的功能,所有的协议报文都是通过 IP 多播(Multicast)包(默认的多播地址 224.0.0.18)形式发送的。虚拟路由器由 VRID (范围 0-255)和一组 IP 地址组成,对外表现为一个周知的 MAC 地址:00-00-5E-00-10-{VRID}。所以,在一个虚拟路由器中,不管谁是 Master,对外都是相同的 MAC 和 IP (称之为 VIP)。客户端主机并不需要因 Master 的改变而修改自己的路由设置。对它们来说,这种切换是透明的。

在一组虚拟路由器中,只有作为 Master 的 VRRP 路由器会一直发送 VRRP 广播包(VRRP Advertisement messages),此时 Backup 不会抢占 Master。当 Master 不可用时,Backup 就收不到来自 Master 的广播包了,此时多台 Backup 中优先级别最高的路由器会抢占为 Master。这种抢占是非常快速的(可能只有1秒甚至更少),以保证服务的连续性。出于安全性考虑,VRRP 数据包使用了加密协议进行了加密。
[转载]《老男孩web集群实战p480页》

相关文章

  • Keepalived高可用故障切换转移原理

    Keepalived 高可用服务对之间的故障切换转移,是通过 VRRP(Virtual Router Redund...

  • KeepAlived故障转移实现高可用

    简介 上一篇文章学习了一些KeepAlive基础,了解到KeepAlive使用VRRP协议实现高可用,主要有两个功...

  • KEEPALIVED && LVS

    keepalived 简介 1、keepalived的两个功能:failover(故障转移和自动切换)、healt...

  • day46 高可用(keepalived)

    高可用的基本概述vrrp的原理高可用核心概念总结keepalived高可用安装与配置keepalived高可用抢占...

  • 2018-05-23 nginx和keepalived实现IT服

    通过nginx的反向代理功能实现负载均衡,通过keepalived的故障转移功能实现nginx的高可用。 1环境 ...

  • MySQL之keepalived高可用

    使用keepalived做mysql主从切换的高可用 keepalived切换的优缺点 1.可以切换虚拟IP 2....

  • Mysql的双主模式

    1. 高可用的机器 2. 原理: 3.keepalived 保证高可用 Keepalived是基于VRRP(Vir...

  • keepalived安装部署

    keepalived介绍 第二章: keepalived工作原理 keepalived高可用功能实现的基本原理为:...

  • keepalived-高可用

    keepalived高可用原理 keepalived高可用对之间是通过VRRP协议通信1、VRRP协议,中文名为虚...

  • nginx常见面试题

    1. 单点故障解决方案 Keepalived + nginx 实现nginx的高可用 通过keepalived来实...

网友评论

    本文标题:Keepalived高可用故障切换转移原理

    本文链接:https://www.haomeiwen.com/subject/vqxepxtx.html