微信号:ICT_Architect

介绍:分析和交流ICT行业最前沿技术,分享云计算、存储、服务器、数据中心、网络、软件定义和虚拟化等相关知识,旨在知识交流、开放共享和共同进步.

详谈NVMe over Fabric技术发展简史

2018-02-23 21:17 Hardy



      NVMe over Fabric将如何改变存储环境?


      开篇之前,还是有必要介绍下背景。随着光纤通道技术的广泛采用,存储网络在20世纪90年代末和21世纪初开始流行起来。对于那些不想花费安装专用光纤通道硬件的人来说,几年之后,iSCSI协议提供了一种可靠的基于以太网的替代方案。这两种传输都依赖于使用SCSI作为源(启动器)和存储(目标器)之间通信的存储协议。随着存储行业开始采用闪存作为持久存储介质,我们开始看到了SCSI遇到的性能问题。


      这导致了NVMe或非易失性存储器快速发展,NVMe是一种旨在超越SCSI并解决性能问题的新协议。我们来看看NVMe以及它与其他协议的不同之处。在文章中,我们还将探索NVMe如何改变存储网络的格局。


介质技术遇到瓶颈


      存储网络技术是基于存储硬件的发展和集中存储的需求不断演进的。我们可以将光纤通道的起源追溯到大型机上的ESCON,这是一种基于光纤的连接协议。另一方面,SCSI是基于服务器内硬盘的物理连接。


      SCSI最初是一种并行通信协议——任何熟悉将磁盘安装到服务器中的人都会记得带状电缆。随着SAS的发展,它转变为一个串行接口。与其对应的个人电脑先进主机控制器接口(AHCI)也展成了SATA。或许您可以在当前硬盘驱动器和固态硬盘上找到这两种协议。


      光纤通道或以太网给服务器和存储之间提供了物理连接,SCSI仍然充当高级存储通信协议。然而,业界开发的SCSI与HDD一起工作导致响应时间比系统内存和处理器慢几个数量级。因此,虽然我们可能认为SSD硬盘速度很快,但我们发现内部硬盘存在严重的性能问题。大多数SATA驱动器仍然基于SATA 3.0规范,接口限制为6 Gbps和600 MBps的吞吐量。SAS驱动器已开始转向提供12 GBps吞吐量的SAS 3.0,但许多仍使用6 Gbps连接。


      然而,对SAS和SATA来说,最主要的问题还是单个设备的并发I / O处理能力。看看硬盘的几何形状,很容易看出处理多个并发I/O请求的能力困难以至于不可能。对性能的提升也是出于偶然性,读/写头或许可以对齐多个请求;或使用一些缓冲,但它不是一个可扩展的选项。SAS和SATA都不是用来处理多个I / O队列的。AHCI有一个深度只有32个命令的单一队列。根据实施情况,SCSI相对好些,可以提供128到256个命令的单个队列。


      单队列但来的负面影响就是延迟。随着队列大小的增加,新请求延迟遇到的延时更大,因为他们必须等待其他请求完成。因为没有机械移动部件,固态硬盘驱动器的问题相对较少,单个I/O延迟较低,但单个队列是固态介质的瓶颈。


初探NVMe技术


      业界对接口问题的回答是NVMe在设备和网络层面取代SCSI。非易失性存储器使用PCIe总线(而不是专用存储总线)为内部连接的磁盘设备提供更大的带宽和更低的延迟连接。一个PCIe 3.0*4 Lane的设备,具有大约4 Gbps的带宽。


      NVMe最大的变化是存储协议的优化。串行化I / O访问所需的内部锁定已经减少,而中断处理的效率已经提高。此外,NVMe最多支持65535个队列,每个队列的队列深度为65535个。因此,NVMe不只有一个队列,还为连接设备的I/O提供了大规模的并行性。想想现代处理器中的内核数量。在并行完成大量工作的IT环境中我们可以看到多个I/O队列并发处理带来的好处,以及这将如何改善外部I / O吞吐量。


      NVM Express工作组是一个由约90家公司组成的联盟,于2012年开发了NVMe规范。该工作组于7月份发布了NVMe规范1.3版,增加了安全性,资源共享和SSD耐久性管理问题的功能。


什么是NVMe over Fabrics


      如果NVMe替代设备连接中的存储协议,则不难看出NVMe也可以用iSCSI和光纤通道协议替代SCSI。这正是NVMe over Fabric标准的发展情况,该标准始于2014年,并于去年发布。


      关于NVMe over Fabric,有两种类型的传输正在开发中,使用远程直接内存访问(RDMA)的NVMe over Fabric和使用光纤通道(FC-NVMe)的面向NVMe over Fabric。


      RDMA支持在不涉及处理器的情况下将数据传输到两台计算机的应用程序内存,并提供低延迟和快速数据传输。RDMA实施包括融合以太网上的Infiniband,iWARP和RDMA,或RoCE(发音为“rocky”)。像Mellanox这样的供应商提供适用于Infiniband和以太网的速度可达100 Gbps的适配卡,其中包括NVMe over Fabrics卸载。


      NVMe允许对SSD设备进行大规模并行访问,从而充分利用SSD性能, 3D XPoint的应用更是一个游戏规则改变者的表现。



      基于光纤通道的NVMe使用当前可升级的光纤通道技术,以支持SCSI和NVMe存储传输。这意味着客户只需通过适当的固件升级交换机即可使用他们现有的技术。在主机系统,主机总线适配器(HBA)必须支持NVMe—通常为16 Gbps或32 Gbps显然,存储设备也必须能够支持NVMe。

 

