在数据中心开始从机械硬盘向固态硬盘(SSD)转换后不久,NVMe协议就开始支持高性能直接附加的PCIe SSD。紧随NVMe之后的是NVMe over Fabrics(NVMe-oF),旨在高效地支持超大型远程SSD池,有效地取代直接附加存储(DAS),进而成为云基础设施中分离式存储的默认协议。
最近推出的NVMe over TCP可提供更强大的NVMe-oF技术,能够在降低部署成本和设计复杂度的同时提供更高的性能。本质上,NVMe over TCP使用简单高效的TCP/IP结构将NVMe扩展到了整个数据中心。
商业和技术咨询公司Capgemini North America的IT主管Eric Killinger说:“能够在高带宽、低延迟的情况下进行通信,在存储阵列之间实现物理隔离,以及添加包含TCP协议的普通交换网络进行传输,无疑将改变游戏规则。超大型云服务提供商已经采用这项技术以取代已有二三年历史的SSD技术,从而为数据分析和物联网提供了更大的查询访问能力。
背景:NVMe和NVMe-oF的出现
由NVMe SSD构建的存储阵列极大地提升了存储速度,但是这些设备仍然通过基于SCSI的主机连接与服务器进行通信。NVMe-oF的部署可以跨交换结构支持基于NVMe的块存储设备远程直接内存访问(RDMA)。
技术研究公司IDC的基础设施系统研究副总裁Eric Burgener说:“这是一种专门为固态存储优化的高性能存储网络协议,其提供了更低的延迟、更高的带宽、并行性和更高的效率。”
NVMe-oF 适用于光纤通道(FC)、以太网和InfiniBand等不同类型的网络传输。在以太网中,用户还可以选择RoCE(RDMA over Converged Ethernet)、iWARP以及TCP等不同的传输选项。
缺点是FC、InfiniBand、RoCE和iWARP选项都需要定制的主机总线适配器和驱动程序,这使得它们的部署和维护既困难又昂贵。Burgener说:“NVMe over TCP是一个真正的行业标准,可与几乎所有的企业服务器上的标准聚合以太网适配器配合使用。”此外,大多数重要的Linux变体如今在其标准发行版中都含有NVMe-over-TCP驱动程序。
Burgener说:“作为一个已发布且被广泛接受的标准,从长远来看,它们将主导NVMe-oF的部署。虽然部署成本也较低,不需要标准Linux或以太网适配器之外的升级计划,但是它们的延迟比RoCE要高一些。迄今为止,RoCE是另一种被广泛部署的以太网选项。”
RoCE和iWARP都支持RDMA,而FC和TCP则不支持RDMA。虽然支持RDMA可稍微降低延迟,但是所有这些方法都比基于普通SCSI的存储网络技术(如FC和iSCSI)提供了显著的性能改进。
NVMe/TCP的部署和应用
用户采用NVMe/TCP的一个主要原因是其提供一个低延迟的共享存储解决方案。
Burgener说:“如果用户有一个基于NVMe的全闪存阵列,但是该阵列仍然通过基于SCSI的存储网络连接到服务器上,那么用户可能会遇到很多性能问题,并且固态存储资源使用效率也不高。如果用户希望让所有的应用程序都能够享受到基于NVMe的全闪存阵列的性能,那么用户这时需要用到NVMe-oF存储网络。”
对于大多数企业而言,最终的传输选择将取决于已部署的技术或是规模与性能要求。
Burgener说:“FC是满足后一种要求的最佳传输方式,但是随着高带宽以太网新版本的不断推出,这种区别正在不断缩小,因为以太网可通过更高的带宽处理更多的工作负载。一些对性能非常敏感的应用程序使用FC作为NVMe-oF的传输层会更好,不过随着时间的推移,这类应用程序会越来越少。”
如果企业已经有了FC网络,那么在其上部署NVMe-oF就相对容易些,因为许多企业已经在这样做了。Burgener认为,大多数新建企业还是会选择部署以太网,而TCP最终将胜出。
Burgener说:“在应用程序方面,我们将会看到NVMe over TCP被用于由人工智能/机器学习(AI/ML)驱动的大数据分析工作负载当中,特别是在要求实时的情况下。另一个重要意义在于,环境已将大量工作负载整合到单个存储阵列上,并且需要能够在高工作负载密度下提供出色的性能。”
虽然AI/ML驱动的大数据分析应用正在增长,但是该领域仍处于新兴阶段。更为直接的原因在于,NVMe/TCP在基于闪存的超大存储部署环境中受到了越来越多的关注,尤其是在大量低延迟数据必须通过现有的高带宽交换网络被快速访问的情况下。
Killinger说:“超大规模是这项技术的天然消费者,因为它们可以实现闪电般的数据访问,并允许数据分布在多个数据中心内,同时它们还在电网、冷却和本地化的高可用性体系结构方面具有优势,不会带来的额外成本。”
NVMe/TCP还可以允许用户利用现有的交换网络技术。这些技术已经商品化并可从许多原始设备制造商处获得。Killinger说:“与Infiniband或光纤通道相比,连接多个10G以太网端口的每个端口的成本使得利用NVMe的TCP堆栈成为可能。”
Burgener指出,许多高端存储用户已经致力于FC存储网络,并且已经或正在计划升级到RoCE。不过,这种情况在未来几年可能会发生变化。
Burgener认为,随着存储基础设施越来越多地转向固态存储,用户也将越来越关心基础设施的效率,NVMe over TCP将明显优于SCSI,而且成本低廉,易于部署。
NVMe-over-TCP的可用性
NVMe及其规范由NVM Express拥有和维护,NVM Express是一个由网络、存储和其他IT相关公司组成的联盟。NVMe规范于2011年发布,其定义了主机软件如何通过PCI-Express(PCIe)总线与非易失性内存通信,目前已成为PCIe SSD的行业标准。NVMe/TCP于2018年获得NVM Express的批准。
从目前的情况来看,对NVMe/TCP的支持主要来自Mellanox Technologies等网络供应商,以及Lightbits Labs、Excellero、Pavilion Data和Infinidat等存储初创公司。SSD芯片制造商Kioxia也支持NVMe over TCP。
NVMe/TCP可用性预计将在未来几年快速增长。Burgener预测称:“尽管大多数主要的企业级存储供应商还没有动作,但是他们可能会在未来12~18个月内推出相关的产品。”
虽然大规模的NVMe-over-TCP部署在短期内是一个障碍,但是它们很可能转化为一个长期的成功。
Killinger说:“大多数IT公司都在尝试公有云服务,估计有超过90%的业务部门在使用一个或多个公有云。同时,IT更新率一直呈下降趋势。对于用高端的NVMe技术更新老化的存储基础设施,许多公司没有编列足够的预算资金。尽管如此,一些公司开始尝试用公有云服务提供商来替代自己的企业IT服务。这正是NVMe over TCP大显身手的地方,其增长速度将是企业IT购买力的数倍。”
Burgener认为,NVMe/TCP的未来前景光明,但是部署率可能要到2022年或2023年底才会真正开始上升。Killinger也乐观地认为,NVMe/TCP最终将成为主流技术。他说:“我没有找到NVMe over TCP不会蓬勃发展的理由,甚至在未来几年它们还会加速SSD的部署。”他预计,SSD存储OEM厂商很快就会进行大规模的市场推广,并积极拓展其产品在NVMe over TCP上的性能。