配置 VPX 实例以使用单根 I/O 虚拟化 (SR-IOV) 网络接口

Last published : Oct 06, 2026
在 Citrix Hypervisor 上安装并配置 NetScaler VPX 实例后,您可以配置虚拟设备以使用 SR-IOV 网络接口。
支持以下网卡:
  • 英特尔 82599 10G
  • 英特尔 X710 10G
  • 英特尔 XL710 40G

限制

Citrix Hypervisor™ 不支持 SR-IOV 接口上的某些功能。英特尔 82599、英特尔 X710 和英特尔 XL710 网卡的限制列在以下部分中。

英特尔 82599 网卡的限制

英特尔 82599 网卡不支持以下功能:
  • L2 模式切换
  • 群集
  • 管理分区 \[共享 VLAN 模式\]
  • 高可用性
  • 巨型帧
  • 集群环境中的 IPv6 协议

Intel X710 10G 和 Intel XL710 40G 网卡的限制

Intel X710 10G 和 Intel XL710 40G 网卡具有以下限制:
  • 不支持 L2 模式切换。
  • 不支持管理分区(共享 VLAN 模式)。
  • 在集群中,当 XL710 网卡用作数据接口时,不支持巨型帧。
  • 当接口断开连接并重新连接时,接口列表会重新排序。
  • 不支持接口参数配置,例如速度、双工和自动协商。
  • 对于 Intel X710 10G 和 Intel XL710 40G 网卡,接口显示为 40/x 接口。
  • VPX 实例上最多只能支持 16 个 Intel X710/XL710 SR-IOV 接口。
注意:
为了使 Intel X710 10G 和 Intel XL710 40G 网卡支持 IPv6,请通过在 Citrix Hypervisor 主机上键入以下命令,在虚拟功能 (VF) 上启用信任模式:
# ip link set <PNIC> <VF> trust on
示例:
# ip link set ens785f1 vf 0 trust on

Intel 82599 NIC 的先决条件

在 Citrix Hypervisor 主机上,请确保您:
  • 将 Intel 82599 NIC (NIC) 添加到主机。
  • 通过将以下条目添加到 /etc/modprobe.d/blacklist.conf 文件中,将 ixgbevf 驱动程序列入黑名单:
    禁用 ixgbevf
  • 通过将以下条目添加到 /etc/modprobe.d/ixgbe 文件中,启用 SR-IOV 虚拟功能 (VF):
    选项 ixgbe max\_vfs=\&lt;number\_of\_VFs\>
    其中 \&lt;number\_VFs\> 是您要创建的 SR-IOV VF 的数量。
  • 验证 SR-IOV 在 BIOS 中已启用。
注意:
建议使用 IXGBE 驱动程序版本 3.22.3。

通过使用 Citrix Hypervisor 主机将 Intel 82599 SR-IOV VF 分配给 NetScaler VPX 实例

要将 Intel 82599 SR-IOV VF 分配给 NetScaler VPX 实例,请按照以下步骤操作:
  1. 在 Citrix Hypervisor 主机上,使用以下命令将 SR-IOV VF 分配给 NetScaler VPX 实例:
    xe host-call-plugin plugin=iovirt host-uuid=\&lt;Xen 主机 UUID\> fn=assign\_free\_vf args:uuid=\&lt;NetScaler 虚拟机 UUID\> args:ethdev=\<接口名称\> args:mac=\&lt;Mac 地址\>
    其中:
    • \&lt;Xen host UUID\> 是 Citrix Hypervisor 主机的 UUID。
    • \&lt;NetScaler VM UUID\> 是 NetScaler VPX 实例的 UUID。
    • \&lt;interface name\> 是 SR-IOV VF 的接口。
    • \&lt;MAC address \> 是 SR-IOV VF 的 MAC 地址。
    注意:
    在 args:Mac= 参数中指定您要使用的 MAC 地址;如果未指定,iovirt 脚本将随机生成并分配一个 MAC 地址。此外,如果您想在链路聚合模式下使用 SR-IOV VF,请确保将 MAC 地址指定为 00:00:00:00:00:00。
  2. 启动 NetScaler VPX 实例。

使用 Citrix Hypervisor 主机将 Intel 82599 SR-IOV VF 从 NetScaler VPX 实例中取消分配

如果您分配了错误的 SR-IOV VF,或者您想修改已分配的 SR-IOV VF,则需要将 SR-IOV VF 从 NetScaler VPX 实例中取消分配并重新分配。
要取消分配分配给 NetScaler VPX 实例的 SR-IOV 网络接口,请按照以下步骤操作:
  1. 在 Citrix Hypervisor 主机上,使用以下命令将 SR-IOV VF 分配给 NetScaler VPX 实例并重新启动 NetScaler VPX 实例:
    xe host-call-plugin plugin=iovirt host-uuid=\&lt;Xen 主机 UUID\> fn=unassign\_all args:uuid=\&lt;Netscaler 虚拟机 UUID\>
    其中:
    • \&lt;Xen\_host\_UUID\> - Citrix Hypervisor 主机的 UUID。
    • \&lt;Netscaler\_VM\_UUID\> - NetScaler VPX 实例的 UUID
  2. 启动 NetScaler VPX 实例。

