本文内容参考自《SNIA SDC 2021会议资料& 分享的心路历程》中的一个Slide,《NVMe/TCP in the Enterprise:Next-Gen End-to-End Paradigm for Storage Connectivity》——VMware演讲人的部分。
如上图,VMware从vSphere 7.0引入NVMe-oF网络存储阵列支持。最初是基于光纤通道的NVMe/FC和RoCE以太网的RDMA Fabric,到7.0 Update 3版本开始支持NVMe/TCP。
在vSphere 7.0 U3的ESXi存储协议栈中,尽管已经有了原生NVMe驱动和虚拟机中的vNVMe,但还没有实现端到端。在NVMe读/写命令的执行流程中,还是中途要转换为SCSI命令。由于仍然使用SCSI Device/Legacy IO调度器,在下面还是要走SCSI路径连接存储适配器。也就是说,SCSI到NVMe的转换发生在Storage(PSA)Adapter这个层级。
而在未来的vSphere版本中,下一代存储协议栈就做到端到端NVMe了。首先是有了新的并行IO调度器,然后到存储适配器的路径也不再用SCSI。这个改变能提高性能(降低协议栈延时),同时还会带来一些增强特性,比如(设备)发现、Metro Cluster(远程集群)、Boot(从NVMe存储阵列启动)等。
上面是VMware vSphere NVMe支持的路线图。我看到在7.0U2版本只是做到了NVMe-oF发现(TP-8002的部分支持);在vSphere 7.0 U3版本引入NVMe TCP Initiator的同时,还开始支持Centralized Discovery控制器(TP-8010),也就是《NVMe-oF:基于IP的NVMe SAN自动化发现存储网络》中讨论过的“集中化发现”和CDC。
在未来的vSphere版本中,有更多对NVMe-oF存储阵列支持的加强。比如Virtual Volume从传统FC/SCSI之外增加NVMe;针对多主机(同时)集群访问的VMDK文件也支持NVMe Reservations(以前是SCSI预留)。在NVMe-oF发现这块,基础的TP-8002将获得完整支持;同时加入针对IP网络NVMe-oF阵列控制器的自动化“直接发现”(TP-8009)。
小结
关于TP-8009和8010的技术特点,我在前文中都介绍过,有兴趣的朋友可以点上方的链接。本文分享内容不多,总的来看,就是NVMe-oF特别是网络发现、自动化管理方面还处于完善的过程中,相关标准也还没被最终批准。具体到vSphere 7.0 U3版本这个阶段,支持集中化发现(CDC,即TP-8010)的存储阵列,大规模部署的易用性上应该会有些优势。
做存储这行,除了最基础的可靠性(保证数据)、可用性(几个9)和性能之外,还要比拼生态。比如与网络交换机的互操作性;主机操作系统、虚拟化HyperVisor的兼容性等。以前在这部分大厂有自家多路径软件,到了NVMe-oF时代,基于IP的NVMe SAN存储网络要想达到传统FC的管理体验,自动化发现(包括集中化CDC)应该是个关键吧。
作者:企业存储技术
原文:https://mp.weixin.qq.com/s/cuR5_sHQVCK9lGF1dKHu1g
推荐阅读
欢迎关注企业存储技术极术专栏