Keepalived 2.4.3 介绍与选型指南
Keepalived 2.4.3 介绍与选型指南:基于官方 README、发布记录与官网用户指南梳理版本基准、VRRP/IPVS/BFD 三大框架架构、功能特性、快速上手、适用场景与限制,并对比 Pacemaker、Corosync、HAProxy 组合方案的选型差异。
Keepalived 2.4.3 介绍与选型指南
一、信息基准
本文为 Keepalived 的介绍与选型指南,全部信息均来自官方公开资料(官方 GitHub 仓库 acassen/keepalived 的 README 与 releases/tags 发布记录、官网 www.keepalived.org 及其用户指南),不做本地安装与运行实测。查询日期:2026-10-19。
版本依据:官方 GitHub 发布记录显示当前最新稳定版为 v2.4.3(发布于 2026-07-20);2.4 线自 2026 年 6 月底起快速迭代(v2.4.1 @ 2026-06-26、v2.4.2 @ 2026-07-07、v2.4.3 @ 2026-07-20),为当前主稳定线。本文以 2.4.3 为介绍基准。
| 项目 | 基准 | 依据 |
|---|---|---|
| 最新稳定版 | v2.4.3(2026-07-20) | GitHub releases feed 实查 |
| 当前稳定线 | 2.4.x(三连发节奏,见上) | GitHub releases/tags 实查 |
| 开源许可 | GPL-2.0-or-later | 官方 README「License: GPL v2+」徽章与 COPYING 文件 |
| 开发语言 | C | 官方 README 原文(routing software written in C) |
| 官网 | https://www.keepalived.org | README 官方链接 |
官方来源清单:
| 来源 | 链接 | 说明 |
|---|---|---|
| 官方 GitHub 仓库 | https://github.com/acassen/keepalived | README 架构与特性声明、许可 |
| 发布记录 | https://github.com/acassen/keepalived/releases | v2.4.3 及 2.4 线时间戳实查 |
| 官网 | https://www.keepalived.org | 项目门户与下载 |
| 快速开始用户指南 | https://www.keepalived.org/documentation/user-guide/quick-start/ | 官方最小配置指引 |
| 软件设计用户指南 | https://www.keepalived.org/documentation/user-guide/software-design/ | 内部实现说明(README 引用) |
| LVS/IPVS 官网 | https://www.linuxvirtualserver.org/ | Linux Virtual Server 内核模块(README 引用) |
二、软件概述
本文介绍 Keepalived 截至 2026-10-19 的最新稳定版 v2.4.3。按官方 README 定义,Keepalived 是一个用 C 语言编写的路由软件,为 Linux 系统与基于 Linux 的基础设施带来简单而健壮的负载均衡与高可用能力,已在数据中心、ISP 等生产环境广泛运行。它由三大框架组成:基于 VRRP 协议的高可用、基于 Linux Virtual Server(LVS/IPVS)内核模块的四层负载均衡、以及带 BFD 支持的健康检查,三者可独立使用或组合使用。
三、核心架构
3.1 三大框架,一个守护进程
官方 README 以「Three frameworks, one daemon」概括 Keepalived 的架构:
- 高可用(VRRP):完整实现 VRRP v2 与 v3(IPv4 与 IPv6),支持让各节点路由路径保持一致的同步组(sync groups),并支持以 IPSEC-AH 保护协议通告。
- 负载均衡(LVS/IPVS):由内核 IPVS 模块驱动的四层负载均衡,统一在一处配置与维护,提供多种调度算法与转发方式。
- 健康检查与 BFD:四层到七层的检查器自动增删真实服务器;BFD 在毫秒级探测链路与对端故障,并可向 VRRP 状态迁移提供提示以驱动快速切换。
3.2 进程模型
官方 README 说明其健壮性设计:守护进程围绕中央 I/O 多路复用器驱动多线程框架,所有事件都经过该复用器;进程拆分为极简的父进程监督子进程,VRRP、健康检查与 BFD 各自运行在专用子进程中,避免单点异常波及全部功能。
四、功能特性
依据官方 README 与官网用户指南归纳:
- VRRP v2/v3 完整实现,覆盖 IPv4 与 IPv6 的路由器故障切换。
- 同步组(sync groups):主备切换时保持一组路由路径的一致性。
- IPSEC-AH 通告保护:为 VRRP 协议通告提供安全选项。
- LVS/IPVS 管理:以统一配置驱动内核四层负载均衡,多种调度算法与转发方式。
- 四至七层健康检查:检查器实时观察服务池,按健康状态自动摘除与恢复真实服务器。
- BFD 毫秒级故障探测:链路与对端失效可触发快速 VRRP 状态迁移。
- 通知脚本与钩子:围绕 VRRP 状态机提供钩子,可在状态变化时执行低层高速协议交互相关的动作。
- 单配置文件声明式管理:全部能力收敛于 /etc/keepalived/keepalived.conf。
- 多数主流发行版主线包可直接安装(apt/dnf,官方 README 快速开始)。
五、快速上手
以下最小示例引自官方 README「Quick start」与官网用户指南(https://www.keepalived.org/documentation/user-guide/quick-start/ ),本文不做本地实测。
- 安装(官方推荐直接使用发行版主线包):
sudo apt install keepalived # Debian / Ubuntu
sudo dnf install keepalived # RHEL / Fedora / Rocky
- 主节点配置 /etc/keepalived/keepalived.conf(官方 README 原文示例):
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass changeme
}
virtual_ipaddress {
192.168.1.100/24
}
}
-
备节点使用同一文件,仅将 state 改为 BACKUP 并调低 priority;优先级最高的节点成为主并持有该浮动地址。两节点 virtual_router_id 必须一致且在局域网内唯一(官方 README 注意事项)。
-
双侧启动服务:
sudo systemctl enable --now keepalived
官方用户指南在浮动 IP 之上继续演示如何在浮动地址后挂载负载均衡服务。官方 README 同时提醒:auth_pass 以明文传输,VRRP 认证仅防止配置错误,不能防御线上的攻击者。
六、适用场景与限制
适用场景:双机热备的 VIP 浮动地址(网关、代理入口、数据库访问地址等);与 LVS/IPVS 组合构建四层负载均衡集群的主备冗余;路由器/防火墙冗余;任何需要"故障秒级切换一个虚拟地址"的 Linux 高可用入口。
限制(依据官方 README 与官网如实归纳):仅面向 Linux 平台;VRRP 通告依赖二层可达(组播或单播),跨网段/跨机房部署需要单播与 BFD 等机制配合,且不提供跨站点的自动仲裁,脑裂防护需自行设计;它管理的是网络层切换与 LVS 服务池健康,不负责应用内部状态的复制与恢复;virtual_router_id 冲突或优先级配置不当会引发主备抖动;认证口令明文传输,安全性依赖网络环境本身(官方 README 原文提醒)。
七、同类选型对比
对比维度说明:Keepalived 与 Pacemaker、Corosync 同属高可用集群赛道(Corosync 通常作为 Pacemaker 的通信层),HAProxy 则是常与其组合的应用层负载均衡器(自身无 VIP 冗余,官方生态通行做法是与 Keepalived 组合提供入口冗余)。数据查询日期 2026-10-19,stars 取自各项目 GitHub 官方仓库页面,版本取自官方发布渠道实查。
| 维度 | Keepalived 2.4.3 | Pacemaker 3.0.3 | Corosync 3.1.10 | HAProxy 3.4.7 |
|---|---|---|---|---|
| 开源许可 | GPL-2.0-or-later(官方 README/COPYING) | GPL-2.0-or-later 为主(官方 COPYING,部分文件 BSD/LGPL) | BSD-3-Clause 为主(官方 LICENSE,部分文件另有声明) | GPL-2.0 含链接例外条款(官方 LICENSE) |
| GitHub stars 与最近发版 | 4,726;v2.4.3 @ 2026-07-20 | 1,181;3.0.3 Final @ 2026-07-28 | 1,223;v3.1.10 @ 2025-11-15 | 6,931;3.4.7(haproxy.org 3.4 维护线 tarball 时间戳 2026-10-14;GitHub 上 3.5 尚为 dev 线) |
| 版本节奏 | 2.4 线月级连发(06-26/07-07/07-20 三个稳定版) | 年级大版本 + 补丁(3.0 线) | 年级大版本 + 补丁(3.1 线) | 半年级大版本,维护线持续出补丁 |
| 兼容矩阵 | 仅 Linux;依赖 IPVS 内核模块做四层转发;VRRPv2/v3 + BFD;单配置文件 | 需与 Corosync(或类似消息层)组成集群栈;OCF 资源代理生态,可管理任意资源的状态级切换 | 集群成员与消息层(Totem 协议),为 Pacemaker 等上层提供通信,不直接管理资源 | 跨平台运行;应用层四/七层负载均衡,不管理 VIP 与节点存活仲裁 |
选型建议:只需网络层入口冗余(浮动 IP、LVS 主备)且追求简单可靠时选 Keepalived;需要按应用状态编排复杂资源启停顺序、多节点仲裁与约束规则时选 Pacemaker + Corosync 全栈;流量调度本身选 HAProxy,再以 Keepalived 补足 VIP 层冗余是最通行的组合。
八、参考链接
- Keepalived 官方仓库与 README:https://github.com/acassen/keepalived
- 发布记录(v2.4.3):https://github.com/acassen/keepalived/releases
- 官网:https://www.keepalived.org
- 官网下载页:https://www.keepalived.org/download/
- 官方快速开始用户指南:https://www.keepalived.org/documentation/user-guide/quick-start/
- 官方软件设计用户指南:https://www.keepalived.org/documentation/user-guide/software-design/
- Linux Virtual Server(IPVS):https://www.linuxvirtualserver.org/
- VRRP(IETF 工作组):https://datatracker.ietf.org/wg/vrrp/
- BFD(IETF 工作组):https://datatracker.ietf.org/wg/bfd/
- Pacemaker 发布记录:https://github.com/ClusterLabs/pacemaker/releases
- Corosync 发布记录:https://github.com/corosync/corosync/releases
- HAProxy 官网与下载目录:https://www.haproxy.org/