Debian Corosync集群通信详解(手把手教你搭建高可用集群)

来源:这里教程网 时间:2026-03-28 02:13:32 作者:

在现代 IT 基础设施中,高可用性(High Availability, HA)是确保服务持续运行的关键。而 Corosync 是 Linux 系统中最常用的集群通信层之一,常与 Pacemaker 配合使用,构建稳定可靠的高可用集群。本文将带你从零开始,在 Debian 系统上配置 Corosync 集群通信,即使你是初学者也能轻松上手。

什么是 Corosync?

Corosync 是一个开源的集群引擎,负责节点之间的消息传递、成员管理与故障检测。它为上层资源管理器(如 Pacemaker)提供底层通信支持,是构建 Debian Corosync集群 的核心组件。

准备工作

本教程假设你有两台运行 Debian 11(Bullseye)或更高版本的服务器,例如:

node1:IP 地址 192.168.1.10 node2:IP 地址 192.168.1.11

确保两台机器之间网络互通,并已设置主机名解析(可通过 /etc/hosts 或 DNS 实现)。

步骤一:安装 Corosync

在两台节点上执行以下命令安装 Corosync:

sudo apt updatesudo apt install corosync -y

步骤二:生成 Corosync 配置文件

Debian 提供了

corosync-confdb-to-cfg
corosync-cfgtool
工具,但最简单的方式是使用
corosync-keygen
生成认证密钥,并手动编写配置文件。

首先生成认证密钥(仅需在一台节点操作,然后复制到另一台):

sudo corosync-keygen

该命令会生成

/etc/corosync/authkey
文件。请将其安全地复制到 node2 的相同路径。

步骤三:编辑 Corosync 主配置文件

编辑

/etc/corosync/corosync.conf
,内容如下(请根据你的实际 IP 修改):

totem { version: 2 cluster_name: debian-ha-cluster transport: udpu interface { ringnumber: 0 bindnetaddr: 192.168.1.0 mcastport: 5405 ttl: 1 }}nodelist { node { ring0_addr: 192.168.1.10 nodeid: 1 } node { ring0_addr: 192.168.1.11 nodeid: 2 }}quorum { provider: corosync_votequorum expected_votes: 2 two_node: 1}logging { to_logfile: yes logfile: /var/log/corosync/corosync.log to_syslog: yes}

注意:

bindnetaddr
应设置为你的局域网网段(如 192.168.1.0),
two_node: 1
表示这是一个双节点集群,避免因缺少法定票数导致集群无法启动。

步骤四:启动并验证 Corosync 服务

在两台节点上启动 Corosync 并设置开机自启:

sudo systemctl enable corosyncsudo systemctl start corosync

检查集群状态:

sudo corosync-cfgtool -s

如果看到类似

Printing ring status.
和两个节点的 IP 地址,说明 Corosync通信配置 成功!

常见问题与排查

防火墙未开放 UDP 5405 端口 → 使用
ufw allow 5405/udp
节点间无法解析主机名 → 检查
/etc/hosts
或 DNS 日志报错“Quorum not achieved” → 确保
two_node: 1
已设置

结语

通过以上步骤,你已经成功在 Debian 上搭建了一个基础的 Corosync 集群通信环境。这是实现 高可用集群搭建 的第一步。下一步你可以集成 Pacemaker 来管理实际的服务资源(如 Web 服务、数据库等)。

希望这篇 Debian集群教程 对你有所帮助!如有疑问,欢迎在评论区交流。

相关推荐

热文推荐