存储选型实战与第四章小结
第四章前面七篇分别讲了 HDD 物理基础、NAND 颗粒、SSD 控制器/FTL、接口演进、企业 vs 消费 SSD、RAID/集中式存储、分布式存储。本篇收口。
选盘的”五层决策”
graph TD Q1[第 1 层: 介质?] Q1 --> A1[HDD / TLC SSD / QLC SSD] Q1 --> Q2[第 2 层: 接口?] Q2 --> A2[SATA / SAS / NVMe / NVMe-oF] Q2 --> Q3[第 3 层: 形态?] Q3 --> A3[3.5 / U.2 / E1.S / E3.S / E3.L] Q3 --> Q4[第 4 层: 寿命/可靠性?] Q4 --> A4[DWPD / PLP / 双端口] Q4 --> Q5[第 5 层: 怎么组?] Q5 --> A5[单盘 / RAID / 分布式]
第 1 层:介质
按业务对 IOPS / 容量 / 写入率的偏好:
| 业务 | IOPS 需求 | 容量 / 写入 | 推荐介质 |
|---|---|---|---|
| OLTP 数据库主存 | 极高 | 中 / 高写 | TLC NVMe(WI) |
| 数据仓库 / 列存 | 高 | 大容量 / 低写 | TLC NVMe(RI/MU) |
| Redis / KV | 极高 | 中 | TLC NVMe(WI) |
| Kafka / 日志 | 高 | 大容量 / 高写 | TLC NVMe(MU/WI) |
| Web / API | 中 | 中 | TLC NVMe / SATA SSD |
| AI 训练数据集 | 高(顺序) | 超大容量 | QLC NVMe E3.L |
| 对象存储 / 数据湖 | 低 | 海量 | QLC + HDD 混合 |
| 监控录像 | 低(顺序) | 海量 | HDD(SATA / NL-SAS) |
| 冷归档 | 极低 | 海量 | HDD SMR / 磁带 |
经验法则:
1 | |
第 2 层:接口
1 | |
新购所有 SSD = NVMe——没必要再上 SATA/SAS SSD。
HDD 选 SAS / NL-SAS(SATA HDD 不适合大量并发)。
第 3 层:形态
graph TD Q1[1U 高密度] --> E1[E1.S × 16-32] Q2[2U 通用] --> E3[E3.S × 24] Q3[2U 大容量] --> EL[E3.L × 24 或 3.5'' HDD × 12] Q4[超大容量节点] --> JBOF[JBOF / EBOF + 80+ 盘] Q5[启动盘] --> M2[M.2 BOSS]
新机型优先 EDSFF(E1.S / E3.S);老机型用 U.2。
第 4 层:寿命和可靠性
DWPD 必须按业务匹配:
1 | |
例:某 OLTP 数据库每日写 4 TB,2 副本写到 SSD:
1 | |
可靠性硬指标:
- PLP:服务器 SSD 必须有
- UBER:1e-17 级别(企业 NVMe)
- MTBF:200-250 万小时
- 温度:机柜内 50-65°C 稳定运行
第 5 层:怎么组
graph TD Q1[规模?] Q1 -- "单机, 几盘" --> S1[本地 RAID 1/10] Q1 -- "几台, 共享存储" --> S2[SAN / AFA] Q1 -- "几十+ 台" --> S3[分布式 Ceph / 对象] Q1 -- "云原生 K8s" --> S4[CSI 后端: Ceph RBD / 块存储 / 本地 PV]
冗余策略对应:
1 | |
几个常见的”存储坑”
坑 1: 拿消费级 SSD 上数据库
无 PLP → 一次掉电 L2P 损坏 → 整盘报废 → 数据全无。绝对禁止。
坑 2: 大容量 HDD 用 RAID 5
22 TB SAS HDD 重建 30+ 小时,期间 URE 必然发生。容量 > 4 TB 用 RAID 6。
坑 3: NVMe SSD 接 RAID 卡
RAID 卡的 SoC 跟不上 PCIe 5.0 NVMe 带宽。考虑:
- VROC / NVMe RAID(CPU 软件 RAID)
- mdadm / ZFS 软 RAID
- 完全去 RAID,靠分布式存储多副本
坑 4: 热数据用 EC
EC 小写放大严重——OLTP 上 EC 性能直接崩。EC 只用于冷数据 / 大块顺序。
坑 5: 小文件存 HDFS
HDFS NameNode 每文件占内存 ~150 byte——亿级小文件吃光 NameNode。小文件用对象存储。
坑 6: 不监控 SSD 寿命
1 | |
percentage_used > 80% 就要准备换。
坑 7: 不留 SSD 空间
SSD 用满 95% 后 GC 急剧恶化,寿命也下降。保留 20% 空闲。
一台典型 AI 服务器的存储清单
例:1 台 8× H100/B200 训练节点
1 | |
一台典型 OLTP 数据库节点的存储清单
1 | |
一台典型对象存储节点的存储清单
1 | |
一些性能直觉数字
1 | |
国产化存储清单要点
| 层 | 国产化 | 状态 |
|---|---|---|
| HDD | 不强求(市场份额小) | 国际三家(西数/希捷/东芝) |
| NAND 颗粒 | 长江存储(YMTC) | 主流容量已自研 |
| 控制器 | 联芸/得一微/忆联/忆芯 | 中端 OK,旗舰追赶中 |
| 整盘 SSD | 大普微/忆联/浪潮/华为 | 已成熟 |
| RAID 卡 | 国产较少 | 仍以 Broadcom/Microchip 为主 |
| HBA / NVMe Switch | 国产化进行中 | - |
| 分布式存储 | 浪潮 AS、华为、深信服、XSky | 充分国产化 |
| 对象存储 | 全部国产可用 | - |
待补充:你公司国产化采购清单。
第四章整体小结
回看第四章覆盖:
- HDD 物理基础 — 盘片磁头、PMR/SMR/HAMR
- NAND 闪存 — SLC 到 PLC、3D NAND 232 层
- SSD 控制器与 FTL — 映射、GC、磨损均衡、PLP
- 存储接口 — SATA/SAS/NVMe,EDSFF
- 企业 vs 消费 SSD — DWPD、PLP、QoS
- RAID 与企业存储 — RAID 0-10、SAN/NAS、AFA
- 分布式存储 — HDFS / Ceph / 对象存储
- 存储选型与小结(本篇)
几条贯穿全章的主线:
graph LR HDD[HDD] --> SSD[SSD] SSD --> NVMe[NVMe + EDSFF] RAID[RAID 单机] --> SAN[SAN AFA] SAN --> DIST[分布式 Ceph / S3] HDD -.- DIST NVMe -.- DIST
本质上是同一个问题在不同尺度上解决:
- 单盘:颗粒 + 控制器 + FTL 把 NAND 变成可用块设备
- 单机:RAID 把多盘组成可靠虚拟卷
- 数据中心:分布式存储把上百节点的盘组成 EB 级池
存储未来的几个趋势:
- EDSFF 取代 U.2——形态层面的洗牌
- QLC 上量——容量替代 HDD 的临界点
- 分布式 + 对象存储 + 数据湖——传统 SAN/NAS 萎缩
- NVMe-oF 普及——存算分离的关键基础设施
- AI 推动存储——大模型训练对带宽和容量的双重压力
下一章进入第五章 GPU 和 AI 加速——这是现代数据中心增长最猛、技术变化最快的方向。我会重点讲:
- GPU 历史和图形→通用计算的转折
- NVIDIA 数据中心 GPU 路线(Volta → Ampere → Hopper → Blackwell → Rubin)
- AMD MI 系列、Intel Gaudi/GPU
- 国产 AI 加速器(昇腾、寒武纪、摩尔线程、燧原、壁仞、海光)
- TPU 等专用加速器
- NVLink / NVSwitch / NVL72 整机柜
- AI 推理和训练的硬件差异
- 显存(HBM)和 KV-Cache 视角
- 集群 + InfiniBand 的关系