Proxmox VE Ceph 超融合集群落地实战系列文章 #3 | 后 VMware 时代企业虚拟化实战目录为什么选 Ceph硬件选型与规划集群部署步骤存储池与 CephFS 配置性能调优故障处理与扩容监控与告警常见坑一、为什么选 CephProxmox 内置 Ceph,提供软件定义存储(SDS),对标 VMware vSAN。核心优势:无单点:数据三副本分布在不同节点/机柜横向扩展:加节点即扩容量和性能统一接口:RBD(块)、CephFS(文件)、RGW(对象)一套集群三种用法开源免费:无存储阵列许可适用场景:3 节点以上的 PVE 集群对 IOPS 和延迟要求不是极致(毫秒级可接受)有独立存储网络预算(10GbE 起步)不适用场景:单节点或 2 节点数据库等对尾延迟极敏感的工作负载(建议本地 NVMe)网络只有 1GbE二、硬件选型与规划2.1 最小规模与推荐规模维度最小可用推荐生产节点数35每节点 OSD 盘24-8OSD 盘类型企业级 SATA SSD企业级 NVMe存储网络10GbE25GbE / 100GbE每节点内存64GB128GBCPU16 core32 core2.2 OSD 盘选型红线必须是企业级:消费级 SSD 没断电保护,Ceph 会数据不一致DWPD ≥ 1:高写入场景建议 DWPD ≥ 3禁用 RAID 卡:直通 HBA 模式,Ceph 自己管冗余容量:单盘 1.92TB - 7.68TB 较优,太小 OSD 数多管理复杂,太大重建慢2.3 网络规划┌─────────────┐ │ Public 网 │ 10GbE ← 客户端访问 (PVE ↔ Ceph) └─────────────┘ ┌─────────────┐ │ Cluster 网 │ 25GbE ← OSD 内部复制/心跳 └─────────────┘关键:Public 和 Cluster 网物理隔离,否则重建流量会打爆业务网。三、集群部署步骤3.1 前置检查# 每个 PVE 节点执行pveversion# 确认 8.xpvecm status# 确认集群 Quoratelsblk# 确认 OSD 盘可见且未使用3.2 安装 Ceph(Web UI 方式)Step 1:在任一节点 Web UIDatacenter → pve01 → Ceph → Install Ceph选择版本(推荐 Reef 或 Squid),确认安装。等效 CLI:pvecephinstall--repositoryno-subscription--versionreefStep 2:初始化集群UI:Ceph → 初始化向导Public Network:10.0.0.0/24Cluster Network:10.0.1.0/24副本数:3/2(默认,size3, min_size2)CLI:pveceph init--network10.0.0.0/24 --cluster-network10.0.1.0/243.3 部署 Monitor 和 Manager至少 3 个 Monitor(奇数,防脑裂):# 分别在 pve01/pve02/pve03 执行pveceph mon create# 同样部署 Managerpveceph mgr create验证:ceph-s# cluster:# health: HEALTH_OK# services:# mon: 3 daemons, quorum pve01,pve02,pve03# mgr: pve01(active), standbys: pve02, pve033.4 创建 OSD对每块数据盘:pveceph osd create /dev/nvme0n1 pveceph osd create /dev/nvme1n1# ...或 Web UI:pve01 → Ceph → OSD → Create: OSD验证:ceph osd tree# ID CLASS WEIGHT TYPE NAME STATUS# -1 15.0 root default# -3 5.0 host pve01# 0 ssd 2.5 osd.0 up# 1 ssd 2.5 osd.1 up# ...四、存储池与 CephFS 配置4.1 创建 RBD 池(给 VM 用)UI:Datacenter → Ceph → Pools → CreateName: vm-pool Size: 3 ← 副本数 Min Size: 2 ← 最少可用副本 PG Num: auto CRUSH Rule: replicated_rule Add Storage: [✓] ← 自动添加到 Datacenter StorageCLI:pveceph pool create vm-pool--size3--min_size2--add_storages4.2 创建 CephFS(给 ISO/备份用)pveceph fs create--namecephfs --add-storage挂载后在 Datacenter 看到存储cephfs可存 ISO、模板、快照。4.3 副本数策略场景size / min_size说明生产 VM3 / 2默认,允许 1 节点故障测试环境2 / 1省空间,风险高关键数据4 / 2跨机房副本容量优先纠删码 42节省空间但性能差,不建议 VM 用五、性能调优5.1 OSD 层面# 编辑 /etc/pve/ceph.conf 的 [global] 或 [osd]osd_memory_target8G# 默认 4G,NVMe 下可调高osd_op_num_threads_per_shard4# 高并发调大bluestore_cache_size_ssd8G# SSD 专用缓存5.2 网络层面MTU 9000(Jumbo Frame):Public Cluster 网都启用多路径:用 bond mode 4 (LACP) 聚合# 验证 MTUping-Mdo-s897210.0.1.215.3 VM 侧优化磁盘缓存模式:writeback(性能最佳,需 UPS)或none(最安全)磁盘控制器:VirtIO SCSI single(可发挥多队列)启用 IO thread:Web UI → VM Hardware → Disk → iothread [✓]5.4 性能基准测试# rados 基准rados bench-pvm-pool60write--no-cleanup rados bench-pvm-pool60seqrados bench-pvm-pool60rand# 清理测试数据rados-pvm-pool cleanup参考基准(5 节点 × 8 NVMe × 25GbE):顺序写:6-8 GB/s4K 随机写 IOPS:200K-400K延迟:2ms 平均六、故障处理与扩容6.1 OSD 故障替换当某块盘红灯:# 1. 标记 out(数据迁出)ceph osd out osd.5# 2. 等待迁移完成(看 ceph -s 的 recovering)ceph-s# 3. 停止 OSDsystemctl stop ceph-osd5# 4. 从 CRUSH 删除ceph osd purge osd.5 --yes-i-really-mean-it# 5. 更换物理盘后重新创建pveceph osd create /dev/nvme5n16.2 节点扩容新加节点到 PVE 集群后:# 新节点上pvecephinstall--versionreef pveceph mon create# 可选,保持 mon 数奇数pveceph osd create /dev/nvme0n1# ... 逐盘加入# 数据自动重平衡,监控进度ceph-s6.3 集群状态急救# 集群 HEALTH_ERR 怎么办?ceph health detail# 查看具体告警ceph osd tree# 检查 OSD 状态ceph pg dump_stuck# 卡住的 PGceph pg repairpg_id# 修复不一致的 PG七、监控与告警7.1 Ceph 自带 Dashboardceph mgr moduleenabledashboard ceph dashboard create-self-signed-cert ceph dashboard ac-user-create adminpasswordadministrator访问https://mgr-ip:8443。7.2 Prometheus 集成ceph mgr moduleenableprometheus# 默认暴露 9283 端口curlhttp://mgr:9283/metrics|headPrometheus 配置:-job_name:cephstatic_configs:-targets:[10.0.0.21:9283]Grafana Dashboard 推荐 ID:2842(Ceph Cluster)、7056(Ceph Pools)。7.3 关键告警指标阈值含义ceph_health_status! 0集群不健康ceph_cluster_total_used_ratio 0.85容量超过 85%ceph_osd_up count有 OSD 掉线ceph_pg_activeratio 1PG 未全部 active八、常见坑只用 1GbE 网络→ 性能惨不忍睹,且重建会打爆业务。必须 10GbE消费级 SSD→ 数据损坏风险,硬件不省不分 Public/Cluster 网→ 重建时业务卡顿副本数设 2→ 生产绝不能这么做,一盘坏风险敞口PG 数设置过小→ 数据不均衡;过大 → 内存爆。用pg_autoscaler自动调Mon 数设为偶数→ 脑裂风险,永远奇数容量用到 90%→ Ceph 会进入只读保护,务必留 20% 余量忘了设置 noout 再维护→ 例行维护会触发不必要的数据迁移维护模式正确姿势:# 节点下线维护前ceph osdsetnoout ceph osdsetnorebalance# 维护完恢复ceph osdunsetnoout ceph osdunsetnorebalance结语Ceph 是 Proxmox 生态的压舱石,但也是最需要硬件投入和运维理解的组件。不建议在 1GbE 消费级 SSD 上玩生产 Ceph,那是自找麻烦。硬件配齐 监控到位 演练过故障,Ceph 才真正是 vSAN 的平替。下一篇 →Proxmox PBS 企业级备份体系设计