视频加载失败

存储技术

4621 字
23 分钟
存储技术
存储技术

一、SAN 存储协议体系#

1.1 协议全景:先建立层次观#

在逐一深入之前,需要先建立一个关键认知:这些协议并不是同一层次的东西,它们分布在存储通信栈的不同层级,彼此之间既有竞争关系也有组合关系。可以按以下维度分类理解:

维度协议/技术
存储命令集(告诉存储设备”做什么”)SCSI、NVMe
本地物理接口(设备与主机直连的”路”)SAS(SCSI的载体)、PCIe(NVMe的载体)
网络传输协议(把存储命令搬到网络上)FC/FCP、iSCSI、NVMe-oF
高性能网络传输技术(绕过内核直接访问内存)RDMA、RoCE

理解了这个分层,后面每个协议的定位就清晰了。


1.2 SCSI#

SCSI(Small Computer System Interface,小型计算机系统接口)是存储领域最古老、最核心的命令协议标准。它定义的不是某根线或某个接口,而是一套完整的指令集——告诉存储设备”读哪个块""写哪个块""查询设备状态”等。你可以把它理解为存储世界的”语言”。

1.2.1 历史演进#

SCSI 最初是并行总线架构(Parallel SCSI),多个设备共享一条总线,存在严重的先天限制:

  • 地址空间极小:总线最多只能挂 8 或 16 个设备
  • 传输距离极短:单端模式仅 6 米,差分模式 25 米
  • 无法共享链路:多个 I/O 控制器不能共享一条 SCSI 总线,存在单一故障点
  • 带宽瓶颈:并行信号在高频下的串扰问题限制了速率提升

并行 SCSI 已被彻底淘汰,但它定义的命令集(CDB 命令描述块)生命力极强,至今仍在 SAS、FCP、iSCSI 中被广泛承载。

1.2.2 核心地位#

SCSI 命令集是整个存储协议体系的”上层语言”。无论是后来的 SAS 直连、FC 光纤网络还是 iSCSI 以太网,本质上都是用不同的传输方式搬运 SCSI 命令。理解这一点,是理解后续所有协议的关键。


1.3 SAS#

SAS(Serial Attached SCSI,串行连接 SCSI)是并行 SCSI 的串行化演进,属于本地直连接口标准。它继承了 SCSI 命令集,但彻底抛弃了并行总线架构,改用点对点串行链路。

1.3.1 核心技术特点#

  • 点对点架构:每个设备独享一条链路,不再有总线争用问题
  • 强大的寻址能力:通过 SAS Expander(扩展器),一个域最多可寻址 65,535 个设备,远超并行 SCSI 的 16 个上限
  • 双端口冗余:支持双端口连接,提供链路级容错
  • 向下兼容 SATA:SAS 接口在物理层和协议层兼容 SATA 设备,SATA 硬盘可以直接插入 SAS 背板使用
  • 交换式组网:支持通过 Expander 构建交换拓扑,实现灵活的存储连接

1.3.2 速率演进#

代际单链路速率
SAS-13 Gb/s
SAS-26 Gb/s
SAS-312 Gb/s
SAS-424 Gb/s

1.3.3 定位与场景#

SAS 是企业级硬盘(HDD 和 SSD)的主流直连接口,主要用于服务器内部连接硬盘、磁盘阵列柜(JBOD/ enclosure)。它的连接距离短(通常数米以内),不适合远距离组网,但在机箱内和近距扩展场景中仍是主力。


1.4 FC / FCP#

FC(Fibre Channel,光纤通道)是一套专为存储网络设计的高速网络协议栈,是构建 FC-SAN 的基础。它不是简单的”光纤”,而是一个完整的五层协议体系:

层级名称功能
FC-0物理层定义传输介质(光纤/铜缆)、信号机制、接口标准
FC-1编码层定义 8b/10b 或 64b/66b 编解码规则
FC-2帧协议层定义帧结构、流控制、服务质量和仲裁机制
FC-3通用服务层定义加密、压缩等通用服务
FC-4协议映射层定义上层协议(如 SCSI)到 FC 的映射接口

1.4.1 FCP:FC上的SCSI#

