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

  • 物理网卡必须使用 MSI-X 中断。
  • VF 不在 vSphere 中实现速率控制。每个 VF 都可能使用一个物理链路的整个带宽。
  • 将 VF 设备配置为虚拟机上的直通设备时,不支持虚拟机待机和休眠功能。
  • 可以创建的最大 VF 数以及可用于直通的最大 VF 数不同。可以实例化的最多 VF 数量取决于网卡功能以及主机的硬件配置。但是,由于可供直通设备使用的中断向量的数量有限,在 ESXi 主机上只能使用数量有限(而非全部)的实例化 VF。

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

  • Intel 网卡上支持的 VF 数可能与 Emulex 网卡上支持的数目不同。请参见网卡供应商提供的技术文档。
  • 如果具有 Intel 和 Emulex 网卡,并启用了 SR-IOV,则可供 Intel 网卡使用的 VF 数量取决于为 Emulex 网卡配置的 VF 数量,反之亦然。可以使用以下公式估算在所有 3072 个中断向量均可用的情况下可用于直通设备的 VF 数量:
    3X + 2Y < 3072

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

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

  • vSphere SR-IOV 在支持的 Intel 和 Emulex 网卡上最多支持 1024 个 VF。
  • vSphere SR-IOV 在支持的 Intel 或 Emulex 网卡上最多支持 64 个 VF。
  • 如果支持的 Intel 网卡连接丢失,则来自物理网卡的所有 VF 将停止通信(包括 VF 之间的通信)。
  • 如果支持的 Emulex 网卡连接丢失,则所有 VF 都将停止与外部环境通信,但 VF 之间的通信仍可进行。
  • VF 驱动程序提供大量不同的功能,如 IPv6 支持、TSO 和 LRO 校验和。有关更多详细信息,请参见网卡供应商的技术文档。