配置 VPX 实例以使用单根 I/O 虚拟化 (SR-IOV) 网络接口
在 Citrix Hypervisor 上安装并配置 NetScaler VPX 实例后,您可以配置虚拟设备以使用 SR-IOV 网络接口。
支持以下网卡型号:
- 英特尔 82599 10G
- 英特尔 X710 10G
- Intel XL710 40 千兆以太网卡
限制事项
Citrix Hypervisor™ 在 SR-IOV 接口上不支持某些功能。针对 Intel 82599、Intel X710 和 Intel XL710 网卡的限制,将在以下部分中列出。
Intel 82599 网卡的限制
Intel 82599 网卡不支持以下功能:
- L2 模式切换
- 集群功能
- 管理分区 [共享 VLAN 模式]
- 高可用性 [主动-主动模式]
- 巨型帧
- 集群环境中的 IPv6 协议
英特尔 X710 10G 和 英特尔 XL710 40G 网卡的限制
英特尔 X710 10G 和 英特尔 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 NIC 所需满足的先决条件
在 Citrix Hypervisor 主机上,请确保您已完成以下操作:
- 将 Intel 82599 NIC (网卡) 添加到主机。
-
通过将以下条目添加到 /etc/modprobe.d/blacklist.conf 文件,将
ixgbevf驱动程序列入黑名单:blacklist ixgbevf
-
通过将以下条目添加到 /etc/modprobe.d/ixgbe 文件,启用 SR-IOV 虚拟功能 (VF):
options ixgbe max_vfs=<number_of_VFs>
其中 <number_VFs> 是您要创建的 SR-IOV VF 的数量。
- 验证 SR-IOV 在 BIOS 中已启用。
注意:
建议使用 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 实例,请按照以下步骤操作:
-
On the Citrix Hypervisor host, use the following command to assign the SR-IOV VFs to the NetScaler VPX instance:
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.
-
<接口名称> 是 SR-IOV 虚拟功能的接口。
-
<MAC address > is the MAC address of the SR-IOV VF.
注意:
在 args:Mac= 参数中指定要使用的 MAC 地址,如果未指定,
iovirt脚本将随机生成并分配一个 MAC 地址。此外,如果要在链路聚合模式下使用 SR-IOV VF,请确保将 MAC 地址指定为 00:00:00:00:00:00。 -
-
引导启动 NetScaler VPX 虚拟机实例。
Unassign Intel 82599 SR-IOV VFs to the NetScaler VPX instance by using the Citrix Hypervisor host
如果您分配了错误的 SR-IOV VF,或者想要修改已分配的 SR-IOV VF,则需要将 SR-IOV VF 从 NetScaler VPX 实例取消分配并重新分配。
要取消分配分配给 NetScaler VPX 实例的 SR-IOV 网络接口,请执行以下步骤:
-
在 Citrix 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.
使用 Citrix Hypervisor 主机将 英特尔 X710/XL710 单根 I/O 虚拟化 虚拟功能分配给 NetScaler VPX 实例
要将 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-->
使用 Citrix Hypervisor 主机从 NetScaler 实例中移除 英特尔 X710/XL710 单根 I/O 虚拟化 虚拟功能
要从 NetScaler VPX 实例中移除 Intel X710/XL710 SR-IOV 虚拟功能,请按照以下步骤操作:
-
复制要销毁的 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。有关说明,请参阅 Configuring a VLAN。
重要提示:
确保 Citrix Hypervisor 主机不包含虚拟功能接口的虚拟局域网设置。
其他参考
在本文中
- 限制事项
- 使用 Intel 82599 NIC 所需满足的先决条件
- Assign Intel 82599 SR-IOV VFs to the NetScaler VPX instance by using the Citrix Hypervisor host
- Unassign Intel 82599 SR-IOV VFs to the NetScaler VPX instance by using the Citrix Hypervisor host
- 使用 Citrix Hypervisor 主机将 英特尔 X710/XL710 单根 I/O 虚拟化 虚拟功能分配给 NetScaler VPX 实例
- 使用 Citrix Hypervisor 主机从 NetScaler 实例中移除 英特尔 X710/XL710 单根 I/O 虚拟化 虚拟功能
- 在 SR-IOV 接口上配置链路聚合
- 在 SR-IOV 接口上配置 VLAN
- 其他参考