FCP(Fibre Channel Protocol)是 FC-4 层最重要的映射协议,它把 SCSI 命令封装在 FC 帧中传输。传统 FC-SAN 的核心就是 FC + FCP 的组合。

1.4.2 三种拓扑结构#

  • 点对点(Point-to-Point):两台设备直连
  • 仲裁环(FC-AL):设备以环形拓扑连接,共享带宽
  • 交换式 Fabric(最主流):通过 FC 交换机构建大规模存储网络,支持多设备并发通信

1.4.3 核心优势与代价#

优势:

  • 高带宽:主流速率 16Gbps / 32Gbps,Gen6 可达 128Gbps
  • 极低延迟:端到端延迟可低至 2 微秒以内
  • 无损传输:内建流控机制,天然保证不丢包、不乱序
  • 高可靠性:专为存储设计的协议栈,成熟稳定

代价:

  • 需要专用硬件:必须使用 FC HBA 卡和 FC 光纤交换机
  • 成本高昂:整套基础设施(HBA、交换机、光模块、光纤线缆)价格远高于以太网方案
  • 管理复杂:需要独立的存储专网,运维门槛高

1.4.4 适用场景#

FC-SAN 长期是企业核心数据库、金融交易系统、大型虚拟化的首选存储网络方案,尤其在对延迟和可靠性要求极高的场景中占据主导地位。


1.5 iSCSI#

iSCSI(Internet SCSI)由 Cisco 和 IBM 联合发起,核心思想是:把 SCSI 命令封装在 TCP/IP 协议中,通过普通以太网传输,从而用廉价的 IP 网络替代昂贵的 FC 专网来构建 SAN。用以太网”平替”光纤通道

1.5.1 协议封装#

┌──────────────┐
│ SCSI 命令 │ ← 存储命令集
├──────────────┤
│ iSCSI 协议 │ ← 封装层:添加 iSCSI 头
├──────────────┤
│ TCP │ ← 保证可靠传输
├──────────────┤
│ IP │ ← 路由寻址
├──────────────┤
│ 以太网 │ ← 物理承载
└──────────────┘

1.5.2 核心优势与代价#

优势:

  • 成本极低:复用现有以太网基础设施(网卡、交换机、网线),无需专用硬件
  • 部署灵活:不受距离限制,可跨广域网传输
  • 管理简单:IT 团队熟悉的 IP 网络技术即可管理
  • 兼容性好:任何支持 TCP/IP 的网络都能运行

代价:

  • 延迟较高:TCP/IP 协议栈开销大,每个数据包处理需消耗约 500-1000 个 CPU 周期
  • CPU 占用高:大部分 iSCSI 实现依赖主机 CPU 处理协议栈,缺乏硬件卸载
  • 无内建流控:TCP 本身有拥塞控制,但不像 FC 那样提供存储级别的流控保障
  • 传输效率低:多层封装导致额外开销,性能受网络带宽和延迟影响明显

1.5.3 适用场景#

iSCSI-SAN 适合中小型企业或中等性能需求场景。建议配合独立 VLAN 或万兆以太网使用,避免与业务流量争抢带宽。


1.6 PCIe#

PCIe(Peripheral Component Interconnect Express)是计算机内部高速串行扩展总线标准,用于连接 CPU 与各种高速外设(显卡、网卡、SSD 等)。在存储领域,PCIe 的核心角色是作为 NVMe 协议的物理传输通道。

传统存储协议(SCSI/SAS/FC)最初是为机械硬盘设计的,命令队列浅、并发能力弱。而 SSD 的闪存介质可以并行处理海量 I/O 请求,需要一条”更宽、更快”的通道来释放其性能。PCIe 正是这样一条通道:

PCIe 版本单通道(x1)带宽x4 通道带宽
PCIe 3.0~1 GB/s~4 GB/s
PCIe 4.0~2 GB/s~8 GB/s
PCIe 5.0~4 GB/s~16 GB/s

PCIe 天生是为机箱内直连设计的,不适合远距离网络传输。这催生了 NVMe over Fabrics(NVMe-oF)的需求——把 NVMe 协议”搬”到网络上,而 PCIe 本身则继续作为本地 NVMe SSD 与 CPU 之间的”最后一公里”通道。


