背景阅读:《智能网卡SmartNIC:“大”x86 Server中的“小”armServer》
在《VMware NVMe__支持:vSphere7.0 U3__及未来展望》一文中,我曾经介绍过vSphere未来的存储栈发展,今天再跟大家聊聊网络方面。具体点说就是SmartNIC的应用——将HyperVisor卸载到智能网卡的Arm上。
一周以前,我在Winnie Shao博士的微博看到了上面这条,想找点具体相关的资料,就在自己的硬盘上搜“Project Monterey”。结果是前年我在微信公众号上分享过的《VMworld 2020 China__线上大会技术演讲资料分享》目录里找到了想要的文档,看来当初只顾忙着把资料share给大家,有点耽误了自己学习:)
Project Monterey这个项目代号VMware从2020年9月开始公开提出,到一年之后的2021年10月,VMware官网一篇博客的题目是《Project Monterey:The Excitement Builds One Year In》(参考链接统一在文末给出),看样子顺利的话今年应该正式发布,这一次不知用vSphere7.5还是8.0版本号。
这张对SmartNIC的解剖图我挺喜欢。
-中间部分,智能网卡的核心包括CPU(Arm Core)、可编程加速器以及中间的高速互连。如果把网络和存储服务运行在NIC上,可以节约服务器CPU周期并改善性能。
-左边列出了SmartNIC的高速网络接口(SFP),以及管理网口——这个与x86服务器的管理(BMC)是独立的。
-Virtualized Device Functions(虚拟设备功能)部分,包括NVMe(存储)、VMXNET(虚拟网卡)和PCIe(GPU、FPGA等)。这部分的Slowpath低速处理可以在ArmCPU上来做;而Fastpath高速路径则卸载到ProgramableAccelerator。SmartNIC可以把虚拟设备导出给x86服务器,这将给VMware带来以前不具备的bare metal裸金属服务器支持,就像AWS的Nitro和阿里的神龙那样。
下一代Cloud Foundation架构
如今已经发布有ESXi on Arm,如果把它跑在SmartNIC上,除了主机管理之外,vSAN数据存储以及NSX的网络和安全服务也可以卸载到智能网卡。上层无论是在x86 CPU上仍跑一个计算Hypervisor和虚拟机,还是裸金属的Linux & Windows,SmartNIC都可以直接提供“虚拟化”好的DataStore存储以及网卡。这又有点让我想起来AIX小型机上的VIO Server。
如上图,在多台服务器之间由SmartNIC互连形成了Monterey可组合式硬件Fabric,vSAN存储和NSX网络控制器集群都跑在上面。这个Fabric除了卸载网络和存储之外,还能够将集群内的GPU和FPGA也池化起来,应该是可以通过RDMA网络实现跨主机的分配。
上图来自Project Monterey Demo中的Part1: Using SmartNIC to Remote vSAN to VMs and Accelerate Network Performance。位于右边服务器中的“本地SSD”经过SmartNIC上的vSAN“处理”之后,可以作为一个VMware NVMe磁盘挂载到左边的ESXi计算节点。是不是有点像支持NVMe-oF的分布式存储软件?
接着列出的是Demo Part 2: Using SmartNIC to Remote vSAN to Bare Metal Apps and to EnforceSecurity,与上一个的区别是计算节点改成了裸金属OS。这样就要求从SmartNIC上跑的vSAN和NSX向上层导出的磁盘和网卡都要是标准设备,至少在部分Linux和Windows版本上要有驱动。大家还记得以前的FC SAN boot和iSCSI boot吗?
早在前年,VMware的Project Monterey生态系统中就已经列出了Intel、NVIDIA(Mellanox)和Pensando(当时DPU一词还不流行吧?)。NVIDIA Bluefield业内地位自不必说;Pensando我不太熟没有发言权;Intel当时应该是指“FPGA网卡”,而到了半年前的《_Intel架构日2021完整资料_》,InfrastructureProcessing Unit(IPU)已经提出了FPGA-based和Dedicated SoC/ASIC IPU(如下图)两种路线。
不知VMware Project Monterey是否已经能跑在Intel后续的Mount Evans 200G IPU上,不过至少该IPU也是用了Arm Core的。
发展前景是否乐观?
在Dell Technologies的一份文档中,Project Monterey相关的一段话有些耐人寻味。尽管我觉得ESXi、vSAN和NSX在同类软件中都算比较节约硬件资源的,且如今SmartNIC上的Arm Core算力也不弱了,但还是要面临2方面的问题:
1、智能网卡(DPU)的价格可能是普通网卡的5-10倍;
2、代码需要针对Arm处理器重写和重新编译来发挥其功能价值。
综上所述,继一部分大型互联网/云服务提供商之后,作为商业软件代表的VMware也快要准备好这种架构了。按我的理解,这既是VMware进一步覆盖裸金属主机管理的机会,也将促进SmartNIC/DPU在数据中心扮演更重要的角色。
Winnie Shao博士两年前那个标题《_“大”x86 Server中的“小”armServer_》起的真是太好了,我方才感其精妙:)
作者:唐僧 huangliang
原文:企业存储技术
推荐阅读
欢迎关注企业存储技术极术专栏