Skip to content

7. 容量与性能规划

本章目标

  • 会算:裸容量 → 冗余 → full 水位 → 净可用容量
  • 会估:给定硬件规格的 IOPS/带宽量级
  • 会答:业务方问"这集群还能接多少业务"时,用数据回答

7.1 容量公式(一步步折损)

text
① 裸容量        = Σ(盘标称容量)          注意 TiB/TB 差 10%
② 折冗余        ÷ 副本数   或  × k/(k+m)(EC)
③ 折水位        × (1 - full_ratio)       默认 85%,即 ×0.85
④ 折元数据/预留 - WAL/DB 分区、快照、桶索引 ~ 5~10%
⑤ 净可用        = 业务真正能用的容量

例:24 × 15.36TB HDD,EC 8+3:

text
① 368.6 TB → ② ×8/11 = 268 TB → ③ ×0.85 = 228 TB → ④ ×0.93 ≈ 212 TB 净可用

规划铁律:永远用水位线管理(75% 告警、85% 高危),扩容决策提前一个采购周期 —— 第 6 章的 full 事故大多源于"看总量还有 20%"的错觉。

7.2 性能估算:量级心算法

不要指望算准,要指望算对量级、排除离谱方案

text
集群读 IOPS ≈ 单盘 4K 随机读 IOPS × 盘数 × (1 - 拥挤折损)
集群写 IOPS ≈ 读 IOPS ÷ 副本数 ÷ 2(写路径主从串行折损,粗放系数)
集群带宽   ≈ min(Σ盘吞吐, 网卡带宽 × 台数 × 单位折损)

例:12 台 × 10 × 3.84T NVMe(单盘 150k 读 IOPS,25G×2 网):

text
读 ≈ 150k × 120 × 0.7 ≈ 12.6M IOPS —— 但先看网络:1200k × 4KB/s = 4.8GB/s@4K 时
网卡先到顶?25G×2×12 台 × 0.7 ≈ 52GB/s 聚合 —— 4K 小 IO 场景 4.8GB/s << 52GB/s,盘是瓶颈
带宽场景:120 盘 × 1.5GB/s × 0.7 = 126GB/s?网卡 52GB/s 先到顶 —— 网是瓶颈

结论随负载形态翻转(IOPS 型盘先饱和,带宽型网先饱和)—— 先问负载形态,再谈规划第一篇特征化的复用)。

7.3 用 storplan 做选型演算

storplan.wutz.dev 把上述公式产品化:选方案(Ceph 全闪统一/混闪对象/GPFS/Weka/XEOS/VastData)→ 输入目标容量与读写带宽 → 得到推荐配置。用它做三件事:

  1. 校验手算:把 7.2 的手算结果与工具输出对比,理解工具的折损模型
  2. 方案对照:同一需求下 Ceph vs GPFS ECE 的节点数/成本差异
  3. 答辩素材:客户问"为什么是这个配置"时,每个数字有出处

7.4 PG 数与 pg_autoscaler

PG 太少 → 数据倾斜;太多 → 内存/CPU 开销大(每 OSD 建议 100~200 个 PG)。pg_autoscaler 按容量自动调整,但有个实战大坑(rook 手册点名):autoscaler 失效时所有 pool 的 PG 数停在 1,性能无法发挥 —— 巡检要盯 ceph osd pool autoscale-status,修复方法是给 pool 显式设 crush rule 与 pg_num 下限。

7.5 增长与水位管理(把时间加进规划)

text
容量时间线:当前 60% ──▶ 月增 3% ──▶ 8 个月后到 85% 高危线
⇒ 第 5~6 个月必须完成扩容(留 2 个月采购+实施缓冲)
性能水位同理:peak IOPS 达到实测上限的 60% 就该规划性能扩容/隔离

一页纸规划报告模板(Lab 产出物):

  1. 需求:容量/带宽/IOPS/增长/RPO-RTO
  2. 配置:节点/盘/网/冗余策略
  3. 推导:7.1~7.2 公式各步数字
  4. 水位时间线与扩容触发点
  5. 风险与备选(含放弃方案及理由)

本章小结

  • 容量四折损:冗余 → 水位 → 预留,净可用 ≈ 裸容量 × k/(k+m) × 0.85 × 0.93
  • 性能先判负载形态:IOPS 型看盘、带宽型看网;手算法求量级不求精确
  • storplan 用来校验、对照、答辩
  • 规划必须有"时间轴":水位决定扩容启动点,不是容量百分比

自测

Quiz12 块 16TB HDD 做 3 副本,预留 7%,full ratio 85%。业务可用容量约为?
Quiz同一套硬件,为什么 4K 随机读场景与 1MB 顺序读场景的「先饱和资源」可能不同?
🧪Lab · 写一份集群扩容建议书挑战
⏱ 90 分钟🖥 storplan + 你的实验集群数据
1. 设定业务场景:3 年内从 500TiB 净可用增长到 2PiB,peak 写带宽 20GB/s,混合负载。 2. 用 storplan 规划 Ceph 方案的节点数、盘位与网络,把每一步数字与 7.1/7.2 手算对照。 3. 用你实验集群的 fio 实测数据(第 3 章 Lab)校准单盘假设。 4. 按模板产出 7.5 的一页纸建议书(配置、水位时间线、风险与备选)。 5. **验收标准**:每个数字有出处(公式/工具/实测三选一),时间线上标出扩容触发月份。
📎 参考手册 ↗

上一章 · 进入第三篇:进阶实战 →