NetApp EF750的NVMe over Fabric技术实现.docx
《NetApp EF750的NVMe over Fabric技术实现.docx》由会员分享,可在线阅读,更多相关《NetApp EF750的NVMe over Fabric技术实现.docx(7页珍藏版)》请在冰豆网上搜索。
NetAppEF750的NVMeoverFabric技术实现
NetAppEF750的NVMeoverFabric技术实现
NVMe似乎成了存储玩家的比争之地,尤其在闪存领域,从FlashArray//X和DoradoNVMe存储面世以来,其他主流存储厂商都纷纷加入NVMe行列。
·IBMFlashSystem9110/9150
·HPENimbleAFSeries
·DellEMCPowerMAX
·NetAppAFFA800(今天不谈)
通常情况下,上述产品的实现是将NVMe驱动添加到存储后端,前端主机接口还是保持SCSI协议链接,但NetAppE-Series采取了另一种独特的方法,从主机到EF570/E5700的前端采用NVMe-oF(InfiniBand)网络,而后端仍然是基于SCSI的SAS驱动器,并非NVMe。
首先,我们来看下,什么是InfiniBand架构,以及其主要元素是什么?
InfiniBand网络的基本组成部分是:
主机通道适配器(HCA)、交换机、子网经理(SM)、网关等。
每个终端节点必须有一个主机通道适配器来设置和维护与主机设备的链接。
交换机包含多个InfiniBand端口,将数据包从一个端口转发到另一个端口,以在子网中继续传输数据包。
路由器用于将包从一个子网转发到另一个子网(如果必要的话)。
子网管理是通过软件定义的网络来处理的,它控制网络的物理元素,并通过开放的、行业标准的接口引入流量工程特性。
什么是主机通道适配器(HCA)?
主机通道适配器(HCA)是一种接口卡或控制器,它连接着InfiniBand导线和主机系统总线。
每个终端节点都必须有一个HCA,它设置和维护主机设备和网络上其他实体之间的链接。
HCA提供到其他设备的端口连接。
HCA可以连接到另一个HCA、目标设备或交换机。
什么是交换机?
在InfiniBand中如何工作?
交换机用于物理连接网络中的设备,并将传入的数据流量转发到目的地。
交换机有多个端口,可以通过电缆将数据处理和转发到特定设备,从而控制网络内的流量。
在InfiniBand网络中,交换机是InfiniBand结构的一个关键部分。
实际上,InfiniBand被称为“交换结构”或“基于交换的互连”,因为当流量被转发时,就有一个从一个端口到另一个端口的逻辑连接,类似于老式的电话交换机。
随着更多的交换机被添加到系统中,设备之间可能有更多的路径。
什么是子网管理器(SM)?
子网管理器(SM)是一个软件实体,配置其本地子网并确保其运行。
它在每个端点之间设置主路径和次要路径,以便预先编程流转发决策并以最少的时间传递数据。
子网中必须至少有一个SM,以便管理所有的交换机和路由器设置,并在链路断开或出现新链路时重新配置子网。
SM可以驻留在子网中的任何设备上。
子网中的所有设备必须包含专用子网管理代理(SMA),SM使用它与各种InfiniBand组件通信。
一个子网中可以有多个SMs,只要在任何时刻只有一个是活动的。
非活动SMs(称为备用子网管理器)保留活动SM的转发信息的副本,并验证活动SM是可操作的。
如果活动SM发生故障,备用SM将接管其职责,以确保整个结构继续运行。
软件定义网络(SDN)已经成为子网管理的主要手段,它不仅控制网络设备和它们之间的数据流量,而且增加了网络的灵活性和可伸缩性。
在InfiniBand网络中路由器是必需的吗?
路由器用于在不同的计算机网络之间设备连接。
当数据到达路由器时,它读取数据包中的地址信息并确定最终目的地。
在以太网网络中,由于泛洪机制和生成树,大型子网的效率不高。
因此,需要一个路由器来连接各种较小的子网。
这些问题在InfiniBand中不存在,在InfiniBand中,多达40,000个节点的大型子网可以高效运行。
没有必要划分更小的子网,所以路由器不是必需的。
然而,随着对数据中心的需求不断增长,如果需要超过40000个节点的子网,就可以使用InfiniBand路由器技术,如Mellanox的IBTM交换机。
什么是网关?
它如何在InfiniBand网络中工作?
网关是子网中的设备,充当两个协议之间的桥梁。
例如,它允许InfiniBand集群访问以太网网络或存储接口。
它允许公司实现一个InfiniBand网络,通过有一个专用接口连接到运行他协议上的现有遗留设备上。
VirtualProtocolInterconnect(VPI)是Mellanox的一个技术,允许HCA或交换机中的任何端口运行InfiniBand或以太网协议,并根据需要在两个协议之间进行切换。
谈谈NVMe和VNMeoverFabric
关于NVMe大家应有所了解,NVMe已成为PCIeSSD的行业标准接口,具有简化的协议和命令集,每个I/O的时钟周期更少。
NVMe支持最多64K队列和每个队列最多64K命令,这使得它比现有的基于SCSI的协议(如SAS和SATA)更高效。
NVMe-oF的引入使其更具有可伸缩性,同时仍然得益于低延迟和小开销。
NVMexpress.org规范概述了对VNMe的支持——NVMe-oFoverEthernet、RDMA和光纤通道(FC)。
相比SCSI,NVMe(NVMe-oF)可以支持更低的延迟I/O,不仅是因为设备速度更快,还因为一些固有的优势在Linux主机操作系统驱动程序栈(如上图)。
因此,I/O花费更少的总时间从应用程序的存储,从而减少响应时间。
开篇提到,EF570/E5700存储系统,从主机到的阵列前端采用NVMe-oF(InfiniBand)网络,而后端仍然是基于SCSI的SAS驱动器(EF570SASSSD)。
NetAppEF570全闪存专为混合工作负载环境(包括大数据分析、技术计算、视频监控和备份与恢复)设计,在微秒内提供超过1M的持续IOPS。
EF570还是第一个支持包括32Gb光纤通道、25GbiSCSI、100GbInfiniBand、12GbSAS和100GbNVMeoverInfiniBand的多种高速主机接口的阵列,保护存储现有网络的投资。
如上图所知,E/EF系列对第三方产品的兼容性情况和支持组件,描述如下:
·操作系统:
SLES12SP3,RHEL7.4
·HCAs:
MellanoxFDR和EDRHCAs
·交换机:
MellanoxFDR和EDRInfiniBand交换机
·拓扑结构:
交换和直接连接网络
那么,为什么NetApp要基于InfiniBand实现NVMe-oF的?
主要原因如下:
·InfiniBand内置了RDMA。
·E-Series已经支持其他的基于InfiniBand(SCSIbased)的协议:
例如iSCSIExtensionsforRDMA(iSER)和SCSIRDMAProtocol(SRP)。
·在EF570/E5700的相同硬件上可以运行iSER或SRP,以及NVMe-oF(但不是同时运行)。
·以上三种协议都可以在同一种网络上共存,甚至可以在相同的InfiniBand主机信道适配器(HCA)端口上共存。
这允许使用现有运行iSER和/或SRP的客户,运行EF570/E5700的NVMe-oF连接到同一个网络。
·网络中的所有InfiniBand组件(NetAppEF570/E5700存储、交换机、HCAs)都可以根据需要协商降低速度(如增强数据速率EDR100Gbps、FDR56Gbps、QDR40Gbps),这使得现网速度较低的遗留设备变得很容易被支持。
NVMe-oF(InfiniBand),iSER,SRP这三种协议都可以在相同的网络结构上共存,甚至可以在主机端相同的InfiniBandHCA端口上共存。
这就允许使用现有运行iSER/SRP的客户将与运行NVMe-oF的EF570/E5700连接到同一种网络上