Skip to content

3. 架构设计

AI 集群的存储架构通常不是单一系统,而是多种存储形态的组合,分别服务于训练、推理、平台和归档等不同场景。

3.1 存储系统分类

| 类型 | 英文 | 特点 | 典型协议/产品 | |---|---|---|---|---| | 直连存储 | DAS | 直接挂在服务器上,延迟最低 | 本地 NVMe/SATA SSD | | 网络附加存储 | NAS | 通过 NFS/SMB 共享文件 | NFS、SMB | | 存储区域网络 | SAN | 通过专用网络提供块设备 | iSCSI、Fibre Channel | | 对象存储 | Object Storage | 扁平命名空间,HTTP API,海量扩展 | S3、GCS、MinIO、Ceph | | 并行文件系统 | Parallel FS | 高并发共享文件访问 | Lustre、GPFS、BeeGFS、WEKA |

3.2 AI 集群典型存储架构

一个中等规模的 AI 训练集群通常采用三层存储:

层级用途典型产品
本地 NVMe临时 checkpoint、缓存、swapIntel P5800X、Samsung PM1735
并行文件系统共享训练数据集、模型仓库Lustre、Spectrum Scale、WEKA
对象存储长期保存 checkpoint、artifact、日志S3、GCS、MinIO、Ceph

3.3 云端存储服务

云厂商提供了丰富的托管存储选项:

服务类型特点
AWS EBS块存储挂载到单个 EC2,低延迟
AWS EFS文件存储(NFS)多可用区共享,弹性容量
AWS FSx for Lustre并行文件系统与 S3 集成,适合 HPC/AI
AWS S3对象存储海量、便宜、生命周期管理
GCS / Azure Blob对象存储类似 S3,各有定价和一致性模型

选型时要考虑:延迟、吞吐、IOPS、容量、成本、可用区、与计算资源的网络距离。

3.4 Kubernetes 存储架构

Kubernetes 通过 PV/PVC/StorageClass/CSI 把存储抽象成可声明的资源:

关键概念

概念作用
PV(PersistentVolume)集群中的一块实际存储
PVC(PersistentVolumeClaim)用户/应用对存储的请求
StorageClass定义存储“模板”和 provisioner
CSI(Container Storage Interface)容器与存储系统之间的标准接口
VolumeBindingModeImmediateWaitForFirstConsumer,影响调度
AccessModeReadWriteOnceReadOnlyManyReadWriteMany

3.5 控制面与数据面

存储系统通常分为控制面和数据面:

职责例子
控制面元数据管理、容量分配、策略执行S3 bucket 元数据、K8s PV controller、Lustre MDS
数据面实际数据传输S3 GET/PUT、NVMe 读写、Lustre OSS

控制面决定了“数据在哪里、怎么访问”,数据面决定了“能跑多快”。AI 集群中,数据面带宽往往是瓶颈

3.6 本地存储 vs 网络存储 vs 对象存储

维度本地 NVMe并行文件系统对象存储
延迟最低(μs 级)较低(ms 级)较高(ms~百 ms)
吞吐高(并发时)
共享不共享多机共享多机共享
容量中-大极大
成本/GB
适用checkpoint 缓存训练数据集长期归档/artifact

3.7 AI 场景下的存储选型示例

场景推荐存储原因
分布式训练 checkpoint本地 NVMe + 异步上传对象存储/并行 FS高吞吐写入 + 可靠持久化
训练数据集并行文件系统(Lustre/WEKA)或对象存储 + 本地缓存多机共享、高吞吐顺序读
模型服务加载对象存储 + 本地缓存/Init Container弹性扩缩、快速分发
训练日志/指标对象存储 + 生命周期海量小对象、低成本
Artifact/模型注册对象存储 + 版本控制不可变、可追溯

3.8 一句话总结

AI 集群的存储架构是“本地高速 + 并行共享 + 对象归档”的分层组合;没有一种存储能满足所有需求,关键是让数据在正确的时间出现在正确的层级。

Released under CC-BY-SA-4.0 License.