欢迎光临
我们一直在努力

【Storage】NAS vs NFS vs SSD vs HDD: What‘s the Difference?

在这里插入图片描述

  • HDD、SSD = 仓库里的货架(存储介质)
  • NAS = 仓库(存储设备)
  • NFS = 运输通道(网络共享协议)

文章目录

  • 1. HDD(Hard Disk Drive)机械硬盘
    • 是什么
    • 工作原理
    • 优点
    • 缺点
    • 常见容量
    • 生活例子
  • 2. SSD(Solid State Drive)固态硬盘
    • 是什么
    • 工作原理
    • 优点
    • 缺点
    • 性能对比
    • SATA SSD
    • NVMe SSD
    • 为什么快这么多?
    • AI训练为什么喜欢 NVMe?
    • 生活例子
  • 3. NAS(Network Attached Storage)网络附加存储
    • 是什么
    • NAS 能干什么
    • 常见 NAS 品牌
    • NAS 像什么
  • 4. NFS(Network File System)
    • 是什么
    • 举例
    • 生活例子
  • NAS 与 NFS 的关系
    • NAS
    • NFS
  • 5. AI训练中的典型架构
  • 6. 一张图看懂
  • 【附录】
  • 1. SSD Cache 是什么?
  • 2. 可以理解成什么?
  • 3. SSD Cache 分两种
  • 4. AI公司实际部署
  • 5. 训练集群中的最佳实践
  • 6. 一个真实速度对比

1. HDD(Hard Disk Drive)机械硬盘

在这里插入图片描述

是什么

在这里插入图片描述

传统硬盘,里面有高速旋转的磁盘。

工作原理

有点像老式唱片机:

  • 磁盘不停旋转
  • 磁头移动读取数据

优点

✅ 容量大

✅ 价格便宜

缺点

❌ 速度慢

❌ 有机械结构容易损坏

常见容量

  • 1TB
  • 2TB
  • 4TB
  • 8TB
  • 20TB+

生活例子

相当于:

一个很大的仓库,但叉车移动比较慢。


2. SSD(Solid State Drive)固态硬盘

在这里插入图片描述

是什么

在这里插入图片描述

没有机械结构。

使用闪存芯片存储数据。

工作原理

类似:

  • U盘
  • 手机存储
  • TF卡

但性能更强。

优点

✅ 速度快

✅ 静音

✅ 抗震

缺点

❌ 单位容量价格高

性能对比

类型读取速度
HDD 100~200 MB/s
SATA SSD 500 MB/s
NVMe SSD 3000~14000 MB/s

SATA SSD

老接口:

SSD

SATA协议

主板

速度受限:

约 500 MB/s

NVMe SSD

Non-Volatile Memory Express,是一种专门为 SSD 设计的高速通信协议。

新接口:

SSD

NVMe协议

PCIe总线

CPU

速度:

PCIe 3.0 NVMe
≈ 3500 MB/s

PCIe 4.0 NVMe
≈ 7000 MB/s

PCIe 5.0 NVMe
≈ 14000 MB/s


为什么快这么多?

(1)HDD时代

设计目标:

一次读一个文件

并发能力很弱。


(2)SSD时代

SSD没有机械结构。

可以同时处理大量请求。

NVMe 就是为此设计的:

SATA:
32个命令队列

NVMe:
64000个队列
每个64000命令

所以:

随机IO性能
提升几十倍

AI训练为什么喜欢 NVMe?

假设:

COCO
118000张图

训练时:

每个batch
随机读取

例如:

img_123.jpg
img_567.jpg
img_999.jpg

不是连续读取。

而是:

随机读取


随机读取能力:

设备IOPS
HDD 100~200
SATA SSD 10万
NVMe SSD 100万+

所以:

HDD
GPU等待

NVMe
GPU吃饱


生活例子

相当于:

仓库虽然没那么大,但机器人自动取货,速度飞快。


3. NAS(Network Attached Storage)网络附加存储

在这里插入图片描述

是什么

在这里插入图片描述

NAS 是一台专门存储文件的小服务器。

本质上:

NAS
=
电脑
+
硬盘
+
网络

里面通常装:

  • HDD
  • SSD

然后接入局域网。


NAS 能干什么

家里:

手机

NAS

电脑

公司:

员工A
员工B
员工C

NAS

大家共享文件。


常见 NAS 品牌

  • Synology(群晖)
  • QNAP(威联通)
  • ASUSTOR(华芸)

NAS 像什么

相当于:

公司里的公共资料室。

所有人都能通过网络访问。


4. NFS(Network File System)

在这里插入图片描述

是什么

在这里插入图片描述

NFS 是一种网络文件共享协议。

由 Sun Microsystems 发明。

作用:

把远程目录
映射成本地目录


举例

服务器A:

/data

通过 NFS 共享出去。

服务器B:

/mnt/data

挂载后:

ls /mnt/data

