当前位置: 首页 > news >正文

Proxmox VE Ceph 超融合集群落地实战

Proxmox VE Ceph 超融合集群落地实战

系列文章 #3 | 后 VMware 时代企业虚拟化实战

目录

  1. 为什么选 Ceph
  2. 硬件选型与规划
  3. 集群部署步骤
  4. 存储池与 CephFS 配置
  5. 性能调优
  6. 故障处理与扩容
  7. 监控与告警
  8. 常见坑

一、为什么选 Ceph

Proxmox 内置 Ceph,提供软件定义存储(SDS),对标 VMware vSAN。核心优势:

  • 无单点:数据三副本分布在不同节点/机柜
  • 横向扩展:加节点即扩容量和性能
  • 统一接口:RBD(块)、CephFS(文件)、RGW(对象)一套集群三种用法
  • 开源免费:无存储阵列许可

适用场景:

  • 3 节点以上的 PVE 集群
  • 对 IOPS 和延迟要求不是极致(毫秒级可接受)
  • 有独立存储网络预算(10GbE 起步)

不适用场景:

  • 单节点或 2 节点
  • 数据库等对尾延迟极敏感的工作负载(建议本地 NVMe)
  • 网络只有 1GbE

二、硬件选型与规划

2.1 最小规模与推荐规模

维度最小可用推荐生产
节点数35+
每节点 OSD 盘24-8
OSD 盘类型企业级 SATA SSD企业级 NVMe
存储网络10GbE25GbE / 100GbE
每节点内存64GB128GB+
CPU16 core32 core+

2.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.x+pvecm status# 确认集群 Quoratelsblk# 确认 OSD 盘可见且未使用

3.2 安装 Ceph(Web UI 方式)

Step 1:在任一节点 Web UI

Datacenter → pve01 → Ceph → Install Ceph

选择版本(推荐 Reef 或 Squid),确认安装。

等效 CLI:

pvecephinstall--repositoryno-subscription--versionreef

Step 2:初始化集群

UI:Ceph → 初始化向导

  • Public Network:10.0.0.0/24
  • Cluster Network:10.0.1.0/24
  • 副本数:3/2(默认,size=3, min_size=2)

CLI:

pveceph init--network10.0.0.0/24 --cluster-network10.0.1.0/24

3.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, pve03

3.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 → Create

Name: vm-pool Size: 3 ← 副本数 Min Size: 2 ← 最少可用副本 PG Num: auto CRUSH Rule: replicated_rule Add Storage: [✓] ← 自动添加到 Datacenter Storage

CLI:

pveceph pool create vm-pool--size3--min_size2--add_storages

4.2 创建 CephFS(给 ISO/备份用)

pveceph fs create--namecephfs --add-storage

挂载后在 Datacenter 看到存储cephfs可存 ISO、模板、快照。

4.3 副本数策略

场景size / min_size说明
生产 VM3 / 2默认,允许 1 节点故障
测试环境2 / 1省空间,风险高
关键数据4 / 2跨机房副本
容量优先纠删码 4+2节省空间但性能差,不建议 VM 用

五、性能调优

5.1 OSD 层面

# 编辑 /etc/pve/ceph.conf 的 [global] 或 [osd]osd_memory_target=8G# 默认 4G,NVMe 下可调高osd_op_num_threads_per_shard=4# 高并发调大bluestore_cache_size_ssd=8G# SSD 专用缓存

5.2 网络层面

  • MTU 9000(Jumbo Frame):Public + Cluster 网都启用
  • 多路径:用 bond mode 4 (LACP) 聚合
# 验证 MTUping-Mdo-s897210.0.1.21

5.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/s
  • 4K 随机写 IOPS:200K-400K
  • 延迟:<2ms 平均

六、故障处理与扩容

6.1 OSD 故障替换

当某块盘红灯:

# 1. 标记 out(数据迁出)ceph osd out osd.5# 2. 等待迁移完成(看 ceph -s 的 recovering)ceph-s# 3. 停止 OSDsystemctl stop ceph-osd@5# 4. 从 CRUSH 删除ceph osd purge osd.5 --yes-i-really-mean-it# 5. 更换物理盘后重新创建pveceph osd create /dev/nvme5n1

6.2 节点扩容

新加节点到 PVE 集群后:

# 新节点上pvecephinstall--versionreef pveceph mon create# 可选,保持 mon 数奇数pveceph osd create /dev/nvme0n1# ... 逐盘加入# 数据自动重平衡,监控进度ceph-s

6.3 集群状态急救

