SCSI、ISCSI、iSER、NVMe、NVMe-oF、NVMe-oF over RDMA

30 篇文章 13 订阅
23 篇文章 2 订阅

在存储系统中,上层协议可以泛指“指令”,也就是比如“读出从某某开始的多少长度的扇区”,指令包含三大关键信息:

(1)操作码:Opreation Code,或称为OP code;比如write、read等等。

(2)起始地址:从哪里开始读。如果是文件的话,精确到字节,如果是硬盘,精确到LBA(扇区)。

(3)长度:从起始地址往后多长的一段字节或者扇区。

那么,指令如何传递给对端的设备?你可以自己将上述指令的二进制码再编码一下,用手电筒的亮灭传递给对方,对方收到之后闪一下手电筒表示已经收到。此时,手电筒编码、收到后怎么表示收到,这也是一种协议,属于传输层协议。而手电筒就是物理层的接口,最终通过物理层,也就是光在真空中传播来将信息发送到对方。

同理,SCSI指令/协议NVMe指令/协议,是存储系统面向机械盘和固态介质分别开发的两种上层协议。它们可以被over到传输层协议+网络层/链路层/物理层接口上传输到对方,比如SCSI over FC,SCSI over SAS,[(SCSI over TCP) over IP] ethernet (ISCSI),SCSI over RDMA over IB(SRP),SCSI over TCP over IP over IB。以及NVMe over PCIe over标准插槽、NVMe over PCIe over M.2接口、NVMe over PCIe overSFF8639接口等等。NVMe最好是直接over到PCIe上,因为目前来讲,PCIe的物理层+链路层+网络层+传输层还是非常高效的,算是开放式IT设备外部IO总线里速率较高使用最广泛的。当然,如果是为了扩展性考虑,也可以把NVMe over TCP/IP over 以太网,或者NVMe over RDMA over以太网/IB,或者NVMe over FC等等。

底层接口,同样是手电筒,有人用灯丝灯泡的,有人用led的,有人用袖珍的,有人用手提的,有人用头戴的。这就是接口不同,但它们传递的信息编码、物理层都是一样的。比如,PCIe可以用标准插槽,也可以用自定义插槽,但里面的信号针脚数量都是一样的。

各类存储系统使用的协议及接口

存储系统中的硬件物理接口,包括:

(1)SCSI协议及接口

最原始的上层协议及底层接口标准。有人可能蒙了,SCSI不是上层协议的名字吗,为何底层物理接口也叫SCSI?因为SCSI这个标准最早的时候把上层协议一直到底层传输协议、网络层、物理层全给定义了。其定义了:表示层到物理层。 目前已被淘汰。

(2)IDE协议及接口

承载ATA协议,面向消费级,与SCSI接口处于同一个时代。同属并行总线接口,最大接2个设备。物理层速率比同时代SCSI接口低。其定义了:传输层到物理层。目前已被淘汰。

(3)FC协议及接口

用于存储系统时则承载SCSI协议,理论上可以承载任何上层协议。分为FCAL和FC Fabric两种网络层拓扑。磁盘接入的是FCAL拓扑。其定义了:传输层到物理层。

(4)SATA协议及接口

仅用于承载ATA协议。其用于取代IDE接口。属于串行总线,每个通道只能接入一个设备。其定义了:传输层到物理层。

(5)SAS协议及接口

在存储系统中用于取代FCAL接口。其定义了:传输层到物理层。

(6)PCIe协议及接口

承载PCIe传输协议。其可以承载各种上层协议。用于存储系统时,一般直接承载NVMe协议,也可以承载SCSI协议,但后者没有普及。其定义了:传输层到物理层。

(7)emmc协议及接口

(8)ufs协议及接口

上述的SCSI、FC、SAS等各种协议都相应定义了自己的物理层连接器形态但这并不意味着某种连接器只能承载当初定义它的那个协议。比如:SATA连接器可以承载以太网物理层信号等等,有个原则就是,为高速率传输协议定义的连接器,可以承载低速率传输协议,反之则不行。

SCSI

小型计算机系统接口SCSI,Small Computer System Interface)是一种用于计算机及其周边设备之间(硬盘软驱光驱打印机扫描仪等)系统级接口的独立处理器标准。SCSI标准定义命令、通信协议以及实体的电气特性(换成OSI的说法,就是占据物理层、链接层、套接层、应用层),最大部分的应用是在存储设备上(例如硬盘、磁带机);但,其实SCSI可以连接的设备包括有扫描仪、光学设备(像CD、DVD)、打印机……等等

SCSI是一套完整的数据传输协议,其主要功能是在主机和存储设备之间传送命令、状态和块数据。在各类存储技术中,SCSI技术可谓是最重要的脊梁。

SCSI协议位于操作系统和外部资源之间,它具有一系列的功能组件,操作系统对外部设备(如磁盘、磁带、光盘、打印机等)的I/O操作均可以通过SCSI协议来实现,一般情况下,SCSI协议都嵌入到设备驱动器或者主机适配器的板载逻辑中。

例如,应用程序一般将数据作为文件来访问。尽管数据最终都将在磁盘上以数据块的方式存放,但是文件的检索需要一系列功能将未加工的块数据装配成应用程序能够操作的连续文件。这个过程的第一步由应用程序通过操作系统所连接的文件系统承担。文件系统以目录、文件夹和文件的方式来创建人们可读的数据抽象。当一个用户的应用程序打开一个文件时,会引发一系列的进程。它们使用底层SCSI命令,控制数据块从存储系统到内存的安全传输。因此在文件系统层次中,数据传输在文件描述和块I/O之间进行

