Skip to content

5. 核心模块

存储系统由多个功能模块组成。本章从本地存储、网络存储、对象存储、并行文件系统、K8s 存储、缓存分层、数据管理和可观测工具八个维度展开。

5.1 本地存储

HDD / SSD / NVMe

介质延迟吞吐寿命/耐久性适用
HDD数 ms100-200 MB/s高(大容量)冷存、归档
SATA SSD百 μs500 MB/s普通应用
NVMe SSD十 μs数 GB/s中-高checkpoint、缓存

RAID

RAID 通过多块磁盘组合提高性能或可靠性:

RAID 级别特点存储效率AI 场景
RAID 0条带化,性能最高100%临时数据,不关键
RAID 1镜像,可靠性高50%小规模关键元数据
RAID 5/6条带 + 校验67-80%通用文件服务器
RAID 10镜像 + 条带50%高并发读写

文件系统选型

文件系统特点AI 场景
ext4稳定、通用根分区、普通数据
xfs大文件、高并发 I/O 性能好大数据集、checkpoint
btrfs快照、压缩、校验和实验环境
ZFS高级数据保护、压缩、去重小型 NAS/工作站

5.2 网络存储

NFS

  • 协议简单,易于共享;
  • 单点性能受限,元数据操作可能成为瓶颈;
  • 适合小团队共享数据集,不适合大规模训练。

iSCSI / SAN

  • 提供块设备,适合数据库等需要裸设备的应用;
  • 需要专用网络或 VLAN 隔离;
  • AI 训练中较少直接使用。

5.3 对象存储

S3 API 核心操作

text
PUT    /bucket/key       # 上传对象
GET    /bucket/key       # 下载对象
DELETE /bucket/key       # 删除对象
LIST   /bucket?prefix=   # 列出对象
HEAD   /bucket/key       # 获取元数据

multipart 上传

大文件拆分成多个 part 并发上传,最后合并:

生命周期管理

策略作用
转换存储类型30 天后转 IA,90 天后转归档
过期删除旧 checkpoint 自动清理
版本控制保留历史版本,支持回滚

常见产品

  • AWS S3 / GCS / Azure Blob:托管对象存储;
  • MinIO:兼容 S3 的开源对象存储;
  • Ceph RADOS:分布式对象存储,支持块/文件/对象;
  • S3 Express / Express One Zone:低延迟对象存储,适合高吞吐 AI 工作负载。

5.4 并行文件系统

并行文件系统允许多个客户端同时访问同一命名空间,适合多机训练。

产品特点适用
Lustre开源、HPC 生态成熟、高吞吐大规模训练
GPFS / Spectrum ScaleIBM 商用,强一致性企业级
BeeGFS开源、易部署中小型集群
WEKA高性能 NVMe 原生低延迟 AI 工作负载

关键组件

  • MDS(Metadata Server):管理文件元数据;
  • OSS(Object Storage Server):管理实际数据块。

5.5 Kubernetes 存储

PV / PVC / StorageClass

资源角色
StorageClass存储模板,定义 provisioner、参数、回收策略
PVC应用对存储的请求(大小、访问模式)
PV实际分配的存储卷

CSI driver 示例

  • AWS EBS CSI driver
  • Ceph RBD CSI driver
  • Lustre CSI driver
  • NFS CSI driver
  • Local PV static provisioner

K8s 存储选型

场景推荐
训练 checkpointLocal SSD + CSI,或并行 FS PVC
模型权重S3 + storage-initializer,或 ReadOnlyMany PVC
数据库/状态服务EBS/RBD PVC + StatefulSet
共享数据集NFS/EFS/并行 FS PVC

5.6 缓存与分层

典型缓存层

速度容量例子
GPU 显存最快最小HBM
本地 NVMe节点本地 SSD
并行文件系统Lustre/WEKA
对象存储极大S3/GCS

缓存策略

策略说明
Read-through读取未命中时自动从下层加载
Write-through写入时同时写缓存和下层
Write-back写入时只写缓存,异步回写下层
LRU最近最少使用淘汰

常见缓存产品

  • Alluxio:内存/SSD 缓存层,挂载在对象存储之上;
  • JuiceFS:基于对象存储的 POSIX 文件系统,带本地缓存;
  • FUSE:用户态文件系统,常用于把对象存储挂载为本地路径。

5.7 数据管理

功能作用AI 场景
快照某一时刻的只读副本保存训练中间状态
备份跨地域/跨介质复制灾难恢复
迁移数据在不同存储间移动冷热分层
校验和检测数据损坏checkpoint 完整性

5.8 可观测工具

工具用途
iostat磁盘 I/O 利用率、IOPS、吞吐
fio存储性能基准测试
dd简单顺序读写测试
s3cmd / aws s3对象存储操作与统计
lustre stats / weka fs并行文件系统监控
Prometheus + Grafana持续监控存储指标

5.9 一句话总结

存储系统的模块选择,本质上是根据 AI 工作负载的访问模式(读/写、顺序/随机、大/小文件、共享/独占)匹配最合适的介质和协议。

Released under CC-BY-SA-4.0 License.