NetScaler VPX

将 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 模式)。
  • 高可用性(主动-主动模式)。
  • 巨型帧.
  • 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 用作数据接口时,不支持巨型帧。
  • 接口断开连接并重新连接时,接口列表会重新排序。
  • 不支持速度、双工和自动协商等接口参数配置。
  • Intel X710 10G、Intel XL710 40G 和 Intel X722 10G NIC 的接口名称为 40/X
  • 在 VPX 实例上,最多可以支持 16 个 Intel XL710/X710/X722 SRIOV 或 PCI 直通接口。

注意:

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

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

Example:

# ip link set ens785f1 vf 0 trust on

必备条件

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

任务 Intel 82599 NIC Intel X710、XL710 和 X722 NIC
1.将 NIC 添加到 KVM 主机。 - -
2.下载并安装最新的英特尔驱动程序。 IXGBE 驱动程序 I40E 驱动程序
  1. 将 KVM 主机上的驱动程序列入阻止名单。
在 /etc/modprobe.d/blacklist.conf 文件中添加以下条目:blacklist ixgbevf。 使用 IXGBE 驱动程序版本 4.3.15(建议)。 在 /etc/modprobe.d/blacklist.conf 文件中添加以下条目:blacklist i40evf。 使用 i40e 驱动程序版本 2.0.26(建议)。
  1. 在 KVM 主机上启用 SR-IOV 虚拟功能 (VF)。 在接下来两列中的两个命令中:number_of_VFs = 要创建的虚拟 VF 的数量。 device_name = 接口名称。
如果使用的是 3.8 版之前的内核,请向 /etc/modprobe.d/ixgbe 文件中添加以下条目并重新启动 KVM 主机:options ixgbe max_vfs=&lt;number_of_VFs&gt;。 如果使用的是内核 3.8 版或更高版本,请使用以下命令创建 VF:echo &lt;number_of_VFs&gt; &gt; /sys/class/net/&lt;device_name&gt;/device/sriov_numvfs。 请参阅图 1 中的示例。 如果使用的是 3.8 版之前的内核,请向 /etc/modprobe.d/i40e.conf 文件中添加以下条目并重新启动 KVM 主机:options i40e max_vfs=&lt;number_of_VFs&gt;。 如果使用的是内核 3.8 版或更高版本,请使用以下命令创建 VF:echo&lt;number_of_VFs&gt; &gt; /sys/class/net/&lt;device_name&gt;/device/sriov_numvfs。 请参阅图 2 中的示例。
  1. 通过将用于创建 VF 的命令添加到 rc.local 文件,使 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 设为永久存在。

SR-IOV VF 持久性

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

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

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

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

    配置 SR-IOV VM1

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

    配置 SR-IOV VM2

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

    SR-IOV VM

  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
    <!--NeedCopy-->
    

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

    图 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 \&#060;interface\_name\&#062; vf \&#060;VF\_id\&#062; 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 网络接口