配置 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 型号的网卡 |
|---|---|---|
|
- | - |
|
IXGBE 驱动程序 | I40E 驱动程序 |
|
请在 /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 中的示例。 |
|
请参见图 3 中的示例。 | 请参见图 3 中的示例。 |
重要提示:
创建 SR-IOV VF 时,请确保不要为 VF 分配 MAC 地址。
图 1:在 KVM 虚拟化主机上,针对 Intel 82599 10G 网卡设备,启用 SR-IOV VF 功能。

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

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

图 4:使 VF 持久化。

配置 NetScaler VPX 实例以使用 SR-IOV 技术网络接口
为了配置 NetScaler VPX 实例以使用 SR-IOV 网络接口,您需要执行以下步骤,并使用 Virtual Machine Manager 进行操作:
-
请关闭 NetScaler VPX 实例的电源。
-
选择 NetScaler VPX 实例,然后选择“打开”。

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

-
选择“添加硬件”。

-
在“添加新虚拟硬件”对话框中,执行以下操作:
- 选择“PCI 主机设备”。
- 在“主机设备”部分中,选择您已创建的 VF,然后单击“完成”。
图 4:适用于 Intel 82599 10G 网卡的 VF

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

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

- 重复步骤 4 和 5 以添加您已创建的 VF。
- Power on the NetScaler VPX instance.
-
NetScaler VPX 实例启动后,使用以下命令验证配置:
show interface summary <!--NeedCopy-->输出显示了您配置的所有接口。
图 6:Intel 82599 网卡的输出摘要。

图 7。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 设置。