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

Debian Keepalived高可用实战指南(手把手教你搭建Keepalived双机热备集群)

在现代 IT 架构中,服务的高可用性(High Availability, HA)至关重要。本文将详细讲解如何在 Debian 系统上使用 Keepalived 搭建一个简单而高效的高可用集群,实现双机热备,确保关键服务(如 Web 服务器、数据库等)在单点故障时仍能持续运行。

什么是 Keepalived?

Keepalived 是一个基于 VRRP(Virtual Router Redundancy Protocol)协议的开源软件,用于实现高可用性和负载均衡。它通过在多台服务器之间共享一个虚拟 IP(VIP),当主服务器宕机时,备用服务器会自动接管 VIP,从而实现无缝切换。

Debian Keepalived高可用实战指南(手把手教你搭建Keepalived双机热备集群) Keepalived高可用 Keepalived双机热备 Debian高可用集群 Keepalived配置教程 第1张

环境准备

本教程假设你有两台 Debian 服务器(版本建议为 Debian 11 或 12),并具备以下条件:

  • 两台服务器网络互通,且能访问外网(用于安装软件)
  • 拥有 root 权限或可使用 sudo 的用户
  • 确定一个虚拟 IP(VIP),例如:192.168.1.100(该 IP 尚未被使用)

第 1 步:在两台服务器上安装 Keepalived

在 Debian 上安装 Keepalived 非常简单,只需执行以下命令:

sudo apt updatesudo apt install -y keepalived

第 2 步:配置 Keepalived(主服务器)

我们以 server1 作为主节点(MASTER),编辑其配置文件:

sudo nano /etc/keepalived/keepalived.conf

填入以下内容(请根据你的实际网络环境修改 interface 和 virtual_ipaddress):

global_defs {    router_id debian_master}vrrp_instance VI_1 {    state MASTER    interface eth0    virtual_router_id 51    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass yourpassword    }    virtual_ipaddress {        192.168.1.100/24    }}

第 3 步:配置 Keepalived(备用服务器)

在 server2 上,创建类似的配置文件,但需调整为 BACKUP 角色:

global_defs {    router_id debian_backup}vrrp_instance VI_1 {    state BACKUP    interface eth0    virtual_router_id 51    priority 90    advert_int 1    authentication {        auth_type PASS        auth_pass yourpassword    }    virtual_ipaddress {        192.168.1.100/24    }}
注意: 主备服务器的 virtual_router_id 必须相同,priority 值主服务器应高于备用服务器,auth_pass 密码也必须一致。

第 4 步:启动并启用 Keepalived 服务

在两台服务器上分别执行:

sudo systemctl start keepalivedsudo systemctl enable keepalived

第 5 步:验证高可用是否生效

1. 在主服务器上查看 VIP 是否已绑定:

ip addr show eth0

你应该能看到 192.168.1.100 出现在输出中。

2. 关闭主服务器的 Keepalived 服务,观察备用服务器是否接管 VIP:

# 在主服务器执行sudo systemctl stop keepalived# 在备用服务器执行ip addr show eth0

如果一切正常,备用服务器将自动获得虚拟 IP,实现无缝切换。

常见问题与优化建议

  • 防火墙设置:确保两台服务器之间的 VRRP 通信(协议号 112)未被防火墙阻止。
  • 日志查看:可通过 journalctl -u keepalived -f 实时查看 Keepalived 日志。
  • 健康检查:可结合脚本对后端服务(如 Nginx)进行健康检查,实现更智能的故障转移。

结语

通过本教程,你已经成功在 Debian 系统上部署了 Keepalived 高可用集群,实现了双机热备。无论是用于 Web 服务、数据库还是其他关键应用,这种架构都能显著提升系统的可靠性和连续性。希望这篇 Keepalived配置教程 对你有所帮助!

© 2024 高可用技术实践 | 专注 Debian Keepalived高可用 解决方案