NVMe over Fabrics如何改变存储环境?【深度】

日期: 2017-09-21 作者:Chris Evans翻译:徐继军 来源:TechTarget中国 英文

网络化存储的流行始于20世纪90年代末和21世纪初,并且普遍选用光纤通道技术。如果不想承担昂贵的专用光纤通道的硬件成本,几年后出现的基于以太网的iSCSI协议也是可靠的替代方案。两种传输都使用SCSI作为存储协议基础来实现访问源(启动器)和存储(目标)之间的通信。随着存储行业开始采用闪存作为持久性存储介质,SCSI的性能问题也被暴露出来。

这些问题促进了NVMe或高速非易失性存储器的研发,并且选用一种比SCSI更优秀并解决性能问题的新协议。接下来我们将了解NVMe是什么以及与其他协议有什么不同。我们还将探讨NVMe over Fabrics对存储网络环境的革新。 NVMe发展历程 存储硬件的演……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

网络化存储的流行始于20世纪90年代末和21世纪初,并且普遍选用光纤通道技术。如果不想承担昂贵的专用光纤通道的硬件成本,几年后出现的基于以太网的iSCSI协议也是可靠的替代方案。两种传输都使用SCSI作为存储协议基础来实现访问源(启动器)和存储(目标)之间的通信。随着存储行业开始采用闪存作为持久性存储介质,SCSI的性能问题也被暴露出来。

这些问题促进了NVMe或高速非易失性存储器的研发,并且选用一种比SCSI更优秀并解决性能问题的新协议。接下来我们将了解NVMe是什么以及与其他协议有什么不同。我们还将探讨NVMe over Fabrics对存储网络环境的革新。

NVMe发展历程

存储硬件的演进以及对集中存储的需求促进了存储网络技术的发展。我们可以从古老的大型机系统的Escon找到基于光纤的连接协议,这也是光纤通道的原始模型。另一方面,SCSI很早就被用于服务器内的硬盘驱动器的物理连接。

SCSI最初是一个并行通信协议,每一个熟悉在服务器内安装硬盘的人都应该记得那些扁平的硬盘数据线吧。后来随着SAS的发展,串行接口开始流行。PC对应串行技术是被纳入SATA体系的高级主机控制器接口(AHCI)。您在主流的硬盘驱动器和固态硬盘上都能找到这两种协议。

光纤通道或以太网提供了服务器和存储之间的远程物理连接,核心的高级存储通信协议仍是SCSI。然而问题是,在那个业界开发出SCSI来匹配HDD使用的时代,硬盘的响应时间比系统内存和处理器慢了几个数量级。因此,虽然我们都认同各种SSD的速度都很快,我们也很容易看见SSD开始遇到严重的性能问题。大多数SATA驱动器仍然基于SATA 3.0规范,接口带宽限制为6 Gbps或者600 MBps吞吐量。SAS驱动器已经开始转向提供12 GBps带宽的SAS 3.0,但是许多情况下存储设备仍在使用6 Gbps连接。

实际上,单个设备处理并发I/O的能力才是SAS和SATA的最大瓶颈。了解一下硬盘驱动器的机械构造就不难看出,硬盘处理多个并发I/O请求的能力范围是非常有限的。只有在非常偶然的情况下,读/写磁头才有可能连续处理多个对齐的请求。你可以使用缓冲来优化队列,但这种措施的效果有限。(由于机械硬盘只有一组读写磁头)SAS和SATA的设计均没有考虑处理多个I/O队列。AHCI只支持一条32个指令深度的单个队列。SCSI稍好一些,根据不同的实现方案提供128到256个命令的单个队列。

单个队列的限制会进一步加剧延迟。随着队列长度的增加,后来的请求会遇到更大的延迟,因为它们必须等待其他请求完成。对于机械硬盘驱动器而言这不是问题,但对于固态媒体而言单个队列会成为巨大的瓶颈,因为固态硬盘中没有移动部件,并且具备极低的单次I/O延迟。

认识NVMe

让NVMe在设备和网络级别全面接替SCSI,这就是业界对接口瓶颈问题的回应。NVMe非易失性存储器使用高速PCIe总线而非专用存储总线,从而为内部的磁盘设备提供了更大带宽和更低延迟的连接通道。例如,每个PCIe 3.0四通道设备可使用大约4GBps的带宽。

NVMe最大的变化是对存储协议的优化。串行化I/O访问所需的内部锁定量已经减少了,同时中断处理的效率也提高了。此外,NVMe支持多达65,535个队列,同时每个队列的深度为65,535个指令。因此,和只支持单个队列的旧技术相比,NVMe为所连接设备提供了海量的并行I/O能力。在现代IT环境中大量工作都会并行化完成——想象一下最新处理器中的核心数量就知道了——我们会发现存储设备能并行处理多条I/O队列的好处,并行技术同样能改善外部I/O吞吐量。

NVMe工作组由大约90家公司联合建立,并在2012年开发了NVMe规范。三星在次年就发布了首款NVMe驱动器。该工作组在今年7月发布了NVMe规范版本1.3,增加了安全性、资源共享功能,并改善了SSD耐久性管理问题。

NVMe over Fabrics

如果NVMe替代了设备连接中的存储协议,则不难预计NVMe还可以进一步替代iSCSI和光纤通道协议中的SCSI。基于网络架构的NVMe标准实际上早已在2014年启动开发,并在去年完成发布。

正在开发中的NVMe over Fabrics传输方案有两种:使用远程直接内存访问(RDMA),以及使用光纤通道(FC-NVMe)。