1.7 NVMe#

闪存时代的存储命令集

NVMe(Non-Volatile Memory Express)是专为闪存存储设计的新一代主机控制器接口和存储协议,通过 PCIe 总线与 CPU 直接通信,从根本上替代了为机械硬盘设计的 SCSI/AHCI 协议。

1.7.1 NVMe作用#

传统 SCSI/AHCI 协议面对闪存时暴露了严重瓶颈:

对比维度AHCI(SATA)NVMe(PCIe)
命令队列数1 个最多 64K 个
队列深度32每队列 64K
中断机制单中断,共享多核独立中断,无锁提交
寄存器访问多次内存读取单次内存映射
设计初衷机械硬盘(毫秒级延迟)闪存(微秒级延迟)

NVMe 的设计充分利用了闪存的并行特性和 PCIe 的高带宽,大幅降低延迟并提升 IOPS。

1.7.2 NVMe的核心设计#

  • 多队列 + 深队列:64K 个 I/O 队列,每队列 64K 深度,完美匹配多核 CPU 和多闪存芯片的并行能力
  • 多核无锁提交:每个 CPU 核心拥有独立的提交队列和完成队列,避免锁竞争
  • 精简命令集:去掉了 SCSI 中大量针对机械硬盘的复杂命令,命令处理更高效
  • 流控制优化:减少软件层面的开销,让硬件直接处理 I/O 调度

1.7.3 NVMe 的定位#

NVMe 是命令集层面的革新(对标 SCSI),PCIe 是它的本地物理载体(对标 SAS)。两者的关系正如 SCSI 之于 SAS:SCSI 定义”说什么语言”,SAS 定义”用什么线传输”;NVMe 定义”闪存时代的新语言”,PCIe 定义”本地高速通道”。


1.8 NVMe over Fabrics#

把 NVMe 搬到网络上

1.8.1 NVMe-oF作用#

NVMe SSD 的延迟已经做到 10 微秒级别,但如果通过 iSCSI(延迟约 100 微秒)或传统 SCSI 协议栈连接到远端存储,网络延迟会完全抵消 NVMe 的性能优势。NVMe-oF 的使命就是:将 NVMe 的低延迟、高并行语义端到端地保留到网络中,不被中间协议”打折”。

1.8.2 NVMe-oF 的三种传输方式#

传输方式底层网络特点
NVMe/RDMAInfiniBand / RoCE / iWARP最低延迟,需 RDMA 网卡
NVMe/FC(FC-NVMe)光纤通道复用现有 FC 基础设施
NVMe/TCP标准以太网无需专用硬件,兼容性最强

NVMe-oF 使用 Capsule 封装格式统一屏蔽传输层差异,引入 NQN(NVMe Qualified Name)作为存储目标的全局唯一标识。

1.8.3 NVMe-oF 三大主流方案对比#

对比维度NVMe over FC (FC-NVMe)NVMe over RoCE (NVMe over RDMA)NVMe over TCP
网络介质与硬件传统光纤通道(FC)网络,需专用FC HBA卡与FC交换机。融合以太网,需支持RDMA的专用网卡(R-NIC)及支持无损网络的交换机。标准以太网,使用通用网卡即可,无特殊硬件要求。
性能与延迟高。相比传统FC-SCSI性能有所提升,但受限于传统传输层,略逊于RDMA。极高(最优)。具备零拷贝、内核旁路特性,延迟可达微秒级,CPU占用极低。中高。性能显著优于传统iSCSI,但受限于TCP/IP协议栈开销,延迟和CPU消耗高于RDMA。
部署与配置难度低(利旧友好)。对已有FC SAN架构的企业最平滑,支持FC-NVMe与FC-SCSI共存。高(复杂)。需配置无损网络(如PFC、ECN等流控技术)以防丢包,对网络拓扑和参数调优要求苛刻。极低(简单)。基于成熟TCP/IP栈,无需改造现有网络,部署最简单,兼容性最强。
建设成本高。需采购专用光纤硬件设备,且存在一定厂商锁定风险。中高。硬件成本约为InfiniBand的30%-50%,但整体部署与运维技术门槛较高。低。可最大程度复用现有标准以太网基础设施,TCO(总拥有成本)最低。
适用场景传统企业关键业务。适合已重度投资FC SAN的金融、电信等保守型行业进行平滑升级。高性能计算与AI。适合AI大模型训练、高频交易、高性能计算(HPC)等对延迟极度敏感的场景。云原生与通用云存储。适合Kubernetes容器化环境、超融合架构、通用数据库后端及分布式存储。
未来趋势逐渐式微但地位稳固。生态相对封闭,但在庞大的存量市场中短期内仍具不可替代性。高性能领域绝对主流。随着智算中心爆发,RoCEv2正成为构建高性能存储网络的首选。最具普及前景。凭借高性价比和易用性,有望全面替代传统IP SAN,成为以太网重构存储的事实标准。