# 集群 HEALTH_ERR 怎么办?ceph health detail# 查看具体告警ceph osd tree# 检查 OSD 状态ceph pg dump_stuck# 卡住的 PGceph pg repair<pg_id># 修复不一致的 PG

七、监控与告警

7.1 Ceph 自带 Dashboard

ceph mgr moduleenabledashboard ceph dashboard create-self-signed-cert ceph dashboard ac-user-create admin<password>administrator

访问https://<mgr-ip>:8443

7.2 Prometheus 集成

ceph mgr moduleenableprometheus# 默认暴露 9283 端口curlhttp://<mgr>:9283/metrics|head

Prometheus 配置:

-job_name:'ceph'static_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

八、常见坑

  1. 只用 1GbE 网络→ 性能惨不忍睹,且重建会打爆业务。必须 10GbE+
  2. 消费级 SSD→ 数据损坏风险,硬件不省
  3. 不分 Public/Cluster 网→ 重建时业务卡顿
  4. 副本数设 2→ 生产绝不能这么做,一盘坏=风险敞口
  5. PG 数设置过小→ 数据不均衡;过大 → 内存爆。用pg_autoscaler自动调
  6. Mon 数设为偶数→ 脑裂风险,永远奇数
  7. 容量用到 90%+→ Ceph 会进入只读保护,务必留 20% 余量
  8. 忘了设置 noout 再维护→ 例行维护会触发不必要的数据迁移

维护模式正确姿势:

# 节点下线维护前ceph osdsetnoout ceph osdsetnorebalance# 维护完恢复ceph osdunsetnoout ceph osdunsetnorebalance

结语

Ceph 是 Proxmox 生态的压舱石,但也是最需要硬件投入和运维理解的组件。不建议在 1GbE + 消费级 SSD 上玩"生产 Ceph",那是自找麻烦。硬件配齐 + 监控到位 + 演练过故障,Ceph 才真正是 vSAN 的平替。

下一篇 →Proxmox PBS 企业级备份体系设计

http://www.jsqmd.com/news/706725/

相关文章:

  • 成都地区、H型钢、340X250X9X14、Q235B、包钢、现货批发供应 - 四川盛世钢联营销中心
  • 5分钟快速上手:崩坏星穹铁道游戏自动化脚本终极指南
  • 紧急预警:MCP 1.8+版本中隐藏的跨模态梯度坍塌风险(附3行代码热修复方案)
  • 商业航天与航空安全场景下抗辐射 MCU 选型、应用实践及发展趋势
  • 【紧急更新】VS Code 1.92+已默认启用MCP v2.1协议!你的插件生态是否已通过RFC-8921合规性审计?
  • Superpowers:可视化编排AI智能体,构建协作式应用开发平台
  • PyTorch实现逻辑回归:从原理到实战
  • LaVague:赋予大语言模型GUI操作能力的开源AI智能体框架
  • 10款机器学习运维(MLOps)工具实战指南
  • 智能结对编程工具the-pair:实时代码审查与AI辅助开发实践
  • 构建机器学习作品集:提升数据科学求职竞争力的关键策略
  • 利用Obsidian Local REST API构建可检索的AI对话知识库
  • 时间序列重采样与插值技术详解
  • DaVinci Linux驱动架构与优化实践
  • Docker + WASM边缘计算落地实战:5个被90%团队忽略的关键配置,今天必须改!
  • Jenkins EC2 Plugin实战:动态构建代理的弹性伸缩与成本优化
  • hcia第四次作业
  • 【无标题】彻底吃透Java String:从基础原理到实战优化,一篇全搞定
  • 谷歌SEO如何做图标优化?
  • 移动端UI自动化测试:智能代理AUITestAgent的设计与实现
  • Transformer归一化技术:LayerNorm与RMS Norm原理与实践
  • 2026-04-27 全国各地响应最快的 BT Tracker 服务器(联通版)
  • 深度拆解:华为云数据库(RDS)高可用机制与数据一致性保障
  • 5个小众机器学习可视化工具提升模型解释力
  • 2026小区水泥护栏可靠供应商名录:仿树藤缠绕护栏、仿石护栏、仿竹篱笆护栏、仿藤护栏、仿藤竹组合护栏、小区水泥护栏选择指南 - 优质品牌商家
  • Bluetooth Classic中的速率区别
  • PyTorch入门指南:从零构建手写数字识别神经网络
  • Shell脚本自动化代理配置:提升开发效率与网络环境管理
  • 告别龟速处理!用CUDA+OpenCV加速激光条纹中心线提取,实测1600万像素快15倍
  • 【Docker AI Toolkit 2026终极指南】:5大颠覆性新功能+3个生产环境避坑清单,仅限首批Early Access开发者掌握