将 Citrix ADC VPX 实例配置为使用 SR-IOV 网络接口

您可以使用 Virtual Machine Manager 将 Linux-KVM 上运行的 Citrix ADC VPX 实例配置为对 Intel 82599 10G NIC 以及 X710 10G NIC 和 XL710 40G NIC 使用单根 I/O 虚拟化 (SR-IOV) 网络接口。

本节将介绍如何:

  • 将 Citrix ADC VPX 实例配置为使用 SR-IOV 网络接口
  • 在 SR-IOV 接口上配置静态 LA/LACP
  • 在 SR-IOV 接口上配置 VLAN

限制

使用 Intel 82599 NIC、X710 NIC、XL710 NIC 时请注意一些限制。不支持以下功能。

Intel 82599 NIC 的限制

  • L2 模式切换
  • 管理分区(共享 VLAN 模式)
  • 高可用性(主动-主动模式
  • Jumbo 帧。
  • IPv6:如果您至少有一个 SR-IOV 接口,则在 VPX 实例中最多只能配置 30 个唯一的 IPv6 地址。
  • 不支持通过“ip 链接”命令对 SRIOV VF 接口的虚拟机管理程序进行 VLAN 配置。
  • 不支持速度、双工和自动协商等接口参数配置。

X710 10G 和 XL710 40G NIC 的限制

  • L2 模式切换。
  • 在群集中,XL710 NIC 用作数据接口时,不支持 Jumbo 帧。
  • 接口断开连接并重新连接时,接口列表会重新排序。
  • 不支持速度、双工和自动协商等接口参数配置。
  • XL710 NIC 和 X710 NIC 的接口名称均为 40/X
  • 在 VPX 实例上,最多可以支持 16 个 Intel XL710/X710 SRIOV 或 PCI 直通接口。

注意:要使 IPv6 与 X710 10G 和 XL710 40G 网卡一起工作,您需要通过在 KVM 主机上键入以下命令来 启用虚拟函数 (VF) 上的信任模式:

# ip link set <PNIC> <VF> trust on

例如:

# ip link set ens785f1 vf 0 trust on

必备条件

在将 Citrix ADC VPX 实例配置为使用 SR-IOV 网络接口之前,请完成以下先决任务。有关如何完成相应任务的详细信息,请参阅 NIC 列。

任务 82599 NIC X710 NIC 和 XL710 NIC
1. 将网卡添加到 KVM 主机。 - -
2. 下载并安装最新的英特尔驱动程序。 IXGBE 驱动程序 I40E 驱动程序
3. 在 KVM 主机上将驱动程序列入黑名单。 在 /etc/modprobe.d/黑名单.conf 文件中添加以下条目: 黑名单 ixgbevf。使用 IXGBE 驱动程序版本 4.3.15(建议)。 在 /etc/modprobe.d/黑名单.conf 文件中添加以下条目: 黑名单 i40evf。使用 i40e 驱动程序版本 2.0.26(推荐)。
4. 在 KVM 主机上启用 SR-IOV 虚拟功能 (VF)。在接下来两列中的两个命令中: Number _of_VFS = 要创建的虚拟 VF 数。设备名称 = 接口名称。 如果您使用的是早期版本的内核 3.8,请将以下条目添加到 /etc/modprobe.d/ixgbe 文件中,然后重新启动 KVM 主机:options ixgbe max_vfs=<number_of_VFs>。如果您使用的是内核 3.8 版本或更高版本,请使用以下命令创建 VF:echo <number_of_VFs> > /sys/class/net/<device_name>/device/sriov_numvfs。请参阅图 1 中的示例。 如果您使用的是早期版本的内核 3.8,请将以下条目添加到 /etc/modprobe.d/i40e.conf 文件中,然后重新启动 KVM 主机:options i40e max_vfs=<number_of_VFs>。如果您使用的是内核 3.8 版本或更高版本,请使用以下命令创建 VF:echo<number_of_VFs> > /sys/class/net/<device_name>/device/sriov_numvfs。见图 2 中的例子。
5. 通过向 rc.local 文件中添加用于创建 VF 的命令,将 VF 设为永久存在。 请参阅图 3 中的示例。 请参阅图 3 中的示例。

重要

创建 SR-IOV VF 时,请务必不要将 MAC 地址分配给 VF。

图 1:在 KVM 主机上为 82599 10G NIC 启用 SR-IOV VF。

本地化后的图片

图 2: 在 KVM 主机上为 X710 10G 和 XL710 40G 网卡启用 SR-IOV VF。

本地化后的图片

图 3:使 VF 持久化。

本地化后的图片

将 Citrix ADC VPX 实例配置为使用 SR-IOV 网络接口

要使用虚拟机管理器将 Citrix ADC VPX 实例配置为使用 SR-IOV 网络接口,请完成以下步骤:

  1. 关闭 Citrix ADC VPX 实例的电源。

  2. 选择 Citrix ADC VPX 实例,然后选择打开。

    本地化后的图片

  3. 在 <virtual_machine on KVM> 窗口中,选择 i 图标。

    本地化后的图片

  4. 选择 添加硬件

    本地化后的图片

  5. 在“Add New Virtual Hardware”(添加新虚拟硬件)对话框中,执行以下操作:

    a. 选择 PCI Host Device(PCI 主机设备)。 b. 在“主机设备”部分,选择您创建的 VF,然后单击“完成”。

    图 4:适用于 82599 10G NIC 的 VF

    本地化后的图片

    图 5:XL710 网卡的 VF

    本地化后的图片

  6. 重复步骤 4 和 5 以添加所创建的 VF。
  7. 打开 Citrix ADC VPX 实例的电源。
  8. Citrix ADC VPX 实例打开电源后,使用以下命令验证配置:

    显示界面摘要

输出内容显示您已配置的所有接口。

图 6:82599 的输出摘要。

本地化后的图片

图 7. X710 和 XL710 网卡的输出汇总。

本地化后的图片

在SR-IOV 接口上配置静态 LAC/LACP

重要

创建 SR-IOV VF 时,请务必不要将 MAC 地址分配给 VF。

要在链路聚合模式下使用 SR-IOV VF,请禁用针对已创建的 VF 的欺骗检查。在 KVM 主机上,使用以下命令禁用欺骗检查:

*ip link set \<interface\_name\> vf \<VF\_id\> spoofchk off*

其中,

  • Interface_name - 接口名称。
  • VF_id - 虚拟功能 ID。

例如

本地化后的图片

对已创建的所有 VF 禁用欺骗检查后,请执行以下操作。重新启动 Citrix ADC VPX 实例并配置链路聚合。有关详细说明,请参阅 配置链接聚合

在 SR-IOV 接口上配置 VLAN

您可以在 SR-IOV VF 上配置 VLAN。有关详细说明,请参阅 配置 VLAN

重要

请确保 KVM 主机不包含 VF 接口的 VLAN 设置。