配置 VPX 实例以使用单根 I/O 虚拟化 (SR-IOV) 网络接口
在 Citrix Hypervisor 上安装并配置 NetScaler VPX 实例后,您可以将虚拟设备配置为使用 SR-IOV 网络接口。
以下网卡受到支持:
- 英特尔 82599 10G
- 英特尔 X710 10G
- 英特尔 XL710 40G
局限性
Citrix Hypervisor™ 不支持 SR-IOV 接口上的某些功能。英特尔 82599、英特尔 X710 和英特尔 XL710 网卡的限制列在以下部分中。
英特尔 82599 网卡的限制
英特尔 82599 网卡不支持以下功能:
- L2 模式切换
- 集群功能
- 管理分区 [共享 VLAN 模式]
- 高可用性 [主动-主动模式]
- 巨型帧
- 集群环境中的 IPv6 协议
英特尔 X710 10G 和 英特尔 XL710 40G 网卡的限制
Intel X710 10G 和 Intel XL710 40G 网卡存在以下几点限制:
- 不支持 L2 模式切换。
- 不支持管理分区(共享 VLAN 模式)。
- 在集群中,当 XL710 网卡用作数据接口时,不支持巨型帧。
- 接口断开连接并重新连接时,接口列表会重新排序。
- 诸如速度、双工和自动协商等接口参数的配置均不受支持。
- 对于 Intel X710 10G 和 Intel XL710 40G 网卡,接口显示为 40/x 接口。
- VPX 实例上最多只支持 16 个 Intel X710/XL710 SR-IOV 接口。
注意:
对于 Intel X710 10G 和 Intel XL710 40G 网卡,若要支持 IPv6,请在 Citrix Hypervisor 主机上键入以下命令,在虚拟功能 (VF) 上启用信任模式:
# ip link set <PNIC> <VF> trust on示例:
# ip link set ens785f1 vf 0 trust on
Intel 82599 网卡的先决条件
在 Citrix Hypervisor 主机上,请确保您执行以下操作:
- 将 Intel 82599 NIC (网卡) 添加到主机。
-
通过将以下条目添加到 /etc/modprobe.d/blacklist.conf 文件中,将
ixgbevf驱动程序列入黑名单:将 ixgbevf 列入黑名单
-
通过将以下条目添加到 /etc/modprobe.d/ixgbe 文件中,启用 SR-IOV 虚拟功能 (VF):
options ixgbe max_vfs=<number_of_VFs>
其中 <number_VFs> 是您要创建的 SR-IOV VF 的数量。
- 验证 BIOS 中是否已启用 SR-IOV。
注意:
建议使用 IXGBE 驱动程序版本 3.22.3。
Assign Intel 82599 SR-IOV VFs to the NetScaler VPX instance by using the Citrix Hypervisor host
要将 Intel 82599 SR-IOV VF 分配给 NetScaler VPX 实例,请按照以下步骤操作:
-
在 Citrix Hypervisor 主机上,使用以下命令将单根 I/O 虚拟化 (SR-IOV) 虚拟功能分配给 NetScaler VPX 实例:
xe host-call-plugin plugin=iovirt host-uuid=<Xen host UUID> fn=assign_free_vf args:uuid=<NetScaler VM UUID> args:ethdev=<interface name> args:mac=<Mac addr>
其中:
-
<Xen host UUID> is the UUID of the Citrix Hypervisor host.
-
<NetScaler VM UUID> is the UUID of the NetScaler VPX instance.
-
<interface name> is the interface for the SR-IOV VFs.
-
<MAC 地址 > 是 SR-IOV 虚拟功能 的 MAC 地址。
注意:
在 args:Mac= 参数中指定您要使用的 MAC 地址,如果未指定,
iovirt脚本将随机生成并分配一个 MAC 地址。此外,如果您想在链路聚合模式下使用 SR-IOV VF,请确保将 MAC 地址指定为 00:00:00:00:00:00。 -
-
对 NetScaler VPX 实例进行启动操作。
使用 Citrix 虚拟机管理程序 主机将 Intel 82599 单根 I/O 虚拟化 虚拟功能 从 NetScaler VPX 实例中解除分配
如果您分配了错误的 SR-IOV VF,或者您想修改已分配的 SR-IOV VF,您需要将 SR-IOV VF 从 NetScaler VPX 实例取消分配并重新分配。
要取消分配分配给 NetScaler VPX 实例的 SR-IOV 网络接口,请按照以下步骤操作:
-
在 思杰 Hypervisor 主机上,请使用以下命令将 SR-IOV 虚拟功能分配给 NetScaler VPX 实例,并重新启动该 NetScaler VPX 实例:
xe host-call-plugin plugin=iovirt host-uuid=<Xen_host_UUID> fn=unassign_all args:uuid=<Netscaler_VM_UUID>
其中:
-
<Xen_host_UUID> - The UUID of the Citrix Hypervisor host.
-
<Netscaler_VM_UUID> - The UUID of the NetScaler VPX instance
-
-
Boot the NetScaler VPX instance.
Assign Intel X710/XL710 SR-IOV VFs to the NetScaler VPX instance by using the Citrix Hypervisor host
要将 Intel X710/XL710 SR-IOV 虚拟功能分配给 NetScaler VPX 实例,请按照以下步骤操作:
-
在 Citrix Hypervisor 主机上运行以下命令以创建网络。
xe network-create name-label=<network-name> <!--NeedCopy-->示例:
xe network-create name-label=SR-IOV-NIC-18 8ee59b73-7319-6998-cd69-b9fa3e8d7503 <!--NeedCopy--> -
确定要配置 SR-IOV 网络的 NIC 的 PIF 通用唯一标识符 (UUID)。
xe pif-list uuid ( RO) : e2874343-f1de-1fa7-8fef-98547c348783 device ( RO): eth18 currently-attached ( RO): true VLAN ( RO): -1 network-uuid ( RO): f865bd85-44dd-b865-ab65-dcd6ae28c16e <!--NeedCopy--> -
将网络配置为 SR-IOV 网络。以下命令还会返回新创建的 SR-IOV 网络的 UUID:
xe network-sriov-create network-uuid=<network-uuid> pif-uuid=<physical-pif-uuid> <!--NeedCopy-->示例:
xe network-sriov-create network-uuid=8ee59b73-7319-6998-cd69-b9fa3e8d7503 pif-uuid=e2874343-f1de-1fa7-8fef-98547c3487831629b44f-832a-084e-d67d-5d6d314d5e0f <!--NeedCopy-->要获取有关 SR-IOV 网络参数的更多信息,请运行以下命令:
[root@citrix-XS82-TOPO ~]# xe network-sriov-param-list uuid=1629b44f-832a-084e-d67d-5d6d314d5e0f uuid ( RO): 1629b44f-832a-084e-d67d-5d6d314d5e0f physical-PIF ( RO): e2874343-f1de-1fa7-8fef-98547c348783 logical-PIF ( RO): 85d52771-5814-c62d-45fa-f37b536144ff requires-reboot ( RO): false remaining-capacity ( RO): 32 <!--NeedCopy--> -
创建一个虚拟接口 (VIF) 并将其附加到目标 VM。
xe vif-create device=0 mac=b2:61:fc:ae:00:1d network-uuid=8ee59b73-7319-6998-cd69-b9fa3e8d7503 vm-uuid=b507e8a6-f5ca-18eb-561d-308218a9dd68 3e1e2e58-b2ad-6dc0-61d4-1d149c9c6466 <!--NeedCopy-->注意:
VM 的 NIC 索引号必须从 0 开始。
使用以下命令查找 VM UUID:
[root@citrix-XS82-TOPO ~]# xe vm-list uuid ( RO): b507e8a6-f5ca-18eb-561d-308218a9dd68 name-label ( RW): sai-vpx-1 power-state ( RO): halted <!--NeedCopy-->
Remove Intel X710/XL710 SR-IOV VFs from the NetScaler instance by using the Citrix Hypervisor host
为了从 NetScaler VPX 实例中成功移除一个 Intel X710/XL710 SR-IOV VF,请您务必按照以下详细步骤进行操作:
-
复制要销毁的 VIF 的 UUID。
-
在 Citrix Hypervisor 主机上运行以下命令以销毁 VIF。
xe vif-destroy uuid=<vif-uuid> <!--NeedCopy-->示例:
[root@citrix-XS82-TOPO ~]# xe vif-destroy uuid=3e1e2e58-b2ad-6dc0-61d4-1d149c9c6466 <!--NeedCopy-->
在 SR-IOV 接口上配置链路聚合
要在链路聚合模式下使用 SR-IOV 虚拟功能 (VF),您需要为您已创建的虚拟功能禁用欺骗检查。
在 Citrix Hypervisor 主机上,使用以下命令禁用欺骗检查:
ip link set <interface_name> vf <VF_id> spoofchk off
其中:
- <interface_name> 是指代该网络接口的名称。
- <VF_id> 是虚拟功能 ID。
禁用所有已创建的虚拟功能的欺骗检查后,重新启动 NetScaler VPX 实例,并配置链路聚合。有关说明,请参阅配置链路聚合。
重要提示:
在将 SR-IOV VF 分配给 NetScaler VPX 实例时,请确保为 VF 指定 MAC 地址 00:00:00:00:00:00。
在 SR-IOV 接口上配置 VLAN
您可以在 SR-IOV 虚拟功能上配置 VLAN。有关说明,请参阅 配置 VLAN。
重要提示:
请确保 Citrix Hypervisor 主机不包含用于 VF 接口的 VLAN 设置。
其他参考
在本文中
- 局限性
- Intel 82599 网卡的先决条件
- Assign Intel 82599 SR-IOV VFs to the NetScaler VPX instance by using the Citrix Hypervisor host
- 使用 Citrix 虚拟机管理程序 主机将 Intel 82599 单根 I/O 虚拟化 虚拟功能 从 NetScaler VPX 实例中解除分配
- Assign Intel X710/XL710 SR-IOV VFs to the NetScaler VPX instance by using the Citrix Hypervisor host
- Remove Intel X710/XL710 SR-IOV VFs from the NetScaler instance by using the Citrix Hypervisor host
- 在 SR-IOV 接口上配置链路聚合
- 在 SR-IOV 接口上配置 VLAN
- 其他参考