在 VPS 这种虚拟化环境下,很难接触到真实的物理硬件看门狗(Hardware Watchdog)。但别担心,Linux 内核提供了一个完美的“分身”:softdog(软件看门狗)。
虽然它的可靠性略逊于物理硬件(如果内核彻底挂死,软件看门狗也可能失效),但在 99% 的 PVE 集群场景下,它足以满足 HA 隔离(Fencing)的需求。
以下是在 VPS 上启用 softdog 替代方案的步骤:
1. 加载 softdog 内核模块
你需要告诉系统启动这个软件模拟器。在 VPS 的 Shell 中执行:
Bash
modprobe softdog执行完后,检查一下是否成功生成了设备文件:
Bash
ls -l /dev/watchdog如果看到类似 crw------- 1 root root 10, 130 ... /dev/watchdog 的输出,说明“替身”已经上岗了。
2. 设置开机自动加载
为了保证 VPS 重启后看门狗依然有效,需要将其写入系统配置:
Bash
echo "softdog" >> /etc/modules3. 在 PVE 中验证 HA 状态
PVE 的 HA 管理器(pve-ha-lrm)非常聪明,它启动时会自动探测 /dev/watchdog。只要这个文件存在,它就会自动关联。
你可以通过以下命令查看 HA 状态,确认隔离机制是否就绪:
Bash
ha-manager status在输出中,如果你看到节点状态是 active,且没有关于 watchdog 缺失的警告,那就说明配置成功了。
⚠️ 针对“高延迟节点”的一个重要提醒
如果异构节点延迟较高,且你只打算统一管理而不做 HA 迁移。这种情况下,softdog 的主要作用不再是“为了迁移业务”,而是 “自残保护”:
- 隔离逻辑: 如果这台远程 VPS 因为网络剧烈抖动丢掉了集群票数(Quorum),为了防止它在“失联”期间产生脏数据,
softdog会触发一个硬重启(Hard Reboot)。 - 避坑指南: 如果你觉得 VPS 频繁因为网络波动而自动重启太烦人,记得一定要把我们之前提到的
token超时时间(在corosync.conf中)放宽到 5000ms 甚至更高。这能给高延迟节点更多的“喘息机会”,防止它因为一点网络风暴就动不动给自己一板砖(重启)。
💡 现在的架构总结
- 3 节点集群: 物理选票稳定。
- 高延迟隔离: 通过
HA Groups限制业务只在本地跑。 - 异地备份: NFS 持续保护数据。
- 软看门狗: 补齐了 VPS 的底层监控短板。