虚拟机多队列 (VMMQ) 概述
虚拟机多队列 (VMMQ) 是一种 NIC 卸载技术,可将本机接收方缩放 (RSSv1) 扩展到 Hyper-V 虚拟环境。
VMMQ 为虚拟化节点的父分区中的 虚拟端口(VPorts) 提供可缩放的网络流量处理。 VPort 表示网络适配器的 NIC 交换机上的内部端口,该端口支持 单个根 I/O 虚拟化(SR-IOV)。 有关 SR-IOV 接口及其组件的概述,请参阅 SR-IOV 体系结构。 以前,RSS 处理不适用于 VPorts。 VMMQ 将原生 RSS 功能扩展至与 NIC 的物理函数(PF)关联的 VPort,包括默认 VPort。
VMMQ 的工作原理是有效地在 NIC 硬件中分发网络流量。 可以将 NIC 中的多个硬件队列分配给单个 PF VPort。 NIC 使用 RSS 哈希跨这些队列分配网络流量,并将数据包直接放置在分配的处理器上。 将流量分发到 NIC 可提高 CPU 性能,因为软件无需完成此任务。
你可能希望启用 VMMQ 功能来减少主机 CPU 消耗,并通过将 CPU 负载分散到多个处理器,从而提高虚拟系统的吞吐量。 可以将 VMMQ 支持添加到新的或现有的 NDIS 6.60 及更高版本的驱动程序。 如果适配器支持 VMMQ,则驱动程序是供应商提供的,如果 OS 为 Windows Server 2019,则默认启用 VMMQ。 如果适配器不支持 VMMQ,则驱动程序是系统提供的,或者 OS 是 Windows Server 2016,则默认禁用 VMMQ 或不可用。 如果 OS 早于 Windows Server 2016,则 VMMQ 不可用。
VMMQ 适用于父分区中公开的 VPort,无论 NIC 是在 SR-IOV 模式下还是在虚拟机队列 (VMQ) 模式下运行。
预期的功能交互
使用基本路由封装实现网络虚拟化 (NVGRE) 和虚拟扩展局域网 (VXLAN):NIC 根据数据包的内部标头计算用于传播接收队列的哈希。
SR-IOV:NIC 可以同时支持 VMMQ 和 SR-IOV。
相关内容
- VMMQ 发送和接收处理
- 播发 VMMQ 功能
- VMMQ 的标准化 INF 关键字
- 为 VMMQ 分配 VPort
- 在 VPort 上启用、禁用和更新 VMMQ