下一代存储 NVMe over Fabrics
以NetApp EF600为例 总结一下NVMe架构的知识:
非易失性内存Express(NVMe)已成为PCIe固态磁盘(SSD)的行业标准接口。 通过简化的协议和命令集以及每个I / O更少的时钟周期,NVMe支持最多64K队列,每个队列最多64K命令。 这些属性使效率比SCSI的协议更高(例如SAS和SATA)。
能快多少?
案例: 1 TB Samsung 860 Pro, 2.5-inch SSD with 最大的随机读是560 megabytes per second (MB/s). 它的下一代, NVMe-based 960 Pro, 6倍的快,最高达到 3,500 MB/s.
除了介质快,延迟也是一个优势,我们对比一下 SCSI和 NVMe在Linux OS 驱动层的架构,可以发现NVMe设计就是非常快的,不像SCSI有Mid-Layer和low-level 分层。SCSI这样设计很好理解,因为SCSI当年不只为了磁盘设计的,它需要考虑连接不同的设备,厂家,带库,打印机等等。
SCSI是一种串行协议,因此,当您尝试与连接到SCSI控制器的磁盘设备进行通讯时,一次只能与它们进行通讯。 但是 NVMe最多可以让您同时处理64,000个未完成的请求,因此您可以在后端获得更多的设备。 如此庞大的并行性,这是在后端访问存储容量的更有效的方法 。差别是µs和ms 一个量级的差别。
3.NVMe介质长什么样?
以主流的三星为图例,它是PCI-E接口的,容量大,体积小。大概我们可以理解一台设备抵传统混合阵列一柜子磁盘,性能霸王。
什么是端到端的NVMe?
初期的NVMe磁盘阵列采用的后端磁盘是SAS接口的SSD,如figure 1需要NVMe-to-SAS3 Bridge中转
真正的端到端,从磁盘,到阵列接口,到Fabric网络,必须是全NVMe,如figure 2
NVMe阵列如何与服务器组建NVMe over Fabrics ?
NVMexpress.org规范概述了通过远程直接内存访问对NVMe-oF的支持(RDMA)和FC。 基于RDMA的协议可以是IB或融合以太网版本上的RDMA RoCE v2。以下为和SCSI方式连接的方式对比
连接的方式是什么样?
组网方式比较灵活,Fabric Switch可以是IB交换机 FC交换机 和 以太网交换机,HP1(host port 1 主机端口1)可以通过Fabric网络,映射访问到不同控制器上的NVMe存储空间
映射方式是什么样子?
和传统存储的LUN 映射到主机不同,NVMe存储引入了一个新的概念 NameSpace 命名空间, 它定义的是NVMe存储阵列上可格式化可分配的存储空间。这里就引入了一个概念交 NameSpace ID (NSID)是E系列控制器用来提供对名称空间的访问的标识符。这几乎等同于SCSI中的逻辑单元号(LUN)。 有两个例外。 首先,NSID不能具有0的值。其次,NSID FFFFFFFFh是用于指定所有命名空间。通过管理界面配置主机对卷的可访问性以及设置该主机或主机组的名称空间ID。 与SCSI一样,逻辑卷只能映射到一次只能有一个主机组,并且给定的主机组不能有任何重复的NSID。
下图帮助理解host group和 nsid的关系,nsid本身没有意义,在host group里唯一的就行了。下图显示了存储到多个主机的逻辑分区。 分配了逻辑卷0和3分别与NSID为1和2的主机组X关联(回想0不是有效的NSID)。 逻辑卷1被分配给主机组Y作为NSID 1,逻辑卷2被分配给主机组Z,也作为NSID 1。
7.三种组网方式 图示
(OS兼容性有要求,LINUX需要是SUSE和RedHat经验证的版本,更多linux版本在验证中)VMware在VSphere 7.0中推出了支持NVMe of 的方案。
方式1:FC组网
方式2:IB组网
方式3:以太网组网
常见问题汇总:
主机端用什么网卡?普通网卡是不行的 需要支持NVMe的卡,RDMA NICs (rNICs) 参见Mellanox文档
不用交换机能直连吗? 能,支持直连和Fabric组网两种方式
支持的连接类型汇总:
NVMe/IB: QSFP28 for 100Gbps, 56Gbps, and 40Gbps•
NVMe/RoCE: QSFP28 for 100Gbps and 50Gbps;
QSFP+ for 40Gbps; SFP28 for 25Gbps; and SFP+for 10Gbps.
RoCE只支持版本2,不支持版本1。
版权声明: 本文为 InfoQ 作者【HU】的原创文章。
原文链接:【http://xie.infoq.cn/article/6f8c4a2500089ab67bb9876a7】。文章转载请联系作者。
评论