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

Ubuntu服务高可用配置(手把手教你搭建Keepalived实现主备自动切换)

在现代 IT 基础设施中,Ubuntu高可用配置是确保关键服务持续运行的核心技术之一。无论你是运维新手还是开发人员,掌握如何在 Ubuntu 系统上搭建高可用(High Availability, HA)环境都至关重要。本教程将使用 Keepalived 工具,通过主备服务器自动切换机制,实现服务的高可用性。

Ubuntu服务高可用配置(手把手教你搭建Keepalived实现主备自动切换) Ubuntu高可用配置 Keepalived安装教程 Ubuntu服务高可用 主备服务器切换 第1张

什么是 Keepalived?

Keepalived 是一个基于 VRRP(Virtual Router Redundancy Protocol)协议的开源软件,用于实现 Linux 系统上的高可用性和负载均衡。它可以在主服务器宕机时,自动将虚拟 IP(VIP)切换到备用服务器,从而保证服务不中断。

准备工作

你需要准备以下环境:

  • 两台运行 Ubuntu 20.04 或更高版本的服务器(一台主,一台备)
  • 两台服务器能互相通信(建议在同一内网)
  • 一个未被使用的虚拟 IP 地址(例如:192.168.1.100)
  • root 权限或具有 sudo 权限的用户

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

在主服务器和备用服务器上分别执行以下命令:

sudo apt updatesudo apt install keepalived -y  

第二步:配置主服务器(Master)

编辑 Keepalived 配置文件:

sudo nano /etc/keepalived/keepalived.conf  

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

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

说明:

  • state MASTER 表示这是主服务器
  • interface eth0 请替换为你服务器的实际网卡名(可通过 ip a 查看)
  • priority 100 优先级高于备用服务器(备用通常设为 90)
  • virtual_ipaddress 是你要绑定的虚拟 IP

第三步:配置备用服务器(Backup)

同样编辑配置文件:

sudo nano /etc/keepalived/keepalived.conf  

输入以下内容:

global_defs {    router_id ubuntu_backup}vrrp_instance VI_1 {    state BACKUP    interface eth0    virtual_router_id 51    priority 90    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        192.168.1.100/24    }}  

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

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

sudo systemctl start keepalivedsudo systemctl enable keepalived  

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

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

ip addr show eth0  

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

2. 模拟主服务器宕机(关闭 Keepalived 服务):

sudo systemctl stop keepalived  

3. 在备用服务器上再次执行 ip addr show eth0,你会发现虚拟 IP 已经自动漂移到备用服务器上!

这就是 Ubuntu服务高可用 的核心机制——通过 主备服务器切换 实现零停机。

常见问题排查

  • 防火墙是否放行了 VRRP 协议(协议号 112)?可临时关闭防火墙测试:
    sudo ufw disable
  • 两台服务器的 virtual_router_idauth_pass 必须一致
  • 确保网卡名称正确(Ubuntu 22.04 可能是 ens33 而非 eth0

结语

通过本教程,你已经成功完成了 Keepalived安装教程 的全部步骤,并实现了 Ubuntu 系统下的高可用架构。无论是 Web 服务、数据库还是自定义应用,只要绑定到虚拟 IP 上,就能享受自动故障转移带来的稳定性保障。

掌握 Ubuntu高可用配置 不仅能提升系统可靠性,也是迈向专业运维的重要一步。快去试试吧!