虚拟功能 (VF) 是轻量级的 PCIe 功能,其包含数据交换所需的所有资源,但仅有一套最精简的配置资源集。vSphere 与 VF 之间的交互是有限的。

  • VF 不在 vSphere 中实现速率控制。每个 VF 都可能使用一个物理链路的整个带宽。

  • 将 VF 设备配置为虚拟机上的直通设备时,不支持虚拟机待机和休眠功能。

  • 可以创建的最大 VF 数以及可用于直通的最大 VF 数不同。可以实例化的最多 VF 数量取决于网卡功能以及主机的硬件配置。但是,由于可供直通设备使用的中断向量的数量有限,在 ESXi 主机上只能使用数量有限(而非全部)的实例化 VF。

    每个 ESXi 主机总共有 256 个中断向量。主机引导时,该主机上的设备(如存储控制器、物理网络适配器和 USB 控制器)将占用这 256 个向量中的部分向量。如果这些设备需要的向量数超过 128 个,则可能支持的最多 VF 数量会减少。

    例如,如果可以在 Intel 网卡上实例化 64 个 VF,则在所有 128 个中断向量均可用的情况下,主机最多可将 43 个 VF 用于直通设备 (128 / 3 = 42.6)。

  • 如果具有 Intel 和 Emulex 网卡,并启用了 SR-IOV,则可供 Intel 网卡使用的 VF 数量取决于为 Emulex 网卡配置的 VF 数量,反之亦然。可以使用以下公式估算在所有 128 个中断向量均可用的情况下可用于直通设备的 VF 数量:

    3X + 2Y < 128

    其中 X 是 Intel VF 的数量,Y 是 Emulex VF 的数量。

    如果在主机上的所有 256 个向量中,由主机上其他类型的设备使用的中断向量数超过 128 个,则此数值可能会更小。

  • vSphere SR-IOV 支持使用的 VF 数量为:在 Intel 网卡上最多 43 个 VF,在 Emulex 网卡上最多 64 个。

  • 如果所用的 Intel 网卡连接丢失,则来自物理网卡的所有 VF 将完全停止通信(包括 VF 之间的通信)。

  • 如果所用的 Emulex 网卡连接丢失,则所有 VF 都将停止与外部环境通信,但 VF 之间的通信仍可进行

  • VF 驱动程序提供大量不同的功能,如 IPv6 支持、TSO 和 LRO 校验和。有关更多详细信息,请参见网卡供应商的技术文档。