Keepalived初识

Keepalived是基于vrrp协议的一款高可用软件。Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。

VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议),VRRP是为了解决静态路由的高可用。VRRP的基本架构
虚拟路由器由多个路由器组成,每个路由器都有各自的IP和共同的VRID(0-255),其中一个VRRP路由器通过竞选成为MASTER,占有VIP,对外提供路由服务,其他成为BACKUP,MASTER以IP组播(组播地址:224.0.0.18)形式发送VRRP协议包,与BACKUP保持心跳连接,若MASTER不可用(或BACKUP接收不到VRRP协议包),则BACKUP通过竞选产生新的MASTER并继续对外提供路由服务,从而实现高可用。

vrrp协议的相关术语:

1
2
3
4
5
6
7
8
9
虚拟路由器:Virtual Router 
虚拟路由器标识:VRID(0-255)
物理路由器:
master :主设备
backup :备用设备
priority:优先级
VIP:Virtual IP
VMAC:Virutal MAC (00-00-5e-00-01-VRID)
GraciousARP

安全认证:

1
2
简单字符认证、HMAC机制,只对信息做认证
MD5(leepalived不支持)

工作模式:

1
2
主/备:单虚拟路径器;
主/主:主/备(虚拟路径器),备/主(虚拟路径器)

工作类型:

1
2
抢占式:当出现比现有主服务器优先级高的服务器时,会发送通告抢占角色成为主服务器
非抢占式:

keepalived核心组件:

1
2
3
4
5
6
vrrp stack:vrrp协议的实现
ipvs wrapper:为集群内的所有节点生成IPVS规则
checkers:对IPVS集群的各RS做健康状态检测
控制组件:配置文件分析器,用来实现配置文件的分析和加载
IO复用器
内存管理组件,用来管理keepalived高可用是的内存管理

注意:

1
2
各节点时间必须同步
确保各节点的用于集群服务的接口支持MULTICAST通信(组播);