使用 Citrix Hypervisor 主机将 Intel X710/XL710 SR-IOV VF 分配给 NetScaler VPX 实例

要将 Intel X710/XL710 SR-IOV VF 分配给 NetScaler VPX 实例,请按照以下步骤操作:
  1. 在 Citrix Hypervisor 主机上运行以下命令以创建网络。
    xe network-create name-label=<network-name>
    示例:
    xe network-create name-label=SR-IOV-NIC-18 8ee59b73-7319-6998-cd69-b9fa3e8d7503
  2. 确定要配置 SR-IOV 网络的 NIC 的 PIF 通用唯一标识符 (UUID)。
    xe pif-list

                uuid ( RO)  : e2874343-f1de-1fa7-8fef-98547c348783
                device ( RO): eth18
    currently-attached ( RO): true
                  VLAN ( RO): -1
          network-uuid ( RO): f865bd85-44dd-b865-ab65-dcd6ae28c16e
  3. 将网络配置为 SR-IOV 网络。以下命令还会返回新创建的 SR-IOV 网络的 UUID:
    xe network-sriov-create network-uuid=<network-uuid> pif-uuid=<physical-pif-uuid>
    示例:
    xe network-sriov-create network-uuid=8ee59b73-7319-6998-cd69-b9fa3e8d7503 pif-uuid=e2874343-f1de-1fa7-8fef-98547c3487831629b44f-832a-084e-d67d-5d6d314d5e0f
    要获取有关 SR-IOV 网络参数的更多信息,请运行以下命令:
    [root@citrix-XS82-TOPO ~]# xe network-sriov-param-list uuid=1629b44f-832a-084e-d67d-5d6d314d5e0f

                  uuid ( RO): 1629b44f-832a-084e-d67d-5d6d314d5e0f
          physical-PIF ( RO): e2874343-f1de-1fa7-8fef-98547c348783
           logical-PIF ( RO): 85d52771-5814-c62d-45fa-f37b536144ff
       requires-reboot ( RO): false
    remaining-capacity ( RO): 32
  4. 创建虚拟接口 (VIF) 并将其附加到目标 VM。
    xe vif-create device=0 mac=b2:61:fc:ae:00:1d network-uuid=8ee59b73-7319-6998-cd69-b9fa3e8d7503 vm-uuid=b507e8a6-f5ca-18eb-561d-308218a9dd68
    3e1e2e58-b2ad-6dc0-61d4-1d149c9c6466
    注意:
    VM 的 NIC 索引号必须从 0 开始。
    使用以下命令查找 VM UUID:
    [root@citrix-XS82-TOPO ~]# xe vm-list
    uuid ( RO): b507e8a6-f5ca-18eb-561d-308218a9dd68
     name-label ( RW): sai-vpx-1
    power-state ( RO): halted

使用 Citrix Hypervisor 主机从 NetScaler 实例中移除 Intel X710/XL710 SR-IOV VF

要从 NetScaler VPX 实例中移除 Intel X710/XL710 SR-IOV VF,请执行以下步骤:
  1. 复制要销毁的 VIF 的 UUID。
  2. 在 Citrix Hypervisor 主机上运行以下命令以销毁 VIF。
    xe vif-destroy uuid=<vif-uuid>
    示例:
    [root@citrix-XS82-TOPO ~]# xe vif-destroy uuid=3e1e2e58-b2ad-6dc0-61d4-1d149c9c6466

在 SR-IOV 接口上配置链路聚合

要在链路聚合模式下使用 SR-IOV 虚拟功能 (VF),您需要禁用已创建的虚拟功能的欺骗检查。
在 Citrix Hypervisor 主机上,使用以下命令禁用欺骗检查:
ip link set \&lt;interface\_name\> vf \&lt;VF\_id\> spoofchk off
其中:
  • \&lt;interface\_name\> 是接口名称。
  • \&lt;VF\_id\> 是虚拟功能 ID。
禁用所有已创建的虚拟功能的欺骗检查后,重新启动 NetScaler VPX 实例,并配置链路聚合。有关说明,请参阅配置链路聚合。
重要:
将 SR-IOV VF 分配给 NetScaler VPX 实例时,请确保为 VF 指定 MAC 地址 00:00:00:00:00:00。

在 SR-IOV 接口上配置 VLAN

您可以在 SR-IOV 虚拟功能上配置 VLAN。有关说明,请参阅 配置 VLAN。
重要提示:
确保 Citrix Hypervisor 主机不包含 VF 接口的 VLAN 设置。

其他参考