NetScaler VPX

配置 NetScaler VPX 虚拟设备实例以使用 SR-IOV 网络接口

您可以使用以下网卡,在 Linux-KVM 平台上配置运行单根 I/O 虚拟化 (SR-IOV) 的 NetScaler VPX 实例:

  • 英特尔 82599 10G
  • 英特尔 X710 10G
  • 英特尔 XL710 40G
  • 英特尔 X722 10G

本节介绍如何操作:

  • 配置一个 NetScaler VPX 实例以使用 SR-IOV 网络接口
  • 在 SR-IOV 接口上配置静态 LA/LACP
  • 在 SR-IOV 接口上配置 VLAN

局限性

使用 Intel 82599、X710、XL710 和 X722 网卡时,请记住以下限制。不支持以下功能。

Intel 82599 网卡的限制

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

英特尔 X710 10G、英特尔 XL710 40G 和 英特尔 X722 10G 网卡的限制

  • L2 模式切换。
  • 管理分区(共享 VLAN 模式)。
  • 在群集中,当 XL710 网卡用作数据接口时,不支持巨型帧。
  • 当接口断开连接并重新连接时,接口列表会重新排序。
  • 接口参数配置(例如速度、双工和自动协商)不受支持。
  • 英特尔 X710 10G、英特尔 XL710 40G 和 英特尔 X722 10G 网卡的接口名称为 40/X
  • VPX 实例最多支持 16 个 英特尔 XL710/X710/X722 单根 I/O 虚拟化 接口 或 PCI 直通接口。

注意

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

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

示例:

# ip link set ens785f1 vf 0 trust on

先决条件

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

任务 英特尔 82599 网卡 英特尔 X710、XL710 和 X722 型号的网卡
  1. 将网卡添加到 KVM 主机。
- -
  1. 下载并安装最新的 Intel 驱动程序。
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(推荐)。
4.在 KVM 主机上启用 SR-IOV 虚拟功能 (VF)。在接下来两列的两个命令中:number_of_VFs = 您要创建的虚拟 VF 数量。device_name = 接口名称。 如果您使用的是 kernel 3.8 之前的版本,请将以下条目添加到 /etc/modprobe.d/ixgbe 文件中并重新启动 KVM 主机:options ixgbe max_vfs=<number_of_VFs>。如果您使用的是 kernel 3.8 或更高版本,请使用以下命令创建 VF:echo <number_of_VFs> > /sys/class/net/<device_name>/device/sriov_numvfs。请参见图 1 中的示例。 如果您使用的是 kernel 3.8 之前的版本,请将以下条目添加到 /etc/modprobe.d/i40e.conf 文件中并重新启动 KVM 主机:options i40e max_vfs=<number_of_VFs>。如果您使用的是 kernel 3.8 或更高版本,请使用以下命令创建 VF:echo<number_of_VFs> > /sys/class/net/<device_name>/device/sriov_numvfs。请参见图 2 中的示例。
  1. 通过将用于创建 VF 的命令添加到 rc.local 文件中,使 VF 持久化。
请参见图 3 中的示例。 请参见图 3 中的示例。

重要提示:

创建 SR-IOV VF 时,请确保不要为 VF 分配 MAC 地址。

图 1:在 KVM 虚拟化主机上,针对 Intel 82599 10G 网卡设备,启用 SR-IOV VF 功能。

82599 的 SR-IOV 虚拟功能

图 2: 在 KVM 主机上为 英特尔 X710 10G 和 XL710 40G 网卡启用 SR-IOV 虚拟功能。

适用于 X710 的 SR-IOV 虚拟功能

图 3:在 KVM 主机上为 Intel X722 万兆网卡启用 SR-IOV 虚拟功能。

适用于 X722 的 SR-IOV 虚拟功能

图 4:使 VF 持久化。

SR-IOV 虚拟功能 持久化

配置 NetScaler VPX 实例以使用 SR-IOV 技术网络接口

为了配置 NetScaler VPX 实例以使用 SR-IOV 网络接口,您需要执行以下步骤,并使用 Virtual Machine Manager 进行操作:

  1. 请关闭 NetScaler VPX 实例的电源。

  2. 选择 NetScaler VPX 实例,然后选择“打开”。

    配置 单根 I/O 虚拟化 虚拟机1

  3. 在 <KVM 上的虚拟机> 窗口中,选择 i 图标。

    配置 SR-IOV 虚拟机2

  4. 选择“添加硬件”。

    单根 I/O 虚拟化 虚拟机

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

    1. 选择“PCI 主机设备”。
    2. 在“主机设备”部分中,选择您已创建的 VF,然后单击“完成”。

    图 4:适用于 Intel 82599 10G 网卡的 VF

    适用于 Intel 82599 10G 网卡的 VF

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

    适用于 Intel XL710 40G 网卡的虚拟功能

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

    适用于 Intel X722 10G 网卡的虚拟功能

  6. 重复步骤 4 和 5 以添加您已创建的 VF。
  7. Power on the NetScaler VPX instance.
  8. NetScaler VPX 实例启动后,使用以下命令验证配置:

    show interface summary
    <!--NeedCopy-->
    

    输出显示了您配置的所有接口。

    图 6:Intel 82599 网卡的输出摘要。

    Intel 82599 网卡的输出摘要

    图 7。Intel X710 和 XL710 网卡的输出摘要。

    Intel X710 和 XL710 网卡的输出摘要

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

重要:

创建 SR-IOV VFs 时,请确保不要将 MAC 地址分配给这些 VFs。

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

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

其中:

  • Interface_name — 这个参数代表了接口的名称。
  • VF_id – 是虚拟功能 ID。

示例:

禁用欺骗检查

禁用所有已创建 VFs 的欺骗检查后。重新启动 NetScaler VPX 实例并配置链路聚合。有关详细说明,请参阅 配置链路聚合。

在 SR-IOV 接口上配置 VLAN

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

重要:

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

配置 NetScaler VPX 虚拟设备实例以使用 SR-IOV 网络接口