LVS+Keepalived 高可用集群核心内容总结

本文围绕LVS+Keepalived 高可用集群展开,从 Keepalived 双机热备基础、双机热备配置、LVS 集成高可用集群搭建三大模块,系统讲解了基于 VRRP 协议的故障自动切换、健康检查、负载调度与集群高可用实现,适用于 Web、Nginx、MySQL 等服务的高可用架构,是企业生产环境解决单点故障、提升并发承载能力的经典方案。


一、Keepalived 双机热备基础

1. 核心定位

Keepalived 最初为 LVS 设计,用于故障切换 Failover健康检查 Health Checking,可实现主节点故障时自动切换到备节点,故障恢复后自动切回,保证业务不中断。非 LVS 环境下也可独立作为双机热备软件使用。

2. 核心原理:VRRP 虚拟路由冗余协议

  • 多台服务器组成热备组,共用一个 ** 虚拟 IP(VIP)** 对外提供服务。
  • 同一时刻只有主节点 MASTER 提供服务,备节点 BACKUP 处于冗余状态。
  • 主节点故障后,备节点根据优先级自动抢占 VIP,实现秒级切换。
  • VIP 由 Keepalived 自动管理,无需手动配置虚拟网卡。

3. 安装与基础控制

  • 安装:dnf install -y keepalived ipvsadm
  • 开机自启:systemctl enable keepalived
  • 启停:systemctl start/stop/restart keepalived

二、Keepalived 实现双机热备(通用高可用)

1. 典型架构

  • 主节点:192.168.10.101
  • 备节点:192.168.10.102
  • VIP:192.168.10.100
  • 用途:Web/Nginx 等服务高可用

2. 主节点配置(关键)

plaintext

复制代码
global_defs {
    router_id HA_TEST_R1
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 1
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.10.100
    }
}

3. 备节点配置(仅修改三处)

  • router_id 改为唯一名称
  • state BACKUP
  • priority 低于主节点(如 99)

4. 功能验证

  • 连通性测试:ping VIP,主节点停机后丢 1--2 个包立即恢复。
  • 服务切换测试:访问 VIP 对应的 Web,主节点停机自动切换到备节点。
  • 日志查看:/var/log/messages 记录 MASTER/BACKUP 切换过程。
  • 结论:实现无感知故障切换,达到高可用(HA)标准。

三、LVS+Keepalived 高可用集群(负载均衡 + 高可用)

1. 架构定位

  • 主调度器 + 备调度器:实现 LVS 负载均衡器的高可用。
  • 后端 Web 节点池:提供实际业务服务。
  • NFS 共享:保证 Web 节点内容一致。
  • 模式:LVS-DR(直接路由),性能最高。

2. 集群角色与 IP

  • 主调度器 lb01:192.168.10.101
  • 备调度器 lb02:192.168.10.102
  • Web 节点:192.168.10.103、104
  • NFS:192.168.10.105
  • VIP:192.168.10.100

3. 主调度器配置(LVS+Keepalived 整合)

在热备基础上增加 virtual_server 配置,自动管理 LVS 规则:

plaintext

复制代码
virtual_server 192.168.10.100 80 {
    delay_loop 15
    lb_algo rr         # 轮询
    lb_kind DR         # 直接路由模式
    protocol TCP

    real_server 192.168.10.103 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
        }
    }
    real_server 192.168.10.104 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
        }
    }
}

4. 备调度器配置

与主节点几乎一致,仅修改:

  • router_id
  • state BACKUP
  • priority 更低

5. Web 节点配置(DR 模式必须)

  • 配置 lo:0 绑定 VIP
  • 调整 arp_ignore、arp_announce 抑制 ARP 响应
  • 添加本地路由,使请求回到本机
  • 提供脚本一键配置 VIP 与 ARP 参数

6. 集群验证

  • 通过 VIP 访问 Web 服务,实现负载均衡
  • 主调度器停机,备调度器自动接管 VIP,服务不中断。
  • 后端节点异常,Keepalived 自动剔除;恢复后自动加入。
  • 可通过 ipvsadm -ln 查看调度状态。

四、核心总结

  1. Keepalived 价值 基于 VRRP 实现VIP 漂移,完成服务高可用,支持任意 TCP 服务(Web、MySQL、网关等)。

  2. LVS+Keepalived 价值

  • 解决 LVS 调度器单点故障
  • 自动配置 LVS 规则,无需手动维护 ipvsadm
  • 对后端节点做健康检查,自动剔除故障节点
  • 实现 负载均衡 + 高可用 一体化
  1. 关键配置要点
  • 同一热备组:virtual_router_id、认证、VIP 必须一致
  • 主备区分:state、priority、router_id
  • LVS-DR 模式:Web 节点必须配置 VIP + ARP 抑制
  • 调度算法常用 rr 轮询,健康检查用 TCP_CHECK
  1. 适用场景 高并发 Web 站点、API 网关、电商平台、企业应用入口等需要7×24 小时不中断服务的场景。
相关推荐
刘晨鑫14 小时前
LVS+Keepalived高可用集群
lvs
炸炸鱼.1 天前
LVS-DR 群集部署
前端·chrome·lvs
云计算老刘1 天前
Keepalived + LVS(DR)+ Apache + NFS
apache·lvs
卢傢蕊1 天前
LVS 负载均衡群集
负载均衡·lvs·ipvsadm
WangJunXiang61 天前
LVS-DR群集
lvs
炸炸鱼.2 天前
LVS 负载均衡群集实战指南
运维·负载均衡·lvs
_下雨天.2 天前
LVS负载均衡
服务器·负载均衡·lvs
WangJunXiang63 天前
LVS 负载均衡群集
运维·负载均衡·lvs
百结2143 天前
LVS 负载均衡群集
运维·负载均衡·lvs