数据库集群系列(五)使用Keepalived实现MySQL数据库的故障转移与自动切换

一、基本概念

    Keepalived 是一个用于实现高可用性和负载均衡的开源软件。它主要通过 IP 虚拟服务器(Virtual Server,简称 VRRP)和健康检查来实现故障切换和负载均衡。 

   Keepalived的原理是基于TCP/IP参考模型的第三、第四层和第五层交换机制来检测每个服务节点的状态。当某个服务器节点出现异常或工作出现故障时,Keepalived将检测到,并将出现的故障的服务器节点从集群系统中剔除。这些工作全部是自动完成的,不需要人工干涉。需要人工完成的只是修复出现故障的服务节点。

Keepalived 的工作原理:

  1. VRRP 协议:

  • Keepalived 使用 VRRP 协议来实现高可用性。VRRP 允许多个服务器共享一个虚拟 IP 地址和一个虚拟 MAC 地址,其中一个服务器是主服务器,负责处理流量,其他服务器是备份服务器,处于热备状态。

  • 所有服务器通过 VRRP 协议定期发送心跳包,主服务器发送广播通知其他备份服务器自己仍然处于活动状态。如果主服务器发生故障或无法通信,备份服务器中的一个将会接管虚拟 IP 地址,确保服务的可用性。

  • 健康检查:

    • Keepalived 通过定期的健康检查来确保服务器的可用性。可以配置不同的检查方式,比如 TCP 检查、HTTP 检查、脚本检查等。

    • 如果服务器在检查中被标记为不可用,Keepalived 将触发故障转移,将虚拟 IP 地址从故障的服务器迁移到备份服务器。

  • 故障切换:

    • 当主服务器发生故障或不可用时,Keepalived 会自动将虚拟 IP 地址迁移到一个备份服务器。这确保了服务的持续可用性。

    • 一旦主服务器恢复,Keepalived 会自动将虚拟 IP 地址迁回主服务器,实现了故障的自动恢复。

    二、Master-1配置

    1、安装keepalived

      yum install keepalived -y