Citrix ADC

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

可以使用以下 NIC 通过单根 I/O 虚拟化 (SR-IOV) 配置在 Linux-KVM 平台上运行的 Citrix ADC VPX 实例:

  • Intel 82599 10G
  • Intel X710 10G
  • Intel XL710 40G
  • Intel X722 10G

本节将介绍如何:

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

限制

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

Intel 82599 NIC 的限制

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

Intel X710 10G、Intel XL710 40G 和 Intel X722 10G NIC 的限制

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

注意: 对于支持 IPv6 的 Intel X710 10G、Intel XL710 40G 和 Intel X722 10G NIC,您需要在 KVM 主机上键入以下命令,对虚拟功能 (VF) 启用信任模式:

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

示例:

# ip link set ens785f1 vf 0 trust on

必备条件

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

任务 Intel 82599 NIC Intel X710、XL710 和 X722 NIC
1. 向 KVM 主机添加 NIC - -
2. 下载并安装最新的 Intel 驱动程序。 IXGBE 驱动程序 I40E 驱动程序
3. 在 KVM 主机上将驱动程序列入黑名单。 在 /etc/modprobe.d/blacklist.conf 文件中添加以下条目:blacklist ixgbevf。使用 IXGBE 驱动程序版本 4.3.15(建议)。 在 /etc/modprobe.d/blacklist.conf 文件中添加以下条目:blacklist i40evf。使用 i40e 驱动程序版本 2.0.26(建议)。
4. 在 KVM 主机上启用 SR-IOV 虚拟功能 (VF)。在接下来两列中的两个命令中:number_of_VFs = 要创建的虚拟 VF 的数量。device_name = 接口名称。 如果您使用的是内核 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 主机上为 Intel 82599 10G NIC 启用 SR-IOV VF。

适用于 82599 的 SR-IOV VF

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

适用于 X710 的 SR-IOV VF

图 3: 为 Intel X722 10G NIC 启用 KVM 主机上的 SR-IOV VF。

适用于 X722 的 SR-IOV VF

图 4:将 VF 设为永久存在。

本地化后的图片

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

要使用 Virtual Machine Manager 将 Citrix ADC VPX 实例配置为使用 SR-IOV 网络接口,请完成以下步骤:

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

  2. 选择 Citrix ADC VPX 实例,然后选择“Open”(打开)。

    本地化后的图片

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

    本地化后的图片

  4. 选择 Add Hardware(添加硬件)。

    本地化后的图片

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

    1. 选择“PCI Host Device”(PCI 主机设备)。
    2. 在“Host Device”(主机设备)部分中,选择所创建的 VF,然后单击“Finish”(完成)。

    图 4:82599 10G NIC 的 VF

    适用于 Intel 82599 10G NIC 的 VF

    图 5:适用于 Intel XL710 40G NIC 的 VF

    适用于 Intel XL710 40G NIC 的 VF

    图 6:适用于 Intel X722 10G NIC 的 VF

    适用于 Intel X722 10G NIC 的 VF

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

    show interface summary
    

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

    图 6:Intel 82599 NIC 的输出摘要。

    Intel 82599 NIC 的输出摘要

    图 7. Intel X710 和 XL710 NIC 的输出摘要。

    Intel X710 和 XL710 NIC 的输出摘要

在 SR-IOV 接口上配置静态 LA/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 设置。

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