当前位置: 首页 > news >正文

‌Keepalived‌是一个轻量级的高可用解决方案

‌Keepalived‌是一个轻量级的高可用解决方案

回到顶部

什么是keepalived?

‌Keepalived‌是一个轻量级的高可用解决方案,主要用于Linux系统。它的主要功能是通过虚拟路由冗余协议(VRRP)实现高可用性,确保服务的持续运行,避免单点故障。Keepalived最初是为LVS(Linux Virtual Server)设计的,用于监控集群系统中各个服务节点的状态。如果某个服务节点出现异常或故障,Keepalived会自动将其从集群系统中剔除,并在节点恢复正常后自动将其重新加入集群‌

回到顶部

工作原理

Keepalived通过VRRP协议实现高可用性。VRRP协议将多台功能相同的路由器组成一个小组,其中一台作为主设备(master),其余作为备份设备(backup)。Keepalived的核心模块负责启动和维护主进程,健康检查模块负责监测服务节点的状态,而VRRP模块则实现VRRP协议。当主设备出现故障时,备份设备会接管其职责,确保服务的连续性‌

keepalived核心概念

 Keepalived是一个基于VRRP协议(虚拟冗余路由协议)来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息(心跳检测,heartbeat)给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

安装Keepalived

yum install -y keepalived

修改keepalived的配置文件

如果没有文件的话,直接创建一个即可

主节点的配置文件

vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedvrrp_instance VI_1 {state MASTER           #这里设置为Master(配置名字)interface enp12s0f0     #本地网卡名称,通过 ifconfig 得知mcast_src_ip 192.168.0.155 ## 本机 IP 地址virtual_router_id 51priority 100         #节点的优先级,范围为 0-254 ,Master的优先级必须必BackUp的高。(哪台服务器设置的高,谁就是主机)advert_int 1         #组播信息发送的时间authentication {      #设置账户校验信息,2个节点必须一致。(主机和从机的配置要一致)auth_type PASSauth_pass 1111}virtual_ipaddress {   #虚拟IP池,2个节点也必须一致。192.168.0.157      #虚拟IP,可以设置多个。}
}

备节点的配置文件

! Configuration File for keepalivedvrrp_instance VI_1 {state BackUp     #这里设置为BackUp(配置名字)interface em1mcast_src_ip 192.168.0.30 ## 本机 IP 地址virtual_router_id 51priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.0.157}
}

设置开机自启

systemctl enable keepalived.service

开启服务

systemctl start keepalived.service

重启服务

systemctl restart keepalived.service

关闭服务

systemctl stop keepalived.service

查看服务状态

systemctl status keepalived.service