一个边缘系统的部署往往包含多个小规模的、可管理的环境,优化总体拥有成本对此非常重要。在当今的配置中,基础架构操作运行在托管客户工作负载的同一台服务器和同一个 CPU 上。这些基础架构操作(例如,处理网络流量等)会消耗大量的资源,势必需要用户部署更大的集群并投入更多的成本。
智能网卡或 DPU(数据处理器)让您可以在不牺牲虚机(VM)或容器中的业务线应用所需的主机资源的情况下,加倍发挥软件定义基础架构的优势。依托 DPU,我们在可以使用 SR-IOV 时消除合成数据通路(Synthetic Datapath)对于主机 CPU 的消耗,充分发挥 SDN 的优势。随着时间的推移,我们预计 DPU 能够带来更大的助益,助力 Microsoft 的旗舰边缘产品(如 Azure Stack HCI)重新定义主机架构。
最近,我们演示了如何在 NVIDIA BlueField-2 DPU 上构建和运行 CBL-Mariner。在 DPU 的加持下,我们能够集采用软件定义网络(SDN)策略与传统的内核旁路技术(如 SR-IOV)于一身。这种强大的组合,在软件定义网络中实现了硬件加速,大幅提升了安全性和敏捷性。
在本文中,我们将演示运行集成了 NVIDIA BlueField-2 DPU 的 Azure Stack HCI SDN 网络控制器原型。
拓扑
本演示包含以下组件:[list]
[]两台主机都包含了:1.一个 NVIDIA BlueField-2 DPU,通过这个 SoC(System-on-Chip)系统来运行 CBL-Mariner2.用于与 NVIDIA BlueField-2 DPU 通信的主机代理
[]Microsoft SDN 网络控制器
[]同一 SDN 虚拟网络中的两台租户虚机,每个主机上各一台
[]一台基于 Windows Admin Center 的虚机,用于远程管理
[/list]
原型说明
在传统的(非 DPU)SDN 环境中,虚拟筛选平台(VFP)是 Hyper-V 虚拟交换机的扩展服务。由于策略在 Hyper-V 虚拟交换机中执行,而 SR-IOV 的数据路径会旁路(Bypass)虚拟交换机,因此我们无法执行访问控制列表(ACL)和服务质量(QoS)服务。在本原型系统中,我们将 VFP 移至 DPU,这样 SR-IOV 的数据路径也能应用这些策略。
在这个原型中,策略应用工作方式如下:[list]
[]通过 Windows Admin Center,在 Microsoft SDN 网络控制器上,对启用了 SR-IOV 的虚机设置 ACL 策略。
[]网络控制器会与每个主机上运行的主机代理进行通信。
[]主机代理通过 gRPC 通信通道将策略编程到 DPU 上的 VFP 组件中。
[][attach]20187[/attach]
[]原型
配置 SDN 策略
如下图所示,主机中有一个虚拟网络,在 Windows Admin Center 中被配置为 tenant1。
[][attach]20190[/attach]
[]下图中有一个网络安全组,被设置了一个名为 NTTTCP_Allow_All 的网络安全规则(ACL),这个规则允许 NTTTCP 接收 tenant1 虚拟网络中所有虚机的入站(Inbound)流量。
[][attach]20189[/attach]
[]比较合成和 SR-IOV 网络性能
下图显示了 VM 的工作负载运行在合成网络(Synthetic Network)软件栈上的情形,由于合成网络软件栈必须运行在主机 CPU 核上,在 _Total 报告中,您可以看到,42% 的主机 CPU 核(在此系统中为 8 个核)被用于处理通过合成数据通路传输的网络流量(本例中为 60 Gbps)。
随着 VM 和容器占用的带宽越来越多,对主机 CPU 资源的消耗也在不断增加。
[][attach]20191[/attach]
[]现在,我们在客户机 VM 上启用 SR-IOV VF,卸载数据路径,同时依旧执行 SDN 策略。下图显示了客户机达到线速 96 Gbps 时的 NTTTCP 输出。
[][attach]20192[/attach]
[]在下图可以看到,主机 CPU 几乎没被消耗。这将释放原本供合成数据通路使用的 8 个核(42% 的主机 CPU 用于处理 60 Gbps 的流量),改为供客户工作负载(VM 或容器)使用。这意味着用户可以在相同服务器上部署更多的 VM,或者减少工作负载所需的服务器。[attach]20193[/attach]
[]结语
常见的边缘系统的部署往往包含多个小规模的、可管理的环境,优化总体拥有成本对此非常重要。在当今的配置中,基础架构操作运行在托管客户工作负载的同一台服务器和同一个 CPU 上。这些基础架构操作会消耗大量的资源,势必需要用户部署更大的集群并投入更多的成本。
在上述原型中,我们演示了在 NVIDIA BlueField-2 DPU 的加持下,如何结合使用 SR-IOV 和 Microsoft SDN 堆栈来减少主机占用的 CPU 资源。敬请关注更多原型!
[/list]