改造后的故障表现
===============================================================
| 项目 | 说明 |
| ------------------------ | ------------------------------------------------------------------ |
| STONITH 必须配 | IPMI 远程断电或智能 PDU,确保脑裂时能强制关闭故障节点。QDevice 解决"谁该活着",STONITH 解决"谁该去死"。 |
| DRBD 必须用 Protocol C | 收费记录零误差,没有商量余地。 |
| 单主模式(Single Primary) | 不要开双主。Pacemaker 控制 VIP 和 DRBD 角色,任何时候只有一台节点是 Primary。 |
| 备份不能停 | 即使双节点,也要每日把快照推到旧节点。DRBD 防节点故障,不防勒索病毒和误删。 |
| NVMe 必须企业级 | 带掉电保护(PLP),消费级 NVMe 在数据库 fsync 场景下可能丢数据。 |
# PVE 双节点高可用集群建设方案(方案 C)
适用场景:月流水 75 万元级网上商城
核心诉求:数据库零丢失、故障分钟级切换、收费记录无误差
编制日期:2026-05-02
---
## 1. 方案概述
采用两台同构物理服务器组成 DRBD 双活主备集群,配合旧节点作为 QDevice 仲裁与异地备份节点,实现:
- RPO = 0:DRBD Protocol C 同步复制,任意节点故障不丢数据
- RTO ≈ 15~60 秒:Pacemaker 自动切换 VIP 与服务
- 防脑裂:QDevice 第三方仲裁 + STONITH 远程断电
---
## 2. 硬件清单
| 节点 | 配置 | 角色 | 预算参考 |
|------|------|------|----------|
| 新节点 A | 12C24T / 64~128G ECC / 3×NVMe / 5×SSD / 双万兆网卡 / IPMI | 生产主节点 | 1.5~2.5 万元 |
| 新节点 B | 同配置完全一致 | 生产备节点 | 1.5~2.5 万元 |
| 旧节点 | 8C16T / 32G / 1TB+2TB(现有) | QDevice 仲裁 + 异地备份 | 0 元 |
| 万兆直连线 | DAC 铜缆或光模块+光纤 | DRBD 同步链路 | 100~200 元 |
硬性要求:
- 两台新节点必须同品牌、同主板、同批次硬盘
- NVMe 必须为企业级(带掉电保护电容 PLP)
- 内存必须 ECC
- 必须支持 IPMI(用于 STONITH 远程断电)
---
## 3. 网络拓扑
三张网络物理分离:
| 网络 | 用途 | 速率 | 接入方式 |
|------|------|------|----------|
| 管理网 | PVE Web、SSH、Corosync 心跳、QDevice | 千兆 | 接入管理交换机 |
| 同步网 | DRBD 实时数据复制 | 万兆 | 两新节点**直连**(或独立万兆交换机) |
| 业务网 | VM 对外提供服务 | 千兆/万兆 | 接入业务交换机/路由器 |
旧节点仅接入管理网,运行 corosync-qnetd,不参与业务与同步。
---
## 4. 存储架构(每节点内部)
### 4.1 磁盘分配
| 盘位 | 数量 | RAID 级别 | 用途 |
|------|------|-----------|------|
| NVMe | 2 块 | RAID1(ZFS Mirror 或 mdadm) | PVE 系统 + DRBD 数据库资源 |
| NVMe | 1 块 | 单盘 | MySQL Binlog / ZFS SLOG / Redis AOF |
| SSD | 4 块 | RAID10 | DRBD VM 资源、应用、日志 |
| SSD | 1 块 | 全局热备 | RAID10 自动重建或本地快照 |
### 4.2 分层架构
=================================================
1. 节点 A 内核 panic,系统死机
↓
2. 节点 A 的 Corosync 心跳停止发送
↓
3. 节点 B 的 Corosync 超时(默认约 2.4 秒)
↓
4. 节点 B 问 QDevice(旧机器):"A 还活着吗?"
↓
5. QDevice 确认:"A 的管理网 IP 不通了"
↓
6. 节点 B 通过 IPMI 命令连到 A 的管理口:192.168.100.11
↓
7. A 的 IPMI 芯片收到指令 → 切断主板电源 → A 彻底关机
↓
8. 节点 B 安全提升为 Primary,接管业务