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

构建稳定可靠的系统服务

在现代 IT 基础设施中,系统的高可用性(High Availability, HA)已成为保障业务连续性的核心要求。本文将手把手教你如何在 Ubuntu 系统上搭建一套简单但高效的高可用架构,即使你是 Linux 新手,也能轻松上手!

构建稳定可靠的系统服务 Ubuntu高可用架构 高可用集群 Keepalived配置 HAProxy负载均衡 第1张

什么是高可用架构?

高可用架构是指通过冗余设计,确保当某台服务器或某个组件发生故障时,系统仍能继续提供服务,从而最大限度减少停机时间。常见的实现方式包括主备切换、负载均衡、自动故障转移等。

本教程使用的技术栈

  • Ubuntu 22.04 LTS:作为操作系统基础
  • Keepalived:实现虚拟 IP(VIP)的故障转移
  • HAProxy:作为反向代理和负载均衡器
  • 两台 Ubuntu 服务器(node1 和 node2)模拟主备节点

第一步:环境准备

假设你有两台 Ubuntu 服务器:

  • node1: 192.168.1.10(主节点)
  • node2: 192.168.1.11(备节点)
  • 虚拟 IP(VIP): 192.168.1.100(对外提供服务的 IP)

确保两台机器网络互通,并已安装基础工具:

sudo apt updatesudo apt install -y keepalived haproxy  

第二步:配置 Keepalived 实现 VIP 高可用

Keepalived 负责管理虚拟 IP。当主节点宕机,VIP 自动漂移到备节点。

在 node1(主节点)上编辑配置文件:

sudo nano /etc/keepalived/keepalived.conf  

写入以下内容:

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    }}  

在 node2(备节点)上配置:

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 enable --now keepalived  

第三步:配置 HAProxy 负载均衡

HAProxy 将接收来自 VIP 的请求,并分发给后端真实服务器(例如 Web 应用)。这里我们假设后端有两台 Web 服务器:192.168.1.20 和 192.168.1.21。

编辑 HAProxy 配置(两台节点都需相同配置):

sudo nano /etc/haproxy/haproxy.cfg  

在文件末尾添加:

frontend http_front   bind 192.168.1.100:80   default_backend http_backbackend http_back   balance roundrobin   server web1 192.168.1.20:80 check   server web2 192.168.1.21:80 check  

启用 HAProxy 并重启服务:

sudo systemctl enable --now haproxy  

第四步:测试高可用性

  1. 访问 http://192.168.1.100,应能看到后端 Web 页面。
  2. 关闭 node1 的 Keepalived:
    sudo systemctl stop keepalived
  3. 几秒后,VIP 会自动迁移到 node2,服务依然可用!
  4. 重新启动 node1 的 Keepalived,VIP 会切回主节点(因优先级更高)。

总结

通过本教程,你已成功搭建了一套基于 Ubuntu高可用架构 的基础方案。该架构结合了 Keepalived配置 实现 VIP 故障转移,以及 HAProxy负载均衡 分发流量,构成了一个典型的 高可用集群。这套方案成本低、部署快,非常适合中小型企业或个人项目使用。

提示:生产环境中建议增加健康检查、日志监控、防火墙规则等安全措施。

现在,你的服务再也不怕单点故障啦!🎉