单根 I/O 虚拟化 (SR-IOV) 概述

单根 I/O 虚拟化 (SR-IOV) 接口是 PCI Express (PCIe) 规范的扩展。 SR-IOV 允许设备(例如网络适配器)在各种 PCIe 硬件功能之间分离对其资源的访问。 这些函数由以下类型组成:

  • (PF) 的 PCIe 物理函数。 此函数是设备的主要功能,并播发设备的 SR-IOV 功能。 PF 与虚拟化环境中的 Hyper-V 父分区相关联。

  • 一个或多个 PCIe 虚拟函数 (VF) 。 每个 VF 都与设备的 PF 相关联。 VF 与设备上的 PF 和其他 VF 共享设备的一个或多个物理资源,例如内存和网络端口。 每个 VF 都与虚拟化环境中的 Hyper-V 子分区相关联。

为每个 PF 和 VF 分配唯一的 PCI Express 请求者 ID (RID) ,该 ID 允许 I/O 内存管理单元 (IOMMU) 区分不同的流量流,并在 PF 和 VF 之间应用内存和中断转换。 这允许将流量流直接传送到相应的 Hyper-V 父分区或子分区。 因此,非特权数据流量从 PF 流向 VF,而不会影响其他 VF。

SR-IOV 允许网络流量绕过 Hyper-V 虚拟化堆栈的软件交换机层。 由于 VF 分配给子分区,因此网络流量直接在 VF 和子分区之间流动。 因此,软件仿真层中的 I/O 开销会减少,并实现与非虚拟化环境中几乎相同的网络性能。

有关详细信息,请参阅下列主题:

SR-IOV 体系结构

SR-IOV 数据路径