深入剖析NVMe Over Fabrics

架构师技术联盟

共 4563字,需浏览 10分钟

 · 2021-07-27



一、NVMe Over Fabrics是什么?


NVMe over Fabrics简称为NVMe-oF。它是NVM Express工作组在2016年发布的规范,通过网络将主机(如服务器)连接到存储。


备注: 上图来自nvmexpress.org


NVMe Over Fabrics之于NVMe,类似早先的光纤SAN存储中FC SAN之于Fibre Channel


NVMe over PCIe 局限在主机的本地盘使用。通过Fabrics(如RDMA或光纤通道)代替PCIe,可帮助主机访问节点外的NVMe SSD资源,NVMe-oF极大地增强了灵活性和扩展性,将NVMe低延时、高并发等特性,从服务器级别,扩展到整个数据中心级别


下图NVMe Transport可以看到,左边是over PCIe,右边是over Fabrics的几种类型。


备注: 上图来自micron.com


构建NVMe-oF的Fabrics网络,也即主机和外地盘的连接通道,有多种方式,over RDMA (NVMe /RDMA),over Fibre Channel (FC-NVMe) 、over TCP (NVMe/TCP)各自适用不同领域,如下图,NVMe/RDMA性能高、成本也较高,用于HPC、分布式数据库、AI机器学习等场景。



备注: 上图来自 Youtube: 2021-2-3, Use Cases For NVMe oF

https://www.youtube.com/watch?v=VWq13NmwOhI


分类的具体阐述如下,这部分内容转载自 微信公众号 Marvell美满 在2019-09-25发表的题为《如何选择最优的NVMe-over-Fabrics方案?》的文章。


1、使用RDMA (NVMe/RDMA)的NVMe-over-Ethernet 


这种RDMA兼容型以太网适配器现已获得授权。RDMA有两种不同的部署方式,名称分别为RoCE(v1/v2)和iWARP。然而非常遗憾,以上两种协议无法实现交互操作。下面简要说明两种协议各自的优劣势:  


1)NVMe-over-RoCE (NVMe/RoCE):如果您使用的是只有以太网的网络,NVMe-over-RoCE是共享存储或超融合基础设施(HCI)连接的最佳方案。正因如此,目前已有多家存储阵列供应商公布了他们的计划,及表示支持NVMe-over-RoCE连接。RoCE能够提供最低的以太网络延迟,并且对于跳数不超过 2 个的小规模存储网络,能达到非常优异的运行效果。顾名思义,RoCE需要聚合或无损的以太网络才能正常运行。此外,该方案还需启用实现额外的网络功能,包括数据中心桥接(DCB)、优先流控制(PFC),以及其他一些更复杂的组织架构和网络拥塞管理机制。如果低延迟是您的首要目标,那么NVMe-over-RoCE很可能是您的最优选择,尽管其网络复杂性也相对较高。


2)NVMe-over-iWARP (NVMe/iWARP):iWARP RDMA协议运行于标准TCP/IP网络之中,因此其部署操作也更加简单。尽管该协议的延迟性能不及RoCE,但更加易用的特性以及更低的管理难度依然具有巨大的吸引力。在现阶段,存储阵列供应商尚未设计出支持 iWARP的阵列,因此目前的iWARP最适合软件定义或者基于Microsoft Azure Stack HCI / Storage Spaces Direct (S2D) 等HCI解决方案。


2、NVMe-over-FC(FC-NVMe)


对于已经部署了光纤通道存储网络(SAN)基础设施的用户而言,FC-NVMe当属最优方案。使用16Gb FC或32Gb FC主机总线适配器(HBA)和SAN交换机,即可将NVMe协议封入FC框架内部。通过升级至最新的HBA固件和驱动程序则能获取Linux服务器上的FC-NVMe支持。因此,投资新型16Gb或32Gb FC HBA和SAN基础设施,能够为应用今后推出的FC-NVMe存储阵列做好提前准备。另外值得注意的是,SCSI (FCP) 和 NVMe (FC-NVMe) 可以共存于相同的FC光纤网络中,因此,基于FC-SCSI的老存储可以与全新的NVMe存储同时运行。


3、NVMe-over-TCP (NVMe/TCP)


NVMe-over-TCP于2018年11月获批,在不进行任何必要调整工作的情况下即可在现有的以太网基础设施中运行(这一点利用了TCP/IP广泛的普遍性)。NVMe-over-TCP发挥的性能表现可能在速度上不及NVMe-over-RDMA或FC-NVMe,但在标准以太网卡和以太网网络交换机上就可以轻松实现部署。无需大量的硬件投资,即可享受NVMe SSD存储的主要优势。


二、为什么出现NVMe Over Fabrics?