总结建议:

  • 如果您的组织已有大量FC SAN资产且业务对稳定性要求极高,NVMe over FC 是利旧升级的最佳跳板。
  • 如果业务属于AI智算、高频交易,对存储延迟有极致要求且预算充足,NVMe over RoCE 是不二之选。
  • 如果面向云原生、分布式架构,追求高性价比、易部署与强兼容性,NVMe over TCP 是最具潜力的主流选择。

1.9 RDMA#

高性能网络的”内核旁路”技术

RDMA(Remote Direct Memory Access,远程直接内存访问)是一种允许网络中一台主机直接读写另一台主机内存的技术,核心特性是两个”零”:

  • 零拷贝(Zero Copy):数据直接在应用内存和网络之间传输,不经过内核缓冲区的拷贝
  • 零内核参与(Kernel Bypass):数据路径完全绕过操作系统内核协议栈,由网卡硬件直接完成

1.9.1 RDMA的存储重要性#

传统 TCP/IP 协议栈处理每个数据包需要消耗约 500-1000 个 CPU 周期,而 RDMA 仅需硬件层面的几个时钟周期即可完成一次内存读写。在 100GbE 网络下:

  • RDMA 单流延迟:约 0.7 微秒
  • TCP 延迟:约 15-20 微秒
  • 差距:20 倍以上

这意味着 RDMA 可以将网络存储的延迟降低到接近本地 PCIe 直连的水平。

1.9.2 RDMA 的三种实现#

RDMA 本身是一套编程接口标准(Verbs API),底层有三种物理实现:

实现方式物理网络延迟(100G)特点
InfiniBandIB 专用交换机/线缆~0.5 μs原生无损,性能最强,但生态封闭、成本高
RoCE v2标准以太网~0.7 μs基于 UDP/IP,支持路由,需配置无损网络
iWARP标准以太网~3-5 μs基于 TCP,无需无损网络,但延迟较高

1.9.3 RDMA 的核心操作语义#

  • Send/Recv:双边操作,发送端和接收端都需参与(类似传统消息传递)
  • RDMA Write:单边操作,发起端直接写入远端内存,远端 CPU 完全不感知
  • RDMA Read:单边操作,发起端直接读取远端内存,远端 CPU 完全不感知
  • Atomic 操作:原子的 Compare&Swap、Fetch&Add 等操作

单边操作(Read/Write)是 RDMA 最强大的特性——远端 CPU 和操作系统对数据搬运完全无感知,真正实现了”零开销”。


1.10 RoCE#

在以太网上实现 RDMA

RoCE(RDMA over Converged Ethernet)是在标准以太网上承载 RDMA 流量的协议,由 IBTA(InfiniBand Trade Association)于 2010 年提出。它的出现解决了 InfiniBand 生态封闭、成本高昂的问题,让企业可以在现有以太网基础设施上获得 RDMA 性能。

特性RoCE v1RoCE v2(主流)
工作层级数据链路层(L2)网络层(L3)
封装方式以太网帧直接封装(Ethertype 0x8915)UDP/IPv4 或 UDP/IPv6 封装(UDP 端口 4791)
路由能力仅限同一广播域支持跨子网路由
部署范围单层网络数据中心级组网
当前地位基本淘汰业界主流

RoCE v2 是当前分布式存储、AI 训练、高性能计算等场景的主流协议选择。