正像文件系统描述了对用户应用程序数据的抽象一样,物理存储设备被描述成文件系统的抽象。例如,在Windows中的E盘或者Linux中的/dev/sda可以是一个单独的磁盘、一个大磁盘的一部分或者多磁盘的条带阵列。文件系统依赖于卷管理功能,它将各种存储设备看作可以并发的、很容易访问的资源。设备的虚拟化将物理存储转换成逻辑存储,并且承担了在磁盘上放置数据块所需的复杂任务。文件/数据块转换和映射功能可以像一个单独的卷管理应用程序那样复杂,也可以像适配卡设备驱动程序接口那么简单明了。例如,Windows NT提供了Windows磁盘管理程序,为物理磁盘分配逻辑驱动器名。适配卡的设备驱动程序负责将它的资源作为一个物理SCSI实体,出现在Windows磁盘管理程序中。Windows磁盘管理程序可以为这些资源分配逻辑名,文件系统按顺序使用这些逻辑名为目录和文件确定位置。

如下图所示,逻辑抽象的层次从实际的物理SCSI设备一直到同主机系统的连接。在操作系统层次,一般的访问方法允许对SCSI设备进行统一的处理,而不考虑它们在系统中的物理连接。在保存文件时,文件系统并不关心逻辑驱动器是一个SCSI单元、一个Fibre Channel阵列还是千兆以太网的某个IP存储设备。在各种情况下,逻辑实体和物理存储的映射完成主机系统和合适的目标SCSI命令的发送,它在二者之间用来传输数据块

SCSI协议虽然是目前最为流行的数据传输协议,但是也存在着很多的缺点,如:SCSi总线上设备数限制为15,不适用于多服务器多存储设备的网络结构;SCSI总线的长度限制在25米,不适用于构造各种网络拓扑结构等。

NVMe协议

nvme协议全称为Non-VolatitControllerInterface高级主机控制接口,既是一种接口也是一种协议

iSCSI

iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。与传统的SCSI技术比较起来,iSCSI技术有以下三个革命性的变化:

  • 把原来只用于本机的SCSI协议透过TCP/IP网络发送,使连接距离可作无限的地域延伸

  • 连接的服务器数量无限(原来的SCSI-3的上限是15)

  • 由于是服务器架构,因此也可以实现在线扩容以至动态部署

iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。

iSCSI使用 TCP/IP 协议(一般使用TCP端口860和3260)。 本质上,iSCSI 让两个主机通过 IP 网络相互协商然后交换SCSI命令。这样一来,iSCSI 就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN)

iSER

iSER 代表“用于 RDMA 的 iSCSI 扩展”(iSCSI Extensions for RDMA)。它是 iSCSI 数据传输模型的扩展,iSCSI 是 TCP/IP 的存储网络标准。iSER在利用 iSCSI 组件的同时使用RDMA 协议套件

RDMA可以和成熟的iSCS协议配合,优化iSCSI的消息和数据传输,但同时保持iSCSI良好的管理型和可路由特性

ISER 的链接协议是什么?

ISER是iSCSI的RDMA传输,链接协议可以是以太网或InfiniBand,支持任何速度(10、40、56、100Gb/s)。

iSER支持三种传输层,InfiniBand,RoCE和iWARP

ISER 的优势是什么?

iSER使用RDMA协议套件,为块存储传输提供更高的带宽(0拷贝)。为此,它消除了处理TCP/IP协议栈的CPU开销,同时保留了与iSCSI协议的兼容性。

此外,它具有最低的延迟和最低的CPU利用率。此外,它还享有iSCSI协议的稳定性和优势,如安全性、高可用性等。

由于IB很难一统数据中心网络,而iWARP需要TCP/IP堆栈支持,效率比较差,因此,未来一统数据中心网络的存储协议,最有可能的就是iSER over RoCE

特别是新的闪存时代,可能会使得iSER更加热门,而iSER目前最大的鼓吹者就是Mellanox,在今年的美国闪存峰会上,他们有一个演讲,讲了iSER要火的一些理由。

首先,闪存的速度越来越快,使得网络协议的时延也成为瓶颈。Intel推广NVMe over Fabric解决这个问题,但Mellanox主推iSER。

因为iSER现在已经支持100G,是目前最快的存储协议之一。

关键是iSER除了支持InfiniBand,还支持RoCE。FCoE淡出后,iSER成为以太网一统数据中心的新希望。

iSER如果利用DCB网络,完全无需TCP/IP堆栈,传输的效率比iWARP要高,但比SRP更好管理,因为它利用了iSCSI成熟的管理技术。

还有,iSER支持所有SCSI/iSCSI的应用,因此,应用都无需改动。只是OS需要驱动,目前Linux和VMware ESXi,Oracle Solaris已经支持,Windows和FreeBSD也会很快支持。存储如Zadara已经支持,网络也有相应的接口卡和数据中心交换机支持。

部署 iSER 有哪些要求?

1、够使用SCSI和iSCSI层的应用程序

2、能够通过RDMA的网络

--支持RDMA的适配器卡(InfiniBand的以太网)。

--以太网交换机(带流量控制或PFC)。

--InfiniBand交换机

3、支持iSER的目标

NVMe-oF

NVMe over Fabrics (NVMe-oF)

NVMe SSD 通过直接连接到计算机或服务器中利用外围组件互连高速 (PCIe) 高速总线。从本质上讲,NVMe 降低了 CPU 开销并简化了降低延迟的操作,增加了每秒输入/输出操作 (IOPS) 和吞吐量

NVMe-oF支持在主机与固态存储设备或系统之间通过网络进行数据传输。NVMe-oF继承了NVMe的所有优点,包括轻量级和高效的命令集、多核感知和协议并行性。NVMe-oF是真正的网络无关的,因为它支持所有常见的fabrics,包括光纤通道、InfiniBand和以太网。

NVMe-oF over RDMA

InfiniBand,RoCE和iWARP

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值