前言
本篇将简述的内容:Linux系统下的keepalived双机热备
一、概述
Keepalived 是一个基于 VRRP 协议来实现的,在多台服务器之间共享一个或多个虚拟IP地址,实现服务器的冗余备份。
1.原理
在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但
是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。
2使用方法
(一) 监控服务
keepalived可以通过监控服务的方式来实现高可用性。可以使用脚本来监控服务的运行状态,当服务出现故障时,keepalived将自动切换到备用服务器。
(二)虚拟IP地址的切换
keepalived通过VRRP协议来实现虚拟IP地址的切换。当主服务器出现故障时,备用服务器将接管虚拟IP地址,确保服务的连续性。
二、安装
配置基础环境
防火墙,SElinux,IP地址
安装keepalived
yum install -y keepalived
配置文件
/etc/keepalived/keepalived.conf
配置项
router_id 1 定义节点id
state MASTER BACKUP
interface ens33 配置监听的网卡
virtual_router_id 51 同一个热备组要保持一致
priority 100 节点优先级
advert_int 1 多少秒进行一次心跳检测
authentication {auth_type PASS auth_pass 1111} keepalived节点的认证方式,同一个keepalived双机热备组一定要保持一致
virtual_ipaddress 配置VIP,即漂移地址
core 主进程启动
vrrp vrrp协议:热备份路由协议
check 健康状态检测
三、配置双机热备
vim /etc/keepalived/keepalived.conf
master|backup
vrrp_instance VI_1 { state MASTER/BACKUP interface ens33 virtual_router_id 51 priority 100/80 advert_int 1 authentication { auth_type PASS auth_pass 1111 } }
四、验证
ping验证
ping 自设虚拟IP地址
服务验证
分别在两台主机中安装httpd
启动web服务
启动keepalived服务
systemctl start httpd
systemctl start keepalived
访问虚拟ip查看是否跳转至web服务
五、双机热备的脑裂现象
Keepalived配置里同一 VRRP实例
如果 virtual_router_id两端参数配置不一致也会导致裂脑问题发生。
vrrp实例名字不一致、优先级一致
防火墙打开,导致心跳无法正常通信
网卡故障
网卡进行多路复用
VIP无法通信
注释:vrrp_strict
总结
keepalived是一个非常强大的高可用性解决方案,可以在Linux系统下实现双机热备。通过配置keepalived,我们可以实现服务的冗余备份,确保系统的高可用性。在实际应用中,我们可以根据需求进行配置和优化,以满足不同场景下的高可用性需求。