LVS-DR+Keepalived 高可用群集部署
Keepalived 的工作原理
Keepalived 是一个基于 VRRP 协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。
在一个LVS服务集群中通常有两种角色的负载调度器,主负载调度器(MASTER)和备份负载调度器(BACKUP),但是对外表现为一个虚拟 IP(VIP)。
主负载调度器会发送VRRP通告信息给备份负载调度器,当主负载调度器异常时,备份负载调度器收不到主负载调度器发送的 VRRP 消息,即认定主负载调度器异常,备份负载调度器就会接管虚拟IP,继续提供服务,从而保证了服务的高可用性。
Keepalived 体系主要模块及其功能:
keepalived 体系架构中主要有三个模块,分别是 core、check 和 vrrp 。
模块 | 功能 |
---|---|
core模块 | 为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。 |
vrrp模块 | 是用来实现VRRP协议的。(调度器之间的健康检查和主备切换) |
check模块 | 负责健康检查,常见的方式有端口检查及URL 检查。(节点服务器的健康检查) |
keepalived的工作模式:
抢占模式:keepalived 的默认模式,MASTER节点从故障中恢复后,会将 VIP 从 BACKUP 节点中抢占过来
非抢占模式:MASTER 节点恢复后不抢占VIP。(主备节点的 state 都配置为 BACKUP ,且都要添加 nopreempt 配置)
LVS+Keepalived 高可用群集部署
服务器 | IP |
---|---|
主DR 服务器 | 192.168.110.70 |
备DR 服务器 | 192.168.110.20 |
Web 服务器1 | 192.168.110.50 |
Web 服务器2 | <