背景说明

在一次 Proxmox VE(PVE)节点初始化完成后,Web UI 中出现了 Ceph HEALTH_WARN 提示,提示内容为:

OSD count 0 < osd_pool_default_size 3

该告警并非硬件故障或系统异常,而是由于 Ceph 已被初始化,但集群中并未配置任何 OSD(Object Storage Daemon),同时 Ceph 默认要求存储池副本数为 3,从而触发健康警告。

当前环境采用 PVE 单节点 + 独立硬件 PBS(Proxmox Backup Server) 的架构,用于虚拟化运行与备份分离。在该架构下,并不存在分布式存储或在线高可用的需求,因此 Ceph 实际上并不适合该使用场景。


Ceph 的定位与适用场景

Ceph 是一套分布式存储系统,主要目标包括:

  • 多节点环境下的统一存储池
  • 数据多副本与自动恢复
  • 节点或磁盘故障下的在线高可用

其典型使用场景包括:

  • 多节点 PVE 集群的共享虚拟机存储
  • 云平台(如 OpenStack、Kubernetes)后端存储
  • 大规模对象存储或分布式文件系统

而在 单节点 PVE 环境中:

  • 不存在节点级高可用需求
  • Ceph 的副本机制无法发挥价值
  • 反而会引入额外的资源消耗与运维复杂度

因此,在明确不使用 Ceph 的前提下,应当将其从系统角色中移除。


HEALTH_WARN 的根本原因

出现告警的直接原因是:

  • Ceph 集群已初始化
  • OSD 数量为 0
  • 默认存储池副本数为 3

Ceph 在内部进行一致性校验时,判断该集群不具备存储能力,因此给出 HEALTH_WARN 提示。这属于 Ceph 的正常设计行为,而非异常。


移除 Ceph 的实际操作

在确认 Ceph 不再需要后,使用 PVE 官方提供的清理命令对集群进行销毁。

执行命令

pveceph purge

命令输出示例

Removed "/etc/systemd/system/ceph-mon.target.wants/ceph-mon@localhost.service".
Removed "/etc/systemd/system/ceph-mgr.target.wants/ceph-mgr@localhost.service".
Removing config & keyring files

该输出表明:

  • Ceph Monitor(mon)服务已从 systemd 启动链路中移除
  • Ceph Manager(mgr)服务已移除
  • Ceph 的配置文件与密钥文件已被删除

这一步并非“停止服务”,而是销毁 Ceph 集群状态本身


关于 systemd 中残留的 ceph 单元文件

在执行 pveceph purge 后,通过以下命令检查 systemd 单元文件:

systemctl list-unit-files | grep ceph

可以看到多个 ceph-*.serviceceph-*.target 仍然存在。

需要明确区分以下两点:

  • list-unit-files 显示的是 系统中存在的服务定义文件
  • 并不代表这些服务正在运行

在 PVE 中:

  • Ceph 软件包默认被保留
  • 对应的 systemd 单元模板文件会存在
  • 只有在 Ceph 集群被初始化并创建实例后,相关服务才会实际启动

因此,这种状态是完全正常且符合 PVE 设计预期的


验证 Ceph 是否仍在运行

判断 Ceph 是否仍有守护进程运行,应使用以下命令:

systemctl --type=service | grep ceph

在 Ceph 已被正确移除的情况下:

  • 不应看到 ceph-monceph-mgrceph-osd 等服务处于 active 状态
  • 最多只可能存在 ceph-crash.service

ceph-crash.service 仅用于收集 Ceph 崩溃信息,在未运行 Ceph 的情况下几乎不占用资源,可选择保留或手动禁用。


移除后的系统状态

完成上述操作后,系统状态应为:

  • 不存在 Ceph 集群
  • 不存在 Ceph 守护进程
  • 不再产生 Ceph 健康告警
  • 不影响 PVE 的虚拟机、存储或备份功能

Ceph 从系统的“运行组件”退化为“仅存在工具包”,对系统资源与稳定性不再产生影响。


总结

PVE 单节点 + 独立 PBS 的架构下,Ceph 并非必需组件。面对 HEALTH_WARN 告警,与其尝试以单 OSD、单副本的方式“勉强使用”,不如明确其不适用性并彻底移除。

这种取舍可以带来:

  • 更简洁的系统结构
  • 更低的维护心智负担
  • 更可控、可预测的长期运行状态

对于单节点虚拟化环境而言,这是一种理性且可持续的选择。

Leave a Reply

Your email address will not be published. Required fields are marked *