1)更快的存储,需要更快的网络


如下图,从HDD到SSD,再发展到PM (Persistent Memory),性能的改善(延时缩短)甚至比最初提升到数千倍!


上图来自 OCP 2018 SUMMIT, Rob Davis (时任Mellanox VP)


为什么需要网络呢? 主机直接在本地盘使用不行吗?


当然可以,确实有些要求延时低且冗余要求不高的场景,如AI训练、NoSQL(数据冗余在应用软件层实现)等。


2)更快更大容量的存储,需要给多个主机共享


不过,考虑到效率、弹性可靠性、可用性、可运维性等需求,开始出现了JBOF、EBOF等新型架构


现在很多品牌的SSD在4KB随机读下,都在60万,甚至80万IOPS以上,如下图浪潮ZNS SSD。


上图来自 浪潮存储 胡文锋


通常一个闪存盘箱(JBOF或EBOF)的SSD个数在20以上,也即能提供的总IOPS高达1600万!

常规的主机(服务器)很难吸收或全部利用这么高的磁盘性能。合理的架构应该是一些主机构成的集群,通过Fabrics共享使用一个或多个全闪存盘箱


当网络或说是传输通道延时超低,带宽也高时,主机可不配置本地盘。只留少数启动盘,甚至通过使用NVMe Server Boot Cards,连启动盘都不需要。例如,Marvell推出了RAID 1 Accelerator来提高NVMe启动盘的冗余保护。


3)NVMe Over Fabrics与软件定义


这其实就是Disaggregation of Compute and Storage(计算和存储的解耦),大家近年来经常听到的存算分离。



仔细一想,其实它和SDS(Software Defined Storage)的理念是一致的:硬件解耦、池化、共享。Disaggregation的好处是:

1)故障隔离;

2)通过共享降低成本;

3)提高资源的使用效率;

4)方便管理、易于运维;

5)避免浪费,计算或存储按需分配、按需扩展;


下图是2020年OCP Global Summit,浪潮信息与三星合作推出的开放存储平台:



Disaggregation带来了Composable(可组合性),除了按需各自独立的扩展之外,不用的存储资源,也可以释放,再行分配。



这种解耦再进一步深入,就是CPU doesn't 'own' the GPU or the Memory,这句我欣赏的话来自WD在OCP某次会议的分享,如下图:



其实,它可能预示如除存储之外,其他资源如GPU、内存、FPGA等的演变可能。


另外,从下图可以看出OCP的首倡者FaceBook在思考下一代数据中心,超大规模,高密度,灵活扩展(Flexible CPU/Flash Ratios,也即计算存储灵活配比),可维护性等,都是应有之义。



不过需要注意的是,大型数据中心所思考或所追求的,未必是当下中等规模,或者行业用户(非互联网,非云计算厂商)必须马上去实践的,因为各自的诉求、环境、应用场景、使用习惯、采购流程等都不一样。但做为潜在的长期趋势,需要保持关注


4)存算分离? 存算一体?


我们经常看到存算分离、存算一体(比如HDFS),到底哪个是趋势?两者是不是相互矛盾?其实,并不矛盾,这和业务需求、组件特质有着密切的关联,此一时彼一时。HDFS诞生于集中式存储、机械硬盘大行其道的时期,通过存算一体缩短延迟,并降低成本(不用购买昂贵的集中式存储)、方便海量存储扩展。


5)JBOF和EBOF的区别

和JBOD(包括采用NVMe over PCIe)不一样,EBOF或JBOF都可通过NVMe-oF进行存储的灵活扩展。


JBOF是Just a Bunch of Flash的缩写,使用PCIe交换机fan out(可理解为扇出、或连接)到SSD,而EBOF使用以太网交换机fan out到SSD。JBOF和EBOF通过NVMe-oF连接到主机服务器。


三、端到端的NVMe Over Fabrics


做到真正的端到端NVMe-oF,其实是很难的,全球没有几家。如下图所示,除了硬件之外,存储软件也要有所优化;此外在主机端还要有所处理,方能充分发挥性能优势。


上图来自前同事 李华伟的分享,略有修改


四、未来的发展


个人以为,借助NVMe Over Fabrics,未来集中式存储和分布式存储会殊途同归,都发展成为基于NVMe Over Fabrics的分布式全闪。近年来,还出现了Nvidia DPU,以及Scalable HCI的架构,后者是指超融合中某些节点不提供存储资源,但可共享其他节点的存储资源。这些都值得关注。





转载申明:转载本号文章请注明作者来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。


推荐阅读

更多架构相关技术知识总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。

全店内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。



温馨提示:

扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)电子书资料详情


浏览 220
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报