KeepAlived--原理&LVS+HA

KeepAlived结合VRRP协议实现LVS服务的高可用,通常由2个节点组成,主节点(MASTER)和备节点(BACKUP)。当主节点宕机,备节点接管虚拟IP提供服务。KeepAlived支持抢占和非抢占模式,前者允许主节点故障恢复后重新接管服务,后者则不会。本文详细介绍了KeepAlived的原理、配置和实验环境。
摘要由CSDN通过智能技术生成

KeepAlived–原理/LVS+HA

keepalived简介

keepalived是基于VRRP(Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)协议实现的LVS(Linux Virtual Server ,Linux虚拟服务器)服务高可用方案。主要提供了负载均衡和高可用功能,用来避免单点故障。负载均衡是通过linux的IPVS(ip虚拟服务器)实现,高可用通过VRRP实现多机故障转移。
  keepalived一般是2个节点运行keepalived,一台是主节点(MASTER),一台是备节点(BACKUP/SLAVE),对外表现都是一个虚拟IP,主节点会发送特定的消息给备节点,如果备节点收不到这个特定消息时,说明主节点就宕机了,此时备节点就会接管虚拟IP进行服务提供,这就实现了高可用。

keepalived使用架构图

LVS+keepalived

在这里插入图片描述

nginx+keepalived
在这里插入图片描述

Keepalived高可用故障转移

keepalived是基于VRRP协议来实现高可用的,有两种模式,一种是抢占模式(默认使用),另一种是非抢占模式,需配置nopreempt,在后面的keepalived配置文件详解中我们会讲到。当使用抢占模式的时候,这是一种竞选机制进行通信,主节点优先级大于备节点优先级。当主节点宕机的时候,可以切到备节点进行提供服务。

抢占模式:

默认开启

  1. keepalived正常工作的时候,MASTER主节点会向BACKUP备节点不断的发送特定消息(多播心跳消息),就是一种健康检查机制,告诉备节点“我还活着,虚拟IP我来管就行了”。
  2. 当主节点发生故障出现宕机情况的时候,无法向备节点发送心跳信息,备节点无法收到主节点的健康检查心跳信息,这个时候,备节点终于转正了,机会来了,就接管虚拟IP进行服务提供。
  3. 当主节点故障恢复后,又不断的发送心跳给备节点,告知“我现在活着呢,我来管虚拟IP”,备节点就会释放主节点宕机时所接管的IP资源以及服务,默默的做回一个备胎

非抢占模式:

  1. keepalived正常工作的时候,BACKUP会老老实实的做备胎,当MASTER节点出现故障时,BACKUP节点接受不到MASTER节点的心跳信息,那么VIP就会漂移到BACKUP节点,BACKUP节点替代原来的MASTER节点,成为新的MASTER节点。
  2. 当原来的主节点故障排除之后,就会主动的变成BACKUP节点,不回去抢回主节点的位置

注意:非抢占模式中,所有节点的设置都为BACKUP,要注意启动的顺序,先启动的会成为MASTER,与优先级无关,且需要配置nopreempt项

总之,抢占模式:MASTER故障恢复后,会将VIP抢回去。非抢占模式:MASTER故障恢复后,不会会将VIP抢回去,且变为BACKUP。

VRRP的状态

  1. 初始状态(Initialize):在这个状态下VRRP是不可用的,在这个状态下的设备是不会处理VRRP报文的,通常是刚配置VRRP时和检测到故障是会是这个状态

    1. 活动状态(Master):定期发送VRRP报文,转发目的MAC地址为虚拟MAC地址的IP报文,如果收到比自己优先级大的报文则转为Backup状态,如果收到的报文优先级别和自己相同,则并且IP地址比自己的IP大,则转为Backup状态,当接收端口出现故障时,转换为Initialize状态。
    2. 备份状态(Backup):接收Master发送的VRRP报文,判断Master的状态是否正常。收到比自己优先级小的报文,转为Master(抢占模式),收到请求地址是VIP或VIP的MAC的报文,全部丢弃。收到优先级和自己相同或比自己高的报文时,则重置定时器,超时,转为Master,收到接口的故障事件时,转换为Initialize

VRRP的模式

主备备份模式:keepalived支持

负载分担模式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值