随着社会数字化程度的不断提高,人类生活中越来越多的信息变成了数据,人类也产生了更多对于数据的需求。从移动支付到自动驾驶,数据量暴增不仅带来数据存储的压力,也同样对于数据处理提出了更高的要求:在待处理数据量剧增的情况下,数据传输的时延还必须不断缩短。
在这一背景下,数据中心必须不断发展演进,方可应对未来的挑战。数据中心虽涉及多类软硬件设备,业界关心最多、影响最大、技术栈最深的依然是存储侧基础设施。随着存储闪存化转型升级的深入,业界越发意识到,SSD等介质革命固然带来了IO的巨幅提升,但NVMe协议才是发挥性能的关键,通过端到端NVMe使得数字化转型真正走向“高速之路”。
NVMe展示标准化力量
早在2000多年前,《礼记·中庸》就提出了“车同轨,书同文,行同伦”的理论,以此让社会更加有序、高效的运作。
IT行业亦是如此,用户希望他们的应用程序立即响应。为此,这些应用程序需要更快的服务器处理器、更多的计算核心、更多的内存和更多的存储资源。随着底层硬件功能的改进,以满足这些需求,创新的应用程序开发人员找到了利用这些需求的新方法——快速应用程序依赖于将频繁访问的数据尽可能靠近处理器本身。
从IDE、SATA到SAS,硬件接口协议发展经历了交替革新,性能也逐步提升。但总体来看,这些硬件协议大都为通用接口协议,是从支持机械硬盘演进为支持固态硬盘的,性能上并没有就固态硬盘颗粒高速读写能力做出太多优化。直到PCIe SSD的出现,SSD性能得以进一步释放。PCIe是串行总线标准,硬件可以直接和CPU进行通信,速度更快,通道数更多。但彼时的PCIe SSD却做不到拿来即用,不同的操作系统、不同的应用场景都需要PCIe SSD给出相应的驱动、配置、维护以及升级方案。PCIe SSD作为数据中心的一个存储组件,借助标准化构筑完整的生态是必然趋势,而NVMe正是在这样一个背景下诞生并成为了PCIe SSD开启闪存时代的引爆点。
在NVMe出现之前,高端SSD只得以采用PCI Express总线制造,但需使用非标准规范的接口。若使用标准化的SSD接口,操作系统只需要一个驱动程序就能使用匹配规范的所有SSD。这也意味着每个SSD制造商不必用额外的资源来设计特定接口的驱动程序。
NVMe正是应此而生。做个形象的比喻,原来负责控制固态硬盘的SAS协议,由于复杂的系统架构、过多的协议解析、有限的队列并发能力,硬生生把固态硬盘建成了红绿灯多、卡口多的“省市级公路”;而NVMe则是为他们带来一条真正的数据高速公路。
根据Gartner预测,2022年NVMe SSD在存储中占比将达到52%。
NVMe性能、节省处理器资源及提升软件效率多方面占优
随着固态硬盘在存储市场上的流行,SAS已成为存储中连接SSD的最典型方式;但是,SAS的设计主要是作为机械硬盘驱动器(HDD)的接口,并随着时间的推移越来越难满足速度日益提高的SSD。随着在存储市场的流行,许多固态硬盘的数据速率提升已经放缓。不同于机械硬盘,部分SSD已受到SAS最大吞吐量的限制。
NVMe协议则是统一了各厂商私有接口协议,用统一的接口协议来建立生态,和多种操作系统互联互通。使用NVMe协议与存储系统中的SSD交谈,可提高每个处理器和整个存储系统的效率和有效性能。与传统的基于SCSI的协议相比,精简的NVMe协议栈降低了处理开销。NVMe协议将最大队列数由单队列提升至64K,队列深度也从32提升至64K,使得SSD的IOPS大幅提升近2倍,时延也缩短了2倍。NVMe已经成为业界公认的固态存储主流协议选择,在未来将占领大量市场。
在某项4K随机工作负载测验中,NVMe可提供超1.4~3倍的IOPS性能,同时NVMe提供超过3~6倍于SAS的带宽。在时延方面,经测试,NVMe比SAS SSD降低20%的时延,相比于HDD减少近10倍时延。
此外,根据另一组某大型设备厂商实际测试,NVMe和SAS SSD几种情况下性能对比如下表,由此可见,NVMe在带宽、吞吐量及时延方面都远超SAS SSD。
在CPU资源利用率方面,NVMe所需的每次IO 的CPU 周期少于SAS的一半,有效节约CPU资源,将释放更多的CPU性能。此外,第一代NVMe软件堆栈就在一致性方面相比较SAS也实现了2 到3倍的提升。总之,NVMe 正在推动着一场架构变革,实现与存储系统的大规模并行通信。最终结果是在服务器和存储设备之间提供带宽更高、延迟更低的连接。
NVMe协议释放闪存潜能,NVMe over Fabrics应运而生
NVMe协议对于存储提供了性能、延迟、协议栈开销的全面优化,对于IT基础架构的另外两个核心——计算和网络,则需要尝试适应这种存储上的变化,这将成为NVMe协议生态继续走向成熟的关键一步。在NVMe之前,SCSI协议就已经在考虑如何改善系统性能并降低CPU负担了。NVMe协议基于其自身发展历程,开始发展出用于拉远的协议扩展,NVMe over Fabrics(NOF )应运而生。
NVMe over Fabrics协议定义了使用各种通用的传输层协议来实现NVMe功能的方式,这些协议包括RDMA,FC,IB,FCoE等。依据传输层协议不同,又有不同的传输层绑定协议去规范每一种互联网络所具体需要的传输转换层协议实现,如FC-NVMe则规定了FC网络上支持NVMe over Fabric所必须实现的接口方式。由于NOF 的灵活性,它对于各种主流传输层协议有非常广泛的适应和支持,但受限于协议本身差异,不同协议的NOF 在具体实现中的效果也有一定差异。
当前NVMe over Fabrics业界主流选择主要有两类——NVMe over RoCE(RDMA over Converged Ethernet)和FC-NVMe。由于FC网络作为现网主流选择,FC-NVMe成为部分存储厂商的主要研究和支持方向。但是,FC网络由于其相对封闭的技术栈,演进速度较为缓慢,带宽成为其主要瓶颈;而以太网更为开放,目前已达到400Gb带宽(FC仅为64Gb),在性能上更有优势,因而NVMe over RoCE也被认为是极具潜力的选择。
百家争鸣,NVMe已成各厂商主打王牌
伴随NVMe 协议及下一代网络协议NVMe over Fabrics不断的发展和进化,今天所有NVMe生态参与者以此为共同语言,虽然各家IT厂商所处领域各不相同,擅长的技术也千差万别,但是因为NVMe横跨全球的高效协作有了基础。NVMe降低了客户从SSD到服务器乃至整个解决方案的研发、部署和维护成本,更帮助各厂商其实现了一个又一个营销奇迹。
然而,当前各厂商的NVMe呈现的百家争鸣,也让IT从业者的选择陷入困难。
目前包括DELL EMC、华为和NetApp等多个存储厂商均已经实现后端(即磁盘端)支持NVMe协议,但仍然有些厂商保持观望。在实现全后端NVMe的配置上,控制器带硬盘的数量及硬盘成本已经成为各家竞争的关键。而在技术上,Infinidat属于另辟蹊径的一家,Infinidat认为当数据量到达一定层次之后,闪存的成本太高了,所以,它的技术策略是用磁盘加上DRAM的组合方式,然后在中间放置一层薄薄的闪存层,据说性能表现不逊于全闪存存储。
在网络协议上,当前各大厂商已经实现全面支持NVMe over FC,但在NVMe over ROCE的探索上各家发展保持谨慎与侧重。在业界,华为率先提出NOF 方案,实现了计算、网络以及全闪存存储全栈国产化的联合创新。据其宣称,该方案不仅可以获得和FC网络同样的IOPS处理能力,还可以在时延上大幅降低到原来的50%,同时整体的网络TCO降低65%。此外,Infinidat宣布存储阵列InfiniBox支持NVMe/TCP协议,使用简单的TCP/IP结构将NVMe扩展到了整个数据中心,部署成本也较低,但是它们的延迟比RoCE要高一些,目前也是一些厂商的发展方向。
面向未来,随着NVMe技术的成熟和不断完善,端到端NVMe方案必然将加速在数据中心的普及速度,未来数据中心也必定是NVMe的天下。得益于NVMe带来的标准化,全球IT厂商之力塑造新的存储生态正在火热集结,并将最终目标指向更加高效的为客户创造价值。
不只是NVMe标准化组织官方,SNIA、PCI-SIG、Gartner、IDC等标准化组织和分析机构也同样在推动NVMe发展。从磁盘等产品的发展历程,我们可以预测市场将充分验证NVMe的生命力和优势。数据中心的存储、计算以及网络的变革也随着NVMe的发展悄然展开,相信更多未知会因此加速到来,这是一件充满想象空间的事情。