就像访问本地磁盘一样。

实际上数据来自服务器A。


生活例子

学校图书馆有很多书。

管理员给你一个神奇书架。

这个书架看起来就在你家里。

你拿书的时候和拿自己家的书一样方便。

但实际上,书一直放在学校图书馆。

这个神奇书架,就是 NFS。

远程资源

映射

像本地资源一样使用

而这正是 NFS 最想解决的问题


NAS 与 NFS 的关系

很多人容易混淆。

NAS

是设备

群晖
威联通

属于硬件。


NFS

是协议

NFS
SMB
FTP

属于软件规则。


关系:

NAS
├── HDD
├── SSD
└── NFS服务

NAS 里面的数据可以通过 NFS 共享出来。


5. AI训练中的典型架构

在这里插入图片描述

训练服务器:

GPU服务器

│ NFS

NAS存储

例如:

GPU服务器
├── RTX4090 × 8
└── 挂载
/dataset

NFS

NAS
└── CrowdHuman
└── COCO
└── Checkpoints

训练代码:

dataset = "/dataset/coco"

看起来是本地目录。

实际上数据在 NAS 上。


6. 一张图看懂

在这里插入图片描述

NFS
(共享协议)


┌────────────────┐
│ NAS │
│ 存储服务器 │
└────────────────┘
↑ ↑
│ │
HDD SSD
(机械盘) (固态盘)

对于 AI 训练来说:

  • HDD:存数据,便宜,大容量
  • SSD:存热点数据,加载快
  • NAS:集中存储数据集和模型
  • NFS:让训练机像访问本地目录一样访问 NAS

很多公司的实际配置就是:

20TB HDD × 多块

NAS
↓ NFS
GPU训练服务器

这样所有训练机共享同一份数据集,不需要每台机器都复制一遍 COCO、CrowdHuman 或模型权重。

这种架构在 AI 训练、自动驾驶、视频监控、云计算环境中非常常见。


如果说:

HDD = 牛车
SSD = 小汽车
NVMe SSD = 高铁

那就很容易理解了。


【附录】

在这里插入图片描述

1. SSD Cache 是什么?

这是企业 NAS 最常见的配置。


假设有:

100TB HDD

训练:

每天都访问

coco
crowdhuman

这些文件。


问题:

HDD慢。


解决办法:

再加:

4TB SSD

做缓存。


结构:

NAS

SSD Cache


HDD存储池


工作流程:

第一次访问:

GPU

NAS

HDD

比较慢。


NAS发现:

这个文件经常访问

于是:

复制到SSD


第二次访问:

GPU

SSD Cache

速度大幅提升。


2. 可以理解成什么?

像图书馆。


HDD:

地下仓库


SSD Cache:

前台书架


经常借阅:

深度学习
机器学习

这些书。

管理员会放:

前台

不需要每次跑地下室。


3. SSD Cache 分两种

读缓存(Read Cache)

最常见。

HDD

SSD

热门数据放SSD。


适合:

数据集读取

例如:

COCO
CrowdHuman


写缓存(Write Cache)

先写SSD:

GPU

SSD

HDD

用户感觉:

写入很快

后台慢慢同步。


适合:

checkpoint
log
视频录制


4. AI公司实际部署

常见方案:

群晖/NAS

16 × 20TB HDD
+
2 × 2TB NVMe

其中:

20TB HDD
存数据

NVMe
做缓存


5. 训练集群中的最佳实践

很多公司:

NAS
├── HDD
└── NVMe Cache

然后:

NFS

挂载到训练机。


训练机本身:

GPU Server

├── 8TB NVMe
├── 8×4090
└── 512GB RAM

训练前:

rsync dataset

同步到本地 NVMe。


训练时:

data=/local_nvme/coco

而不是:

data=/mnt/nfs/coco

因为即使 NAS 有 SSD Cache:

本地NVMe
仍然最快


6. 一个真实速度对比

以 YOLO 训练 COCO 为例:

存储方式读取速度GPU利用率
HDD 150 MB/s 40%~60%
NFS + HDD 100 MB/s 30%~50%
SATA SSD 500 MB/s 70%~85%
NFS + NVMe Cache 1000~3000 MB/s 80%~90%
本地 NVMe SSD 3000~7000 MB/s 90%~99%

所以很多训练平台都有一个固定流程:

NAS

NFS挂载

启动训练

自动拷贝到本地NVMe

训练

因为对于现代 GPU(4090、H100、B200 等),数据加载速度往往比模型计算速度更容易成为瓶颈。


一句话总结:

HDD = 大容量仓库
SSD = 快速仓库
NVMe = SSD使用的高速公路
SSD Cache= 把常用数据提前放到前台
NFS = 远程访问仓库的通道
NAS = 仓库管理员

赞(0)
未经允许不得转载:171主机测评 » 【Storage】NAS vs NFS vs SSD vs HDD: What‘s the Difference?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址