1.10.1 无损网络:RoCE 的”生命线”#

RDMA 对丢包极度敏感(因为绕过了 TCP 的重传机制),因此 RoCE 网络必须配置为无损网络。这依赖以下关键机制:

  • PFC(Priority-based Flow Control):基于优先级的链路级流控,当某个优先级的队列即将溢出时,向上游发送暂停帧,防止丢包
  • ECN(Explicit Congestion Notification):交换机在队列拥塞时标记报文,接收端生成 CNP(拥塞通知包)反馈给发送端降速
  • DCQCN 算法:发送端根据 CNP 反馈动态调整发送速率,缓解全局拥塞
  • ETS(Enhanced Transmission Selection):按优先级分配带宽,隔离存储流量与普通流量

这些机制需要在主机网卡、交换机、存储设备三端统一配置,任何一个环节缺失都可能导致性能劣化。

1.10.2 RoCE 的部署要点#

  • 需使用支持 RDMA 的网卡(RNIC),主流厂商包括 NVIDIA(Mellanox)、Broadcom、QLogic
  • RoCE 流量通常标记为 DSCP=48(CS6)和 VLAN PCP Priority 3
  • 推荐 Spine-Leaf 三层 ECMP 架构,RoCE 存储网与业务 TCP 网物理隔离
  • 全链路 MTU 必须一致(25GE 建议 2500,100GE 建议 5500)

1.11 对比总结#

1.11.1 协议关系图谱#

存储命令层: SCSI ──────────────────────→ NVMe
│ │
本地直连接口: SAS(串行SCSI) PCIe(高速总线)
│ │
网络传输层: ┌──┴──┐ ┌───┴──────────────┐
FC/FCP iSCSI NVMe/RDMA NVMe/FC NVMe/TCP
(光纤) (以太网/TCP) (RDMA网络) (光纤) (以太网/TCP)
│
┌───┴───┐
RDMA 实现方式
IB RoCE iWARP

1.11.2 关键指标横向对比#

协议延迟带宽CPU 开销硬件成本部署复杂度典型场景
FC/FCP极低(~2μs)高(32-128Gbps)低(HBA 卸载)高高核心数据库、金融交易
iSCSI较高(~100μs)中(1-100Gbps)高低低中小企业、中等性能需求
NVMe/PCIe(本地)极低(<10μs)极高(~16GB/s x4)极低中低本地高性能 SSD
NVMe/RDMA(RoCE)极低(~2-5μs)极高(100-400Gbps)极低中高高AI 训练、全闪存阵列
NVMe/TCP中(~10-30μs)高(25-100Gbps)中低低云计算、超融合
NVMe/FC极低高低高高FC 网络升级至 NVMe

1.11.3 技术演进趋势#

  • FC-SAN → NVMe/FC:传统 FC 网络通过 FC-NVMe 升级,复用现有基础设施获得 NVMe 性能
  • iSCSI → NVMe/TCP:IP-SAN 的自然演进路径,无需专用硬件
  • RoCE v2 成为主流:在以太网生态上实现接近 InfiniBand 的性能,已成为新建高性能存储网络的首选
  • NVMe-oF 统一存储网络:NVMe 命令集 + 多种 Fabric 传输,端到端保留闪存性能,正在成为现代数据中心的标配

总结一句话:SCSI 和 NVMe 是”说什么”(命令语言),SAS 和 PCIe 是”本地怎么说”(直连接口),FC、iSCSI、RDMA/RoCE 是”远程怎么说”(网络传输),而 NVMe-oF 则是把闪存时代的新语言高效地搬到远程网络上的完整方案。


文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

存储技术
https://2233941.xyz/posts/存储技术/
作者
lumifly
发布于
2026-09-15
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
lumifly
不逐世间万丈星河,自守一隅细碎明光
统计
--
总浏览量
--
今日访问
--
本月访问
✨ 今日一言
"加载中..."
——
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
本年还剩 -- 天--%
本月还剩 -- 天--%
本周还剩 -- 天--%
距离--
--
--
天气预报
最新动态
站点统计
文章
31
分类
2
标签
23
总字数
218,787
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录