集群与高可用
集群与高可用
Section titled “集群与高可用”多个 PVE 节点组成集群后:一个界面管理所有节点、统一的用户与权限、虚拟机可在线迁移;再配合共享存储与 HA,节点宕机时虚拟机自动在别的节点重启。本文从组网开始一步步走。
- 所有节点:PVE 大版本一致、主机名唯一、时间同步正常(chrony);
- 节点间网络低延迟(同机房/LAN,不要跨公网组集群);
- 管理地址建议静态;
- 集群网络最好与业务流量分开(见网络配置实战),至少保证 corosync(UDP 5405-5412)畅通且稳定。
- 在第一个节点:数据中心 → 集群 → 创建集群,起名如
hc(可选:多播/单播、链路冗余地址); - 在其他节点:数据中心 → 集群 → 加入集群 —— 在首个节点点「复制加入信息」,粘贴到目标节点,输入首个节点 root 密码,确认加入。
命令行等价操作:
# 在第一个节点上创建pvecm create hc
# 在其他节点上加入(IP 为首个节点的管理地址)pvecm add 192.168.1.10pvecm status # 集群状态、quorum 信息pvecm nodes # 节点列表- 在线迁移:右键虚拟机 → 迁移,目标选另一节点。使用共享存储(Ceph)时仅迁移内存,秒级完成;本地存储也可迁移(带磁盘复制,需停机窗口视数据量);
- 移除节点(谨慎):在其余节点执行
pvecm delnode <节点名>;被移除节点若要重装/复用,需彻底清理(重装系统最干净)。
Quorum:集群的生死线
Section titled “Quorum:集群的生死线”集群通过 corosync 维护「法定多数(quorum)」:超过半数节点在线才能执行变更;失去多数时集群会冻结写入(/etc/pve 只读),防止脑裂。
| 节点数 | 挂掉几台后失联 | 说明 |
|---|---|---|
| 2 | 1 台 | 剩单台失去 quorum,无法变更 —— 双节点强烈建议配 QDevice |
| 3 | 1 台 | 剩 2/3,正常 |
| 3 | 2 台 | 失去 quorum |
QDevice(偶数节点的救星)
Section titled “QDevice(偶数节点的救星)”QDevice 是一个跑在集群外机器上的轻量投票服务(NAS、树莓派、随便一台常开 Linux 均可),给偶数节点集群提供额外一票:
- 在集群任一节点:数据中心 → 集群 → QDevice;
- 填外部机器的 IP 与 SSH 密码,向导会自动在外部机器上安装
corosync-qnetd。
高可用(HA)
Section titled “高可用(HA)”HA 的工作方式
Section titled “HA 的工作方式”给虚拟机开启 HA 后:
- PVE 的 HA 管理器持续监控节点与资源状态;
- 节点失联后,通过硬件 watchdog(默认软狗 softdog)确保故障节点真的「死透」不抢磁盘锁;
- 约 1~2 分钟内,其他节点接管并重启该虚拟机。
- 共享存储:所有节点都能访问虚拟机磁盘(典型:Ceph,或 NFS)。ZFS 复制不是共享存储,无法直接用于 HA;
- 冗余网络:corosync 至少一条独立链路(集群创建时可以配置第二条 Link);
- 可选但推荐:IPMI/BMC 带外管理,故障时能远程操作。
- 数据中心 → HA → 添加:选虚拟机;
- (可选)设置关机策略
migrate(关节点前先迁走)与重启策略; - 完成。该虚拟机从此受 HA 管护,状态页显示
started (nodeX)。
把关键业务虚拟机加进 HA 组即可;不建议把所有 VM 都 HA(故障时全部同时重启,反而互相拖累恢复)。
一套典型的 3 节点高可用方案
Section titled “一套典型的 3 节点高可用方案”节点 ×3(大版本一致的 PVE,双网卡)├─ 网络A(千兆):管理 + corosync├─ 网络B(万兆/千兆):Ceph 集群网络 + 迁移流量├─ 每节点:系统盘 + 2 块以上 OSD 数据盘 → Ceph└─ 关键业务 VM → 加入 HA;全部 VM → PBS 定时备份这套结构来自前面的三篇文档:安装 → 存储(Ceph) → 网络 → 本文。备份这最后一环见 PBS 安装实战。
- corosync 抖动:集群网络与其他大流量混跑、虚拟化嵌套测试时常见。症状:界面偶发卡顿、日志大量 corosync 告警。解决:分离网络 / 修 Link 配置;
- 节点失联时先别急着重启:先确认是节点挂了还是网络断了——网络分区时剩余节点仍在工作;
- 加入集群失败的节点处于半配置状态时,最干净的处理是重装后再加。