Administrator
发布于 2026-05-02 / 6 阅读
0
0

DRBD,至少 2 个网口是底线

改造后的故障表现

断的线

Corosync

DRBD

脑裂?

管理网断了

ring0通,ring1断 → 正常

通(走万兆)

不会

万兆线断了

ring0断,ring1通 → 正常

断了,停止同步

不会

两根都断了

全断

全断

QDevice仲裁保护,不脑裂

一台PVE断电

另一台通过任一ring感知 + QDevice投票

自动切换

不会

===============================================================

| 项目 | 说明 |

| ------------------------ | ------------------------------------------------------------------ |

| 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,接管业务


评论