如何实施NVMe


      随着NVMe在数据中心的应用,最明显的选择是在服务器中使用NVMe设备。供应商早已将支持NVMe的服务器推向市场,并提供物理连接器和BIOS支持。大多数现代操作系统已经支持NVMe,就像VMware vSphere等管理程序平台,VMware的vSAN平台早已经支持NVMe设备。


      另一种选择是支持NVMe作为存储设备中的后端存储连接。存储供应商已经开始向SAS过渡作为后端接口,随着时间的推移,取代了光纤通道仲裁环路和并行SCSI。NVMe将取代SAS作为存储阵列的主要内部协议。在优良的架构产品中,这一变化将导致显著的性能改进,因为闪存的好处被发挥了。


      部署NVMe可以为闪存设备提供快速,低延迟的连接,并且在高效存储操作系统代码的情况下显着提高阵列性能。迄今为止,我们已经看到HPE宣布支持3PAR的NVMe,NetApp将NVMe作为FlashCache中的读取缓存引入,Pure Storage将其提供给其FlashArray//X平台等等。


      具有NVMe的Pure Storage的FlashArray//X声称可以提供前一代延迟的一半,并具有两倍的写入带宽。但是,这些规格不包括基于主机的NVMe over Fabrics支持,所以仍然有潜在的性能提升。


NVMe面对的选择


      NVMe技术的全面采用意味着使用NVMe实现整个SAN服务架构,这正是NVMe over Fabrics所提供的。潜在的客户都采用上述两种实施方案。并有可能转换为适用于基础设施的数据中心的FC-NVMe。思科宣布其高端MDS 9710光纤通道Director支持FC-NVMe。Brocade已经在其Gen6 32 Gbps交换机中支持NVMe,包括最近宣布的G610。


      迁移到NVMe的客户可以避免对光纤通道设备进行翻新和更换。对于已经支持32 Gbps连接的数据中心来说,情况确实如此; 但是,对可能不使用32 Gbps HBA卡服务器来说,情况并非如此。


      支持NVMe的存储阵列出现时,客户可能不必一次升级到NVMe,因为SCSI和NVMe可以共存于同一基础架构上。从管理和运营的角度来看,熟悉光纤通道的数据中心和IT部门可能会发现转型过程比转向融合以太网更容易,因为融合以太网由于更换硬件需要花费而从未真正替换。


      NVMe over Fabrics可以在光纤通道第六代技术及以后的环境共存。这允许将存储阵列转换为支持NVMe的Fabrics,并且比通过以太网迁移到NVMe所需的拆分和替换方法更容易。


      光纤通道的替代方案是将NVMe用于RDMA,并以可扩展性为代价实现新的存储网络,以获得略高的性能。一些供应商使用这种方法提产品。初创公司E8 Storage开发了一种基于NVMe的存储阵列,该阵列使用100 G以太网(GbE)融合交换机和RDMA网络接口卡实施高性能SAN。该公司宣称多达1000万次读取和200万次写入IOPS,读取时间为100微秒(μs),写入延迟时间为40微秒。


      另一家创业公司Excelero已经开发出一款称为NVMesh的软件产品,该产品使用支持NVMe的服务器网格来创建分布式计算和存储结构,以实现一系列系统,例如超融合计算环境。该公司已与美光公司合作生产基于Micron 3.2 TB固态硬盘和Mellanox以太网RoCE交换机的名为SolidScale的平台。


      该公司宣布支持面向NVMe的NVMe,作为其FlashStack参考架构的一部分。这将包括FlashArray//X,Cisco MDS 9700导向器和思科UCS,或具有32 Gbps HBA的C系列交换机。


      还有一家新兴公司Apeiron Data Systems正在开发基于40 GbE的NVMe阵列体系结构和一种外部化的超融合设计,实现存储和计算能够独立扩展。


NVMe的未来


      我们将NVMe替代SCSI和SAS作为SSD设备的默认连接。高端部署将使用NVMe over Fabrics,在现有的阵列平台中使用NVMe将会保留了快照,复制,压缩和重复数据删除等功能,并采用了像Excelero和Apeiron这样的新平台体系结构。过去,这些功能的缺乏使得基于NVMe的产品没有受到关注。然而,随着时间的推移,NVMe肯定会取代传统全闪存技术中存在的传统架构。


      本期分享就到这里了,下期我们将分享“基于光纤通道的NVMe(基于FC的NVMe)或FC-NVMe标准”。关SSD、闪存技术产品现状NVMe趋势详细分析,请通过原文链接获取电子书材料。


相关阅读



温馨提示:
请搜索“ICT_Architect”“扫一扫”二维码关注公众号,点击原文链接获取更多技术资料

求知若渴, 虚心若愚—Stay hungry, Stay foolish

 
架构师技术联盟 更多文章 有一个Ceph客户端来连接Windows系统吗? Kibana或Grafana,时间序列可视化如何选择? [解读] Intersect360分析预测: 由AI和Cloud驱动,未来HPC市场达439亿 FAQ详解“Meltdown和Spectre”问题,接踵而来的“Skyfall和Solace”是否仅是骗局? 作为软件工程师,该如何处理“前任”留下的代码?
猜您喜欢 【第769期】2016 JavaScript 发展现状大调查 【成都前端Meetup】如何进行前端测试 为RecyclerView打造右侧索引导航栏IndexBar 程序猿12个人艰不拆的真相 欢迎来到蘑菇街测试技术的微信公众号