计算、存储和网络是数据中心的三个重要组成部分。无论哪个部分实现技术上的突破,都会引起连锁反应。就存储来说,闪存的性能与硬盘比较有了质的飞越,如果希望整个系统获得较好的性能提升,存储网络也需要与之匹配的提升(如图1)。NVMe闪存配上NVMe Over Fabric存储协议将成为潮流。我们一起来看看NVMe Over Fabric的最新动态。
存储介质性能质的提升造成数据中心短板的转移
首先介绍下NVMe, 它作为一个高效的存储协议已经得到了众多闪存、服务器及存储厂商的支持,其生态日趋成熟。NVMe标准的PCIe闪存卡(盘)带宽是SAS/SATA标准的2-2.5的倍,IOPS性能提高3倍甚至更多,延迟降低40%—50%。与此同时,更为高效的网络存储协议也随着闪存技术的演进呼之欲出,这就是NVMe Over Fabric。
NVMe统一前端和后端
现在前端使用iSCSI的协议来访问远端的设备,iSCSI访问延迟高,占用大量CPU资源。NVMe需要转换为SCSI协议, 然后通过iSCSI传到远端。NVMe Over Fabric就是要替换掉前端的iSCSI(或者是Linux下的iSER和Windows下的SMB3),使得终端用户可以直接通过NVMe Over Fabric协议实现对远端NVMe设备快速、低延迟的访问。
以上介绍了很多NVMe Over Fabric的发展背景、基本概念和优势,事实上NVM Express官方在2014年9月发布NVMe1.2协议规范的同时提出了NVM Over Fabric概念,同年即有基于以太网的NVMe Over Fabric的DEMO在美国加州展出。而后Intel、Mellanox等厂商都在积极的推动NVMe Over Fabric的发展。在刚过去的FMS2015大会上,Memblaze使用开源软件NBDx展示了Mellanox的Pre-standard NVMe Over Fabric解决方案。NBDx架构如图3
NBDx–NVMe Over Fabrics POC
从图3架构我们可以看出,客户端访问服务端采用了RDMA的方式进行通信,RDMA技术减少了CPU的开销,同时这个架构没有使用SCSI协议,去除了SCSI是性能瓶颈的问题,Block层使用了多队列的方式,去除了Block性能瓶颈的问题。
使用PBlaze4搭建NBDx解决方案的测试结果
图4是一个NBDx解决方案的测试结果,其使用了PBlaze4作为存储介质。可以看到两块PBlaze4 NVMe PCIe SSD搭建的NBDx解决方案性能便可达到100万IOPS和6GB/s带宽,而且解决方案的性能可以随着PBlaze4数量的增加实现线性的提升。
PCIe SSD要实现大规模的部署,就必须从加速卡的角色转变为主存储的介质,NVMe标准的出现使得PCIe SSD走向标准化,Linux等主流操作系统都已经内置了NVMe驱动,闪存生态走进了一个快速发展的时期,接下来是存储资源的共享,也就是存储网络需要针对闪存的特性打造一个更为高速、高效的架构,NVMe Over Fabric无疑是最明朗的一个方向。Mellanox 存储主管Rob Davis 在FMS2015分享中提及NVMe Over Fabric 1.0版本将在2015年第四季度与大家见面。
FMS2015之上Memblaze工程师与Mellanox工程师做了深入沟通,未来双方会在全闪存阵列、解决方案以及NVMe Over Fabric等领域展开广泛的合作。