跳转到内容

单节点也要做的生产化检查 ​

很多小团队和个人项目从单节点 Proxmox VE 起步,业务跑起来之后才想起该「正式一点」。单节点没有集群和高可用(HA),但备份、监控、告警、权限这些事一样不能少。这篇是一份检查清单,而不是搭建教程,每一项该怎么做都链接到对应章节。

方案总览 ​

维度单节点能做到什么单节点做不到什么
数据安全完整的备份策略、宿主机配置备份虚拟机故障自动转移(需要集群 + 共享存储 + HA)
可观测性内置指标、外部指标服务器、告警通知多节点视角的容量规划
访问控制最小权限、双因素认证、API Token—
可用性计划内维护窗口、清晰的恢复流程硬件故障时的自动切换

「生产化」不是「上集群」

单节点也可以做到数据不丢、故障能被发现、恢复有章可循。这篇要解决的是这些问题;「宿主机本身挂了业务立刻恢复」需要集群和 HA,属于另一个话题,见高可用入门。

需要用到的章节 ​

数据安全

可观测性

访问控制

日常运维

实施顺序 ​

  1. 补齐安装后基础项:如果这台机器是「先跑起来再说」搭建的,先过一遍安装后十分钟检查清单和健康检查清单,确认软件源、时间同步、通知渠道这些基础项没有缺失。
  2. 备份先于监控:备份是最后一道防线,优先级最高。按配置备份任务建立任务并做一次恢复演练,同时确认备份宿主机配置覆盖了 /etc/pve。
  3. 收紧访问控制:把日常操作用的账号从「管理员共用 root」收敛到按用户、组、角色与权限路径分配的最小权限账号,自动化脚本改用API Token,管理入口开启双因素认证。
  4. 打通告警通道:先配好通知系统,确认备份失败、存储告警这些事件真的会通知到人,而不是要主动登录才能发现。
  5. 上监控:从内置图表与 RRD开始,业务重要到需要长期趋势分析和自定义告警规则时,再上Prometheus + Grafana。
  6. 写下恢复流程:把「宿主机挂了怎么办」「某个虚拟机数据损坏怎么恢复」写成文档,而不是依赖临场记忆,日常维护和升级参考更新与升级。

风险评估 ​

单点故障 ​

单节点的定义就是没有冗余的宿主机:主板、电源、系统盘任何一个部件故障,上面所有虚拟机同时下线,且没有自动转移的可能。这是单节点架构的固有限制,生产化检查解决不了这个问题,只能缩短「发现故障」和「恢复业务」之间的时间——这正是备份、监控和告警存在的意义。

如果业务已经重要到不能接受这种单点故障,说明需要的是集群加高可用,而不是把单节点检查做得更细,见组建集群和高可用入门。

同一故障域 ​

单节点上,虚拟机数据、备份存储、监控数据(如果也部署在本机)如果不做区分,很容易挤在同一个故障域里。例如把 Prometheus 数据库和被监控的业务虚拟机放在同一个存储池,池损坏时你同时失去业务数据和事后排查用的历史指标。

监控和告警不能依赖被监控对象本身

如果通知服务本身跑在这台单节点上,宿主机整机故障时,「宿主机挂了」这条告警也发不出来。影响范围:宿主机硬件或网络故障导致完全离线的场景。前置条件:告警通道(邮件网关、Webhook 目标、Gotify 服务)部署在这台机器之外。回退:至少保留一种不依赖这台机器本身的外部监控手段(例如另一台设备定时探测端口或 ping),确保「完全宕机」这种最坏情况也能被发现。

验收清单 ​

  • [ ] 备份任务正常运行且做过恢复演练;/etc/pve 有独立备份
  • [ ] 日常操作账号不是共用的 root,敏感操作走最小权限账号,管理入口开启双因素认证
  • [ ] 备份失败、磁盘容量、证书到期等关键事件配置了通知,并验证过真的能收到
  • [ ] 至少有一种不依赖本机的外部探活手段,覆盖「整机离线」场景
  • [ ] 写下了宿主机故障和虚拟机数据损坏时的恢复步骤,团队里不止一个人知道怎么做
  • [ ] 明确评估过:如果业务已经无法接受单点故障,是否应该转向集群 + 高可用方案

常见问题 ​

只有一台机器,值得做双因素认证和最小权限吗。 值得——大多数生产事故不是硬件故障,而是误操作或者账号被盗用。单节点不能防硬件故障,但能防这些。

监控要不要马上上 Prometheus + Grafana。 不必须。内置的图表和 RRD 数据已经能覆盖大部分「机器最近是不是不对劲」的场景,业务规模到需要长期趋势分析、自定义告警规则或多主机聚合视图时,再考虑外部方案。

单节点能不能做到「重启自动恢复业务」。 能做到虚拟机随宿主机启动自动开机(Start at boot),但做不到宿主机本身故障时业务转移到别的机器,这需要集群和共享存储,见高可用入门。

参考资料 ​

Proxmox VE 非官方中文使用指南,与 Proxmox Server Solutions GmbH 无隶属关系。