PVE 超融合方案实战:Ceph 存储的部署、管理与故障排除
引言
在 Proxmox VE(PVE)集群中,Ceph 是一个强大的分布式存储系统,能够提供高可用、可扩展的存储解决方案。
它特别适合超融合架构(HCI),让计算和存储资源在同一批服务器上运行,既节省成本又提高性能。
本文将从 Ceph 的部署、日常管理、性能优化 到 常见故障排查,一步步带你掌握 PVE 上的 Ceph 存储方案。
1. Ceph 在 PVE 中的作用
Ceph 是一个开源的分布式存储系统,在 PVE 中主要用于:
- 存储虚拟机(VM)和容器(LXC)的磁盘(通过 RBD 块存储)。
- 提供共享文件系统(CephFS),可用于存放 ISO 镜像、备份等。
- 支持对象存储(RADOS Gateway,可选)。
它的核心优势: ✅ 高可用:数据默认 3 副本存储,即使一台服务器宕机,数据仍然可用。
✅ 弹性扩展:可以随时添加硬盘或节点来扩容存储。
✅ 自动均衡:Ceph 会自动调整数据分布,优化性能和空间利用率。
2. Ceph 部署指南
(1)硬件准备
- 服务器:至少 3 台 PVE 节点(推荐相同配置)。
- 存储:每台服务器至少 1 块 SSD(用于系统) + 多块 HDD/SSD(用于 Ceph OSD)。
- 网络:建议 10Gbps 或更高,并启用 MTU 9000(巨型帧) 以减少延迟。
(2)安装 Ceph
在 PVE Web 界面操作:
- 创建 Ceph 集群:
- 进入 PVE 集群 > Ceph > 安装,选择所有节点,点击“安装 Ceph”。
- 添加 OSD(存储设备):
- 进入 Ceph > OSD,选择每台服务器上的硬盘,格式化为 OSD。
- 创建存储池(Pool):
- 在 Ceph > Pool 中新建 Pool,推荐使用 3 副本(Replicated) 模式。
# 命令行方式创建 Pool(可选)
pveceph pool create vm_storage –pg_num 128 –add_storages
3. Ceph 日常管理
(1)监控集群状态
ceph -s # 查看集群健康状态
ceph osd df # 查看 OSD 使用情况
ceph df # 查看存储池空间使用
(2)扩容存储
- 增加 OSD:在 Ceph > OSD 中添加新硬盘。
- 增加节点:在新服务器上安装 PVE 并加入 Ceph 集群。
(3)调整副本数
ceph osd pool set vm_storage size 3 # 设置 3 副本(默认)
ceph osd pool set vm_storage min_size 2 # 允许降级时仍可写入
4. 性能优化技巧
(1)网络优化
- 使用 10G/40G 网络,并开启 Jumbo Frames(MTU 9000)。
- 如果支持,可启用 RDMA(RoCE) 进一步降低延迟。
(2)OSD 优化
- SSD + HDD 混合存储:用 SSD 作为 WAL/DB 设备,提升 HDD 的随机写入性能。
- 调整 OSD 参数(在 /etc/ceph/ceph.conf 中修改):
osd_op_threads = 8
osd_recovery_max_active = 4
(3)BIOS 优化
- 关闭 CPU 节能模式(设置为 Performance)。
- 开启 VT(虚拟化支持)。
5. 常见故障排查
(1)OSD 故障
ceph osd out osd.0 # 下线故障 OSD
pveceph osd destroy 0 # 彻底移除 OSD
ceph osd crush rm osd.0 # 从 CRUSH Map 删除(可选)
(2)节点宕机
- 如果节点宕机但 OSD 仍在运行:
ceph osd set noout # 防止自动恢复导致网络拥堵
ceph osd unset noout # 恢复后取消
(3)存储池(Pool)空间不足
ceph osd pool set vm_storage pg_num 256 # 增加 PG 数量(需谨慎)
ceph osd pool set vm_storage pgp_num 256 # 同步调整 PGP
总结
PVE + Ceph 是构建超融合集群的理想方案,既能提供高性能存储,又能保证数据高可用。本文介绍了:
- Ceph 的部署流程(硬件要求、安装步骤)。
- 日常管理(监控、扩容、调整副本)。
- 性能优化(网络、OSD、BIOS 调优)。
- 常见故障排查(OSD 故障、节点宕机、Pool 调整)。
如果你正在规划 PVE 集群存储方案,Ceph 绝对值得尝试!🚀