在现代 IT 基础设施中,系统的高可用性(High Availability, HA)至关重要。当一台服务器出现故障时,服务能自动切换到备用服务器上,从而保障业务连续性。本文将详细讲解如何在 Ubuntu 系统上配置一个简单的 Ubuntu集群故障转移 环境,即使你是 Linux 新手也能轻松上手。

Ubuntu 集群故障转移是指在由多台 Ubuntu 服务器组成的集群中,当主节点(Primary Node)发生故障时,备用节点(Standby Node)能够自动接管其服务,确保对外服务不中断。这种机制通常通过 高可用集群配置 实现,核心组件包括 Pacemaker 和 Corosync。
本教程使用两台 Ubuntu 22.04 LTS 服务器:
确保以下条件已满足:
在两台服务器上执行以下命令安装高可用套件:
sudo apt updatesudo apt install -y pacemaker corosync resource-agents在 node1 上执行:
sudo hostnamectl set-hostname node1在 node2 上执行:
sudo hostnamectl set-hostname node2然后在两台机器的 /etc/hosts 文件末尾添加以下内容:
192.168.1.10 node1192.168.1.11 node2在任意一台节点(例如 node1)上生成 Corosync 配置:
sudo corosync-keygen然后编辑配置文件 /etc/corosync/corosync.conf,内容如下:
totem { version: 2 cluster_name: ubuntu-ha-cluster transport: udpu}nodelist { node { ring0_addr: node1 nodeid: 1 } node { ring0_addr: node2 nodeid: 2 }}quorum { provider: corosync_votequorum expected_votes: 2}logging { to_logfile: yes logfile: /var/log/corosync/corosync.log to_syslog: yes}将此配置文件复制到 node2:
scp /etc/corosync/corosync.conf node2:/etc/corosync/同时将密钥文件也复制过去:
scp /etc/corosync/authkey node2:/etc/corosync/在两台服务器上分别执行:
sudo systemctl enable --now corosyncsudo systemctl enable --now pacemaker验证集群状态:
sudo crm status正常输出应显示两个在线节点,例如:
Online: [ node1 node2 ]假设我们希望对外提供一个虚拟 IP(VIP)192.168.1.100,当主节点宕机时,该 IP 自动漂移到备用节点。
在任意节点执行以下命令创建 VIP 资源:
sudo crm configure primitive vip ocf:heartbeat:IPaddr2 \ params ip=192.168.1.100 cidr_netmask=24 \ op monitor interval=30s设置资源为“仅运行一个实例”(避免重复分配):
sudo crm configure commit现在,你可以通过 ping 192.168.1.100 测试 VIP 是否生效。尝试关闭当前持有 VIP 的节点,观察是否自动切换到另一台——这就是 自动故障切换 的核心功能!
通过以上步骤,你已经成功搭建了一个基于 Ubuntu 的高可用集群,实现了基础的 Ubuntu HA集群 功能。这种 Ubuntu集群故障转移 架构适用于 Web 服务、数据库等关键业务场景,有效提升系统可靠性。
后续你可以扩展更多资源(如 Apache、MySQL),配置 STONITH(防止脑裂)等高级功能。希望这篇教程对你有所帮助!
本文由主机测评网于2025-12-13发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025127165.html