RDMA能够在不占用处理器的情况下在两台计算机之间交换应用程序存储数据,从而实现高速、低延迟的数据传输。RDMA实现方案包括Infiniband、iWARP,以及基于融合以太网的RDMA,或缩写为RoCE(发音为“rocky”)。Mellanox等供应商提供了具备NVMe over Fabrics卸载能力的适用于Infiniband和100Gbps超高速以太网的适配卡。

基于光纤通道的NVMe通道可在现有的光纤通道技术基础上进行升级,从而支持SCSI和NVMe存储传输。这意味着客户有可能简单地升级兼容交换机的相应固件就可以快速启用新的技术。在主机级别,主机总线适配器(HBA)必须支持NVMe——这些HBA通常会运行在16 Gbps或32 Gbps,显然,存储端的设备也必须支持NVMe over Fabrics功能。

部署NVMe

在NVMe进入数据中心的过程中,最容易想到的选择是在服务器中使用NVMe设备。供应商已经开始向市场推出具备NVMe功能的服务器产品,包括物理连接器和BIOS支持。

大多数现代操作系统已经支持NVMe,像VMware vSphere这样的虚拟化平台也是如此。VMware的vSAN平台从开始支持NVMe设备至今已超过18个月。

另一个选择是让NVMe充当存储设备的后端存储连接通道。随着时间的推移,存储供应商已经将SAS转为后端接口,取代了光纤通道仲裁环路和并行SCSI。

部署NVMe将为闪存设备提供快速,低延迟的连接,显着提高阵列性能,大幅提升存储操作系统代码效率。到目前为止,我们已经看到Hewlett Packard Enterprise公布了对3PAR存储产品的NVMe支持,NetApp将NVMe用于FlashCache中的读缓存,Pure Storage为其FlashArray//X平台选用了NVMe组件。

Pure公司宣称基于NVMe技术的FlashArray//X可提供两倍于上一代产品的写入带宽,延迟减少一半。但是,这些规范不包括基于主机的NVMe over Fabric,因此未来性能仍有提升的潜力。

NVMe部署选项

如果全线采用NVMe技术,也就意味着整个SAN都用NVMe技术来实现,而这正是NVMe over Fabric的将达成的目标。潜在客户同时有上述两种可选方案的好处是,为具备不同基础架构的数据中心提供了FC-NVMe相互转换的可能性。今年早些时候,Cisco宣布其顶级MDS 9710光纤通道引导器支持FC-NVMe功能。博科已经在其Gen6 32 Gbps交换机中支持NVMe,包括最近发布的G610产品。

光纤通道制造商声称,客户如果已经拥有符合要求的光纤通道设备,那么无需拆卸和更换部件就可以实现向NVMe的迁移。然而以上结论只适用于已经支持32 Gbps连接的数据中心,实际上当前的大多数服务器都并没有使用32 Gbps HBA卡。

如果可以循序渐进引入和部署支持NVMe的存储阵列,那么客户无需一次升级到NVMe,因为SCSI和NVMe可以在同一基础设施上共存。硬件的节省将取决于实际环境。从管理和运营角度看,精通光纤通道技术的数据中心和IT部门会更容易完成(向FC-NVMe的)升级转换,而向融合以太网的升级则由于需要更换硬件——几乎毫无进展。

光纤通道的替代方案是基于RDMA来使用NVMe,其代价是放弃扩展现有FC基础,从而以更高的性能打造新的存储网络。很多供应商提供这类产品。例如,初创公司E8 Storage开发了一个基于NVMe的存储阵列产品,使用100千兆位以太网(100 GbE)融合交换机和RDMA网络接口卡来实现高性能SAN架构。该公司声称其产品具有100万读取和200万写入IOPS,对应100μs(微秒)读取和40μs写入延迟。

另一家创业公司Excelero已经开发出了所谓的NVMesh,这是一种基于软件的产品,它使用支持NVMe的服务器作为网格节点来建立分布式计算和存储结构,最终实现各种系统,例如超融合计算环境。该公司已经和Micron合作生产基于Micron 3.2 TB SSD和Mellanox以太网RoCE交换机的名为SolidScale的平台。

在6月份的Pure Storage促进会议上,该公司宣布支持NVMe over Fabrics并将其作为FlashStack参考架构的一部分。这套架构将包括FlashArray//X,Cisco MDS 9700引导器和Cisco UCS,又名“统一计算系统”,以及配备32 Gbps HBA的C系列交换机。Pure还宣布将使用NVMe over Fabrics技术实现后端连接,从而让单个控制器能支持外挂盘柜扩展。

另一家创业公司Apeiron Data Systems正在开发基于40 GbE的NVMe阵列架构和外部超融合设计,使存储和计算都能够独立扩展。

展望未来

在未来我们会看到NVMe将取代SCSI和SAS成为SSD设备的默认连接。高端方案将选择NVMe over Fabrics,不惜成本支持应用程序的性能提升。

我们将看到NVMe在现有的阵列平台中使用,从而保留快照,复制,压缩和重复数据删除等功能,也会看到采用NVMe的功能还不丰富的新平台体系结构(如Excelero和Apeiron),未来将会有各种有趣的可能性。由于功能单一,NVMe产品在过去很少有人关注。然而随着时间的推移,NVMe肯定会取代那些在全闪存浪潮中幸存的旧架构,因为这些架构无法充分发挥固态闪存的潜力,必然会被淘汰。

作者

Chris Evans
Chris Evans

Chris Evans已经在IT行业工作了25年以上。早期的职业生涯始于大型机领域,然后进入存储和系统编程领域,专注于开放系统存储和目前流行的虚拟化和云技术。

翻译

徐继军
徐继军

TechTarget中国特约作者

相关推荐