将 VPX 实例配置为使用单根 I/O 虚拟化 (SR-IOV) 网络接口
在 Citrix Hypervisor 上安装和配置 NetScaler VPX 实例后,您可以将虚拟设备配置为使用 SR-IOV 网络接口。
支持以下 NIC:
- Intel 82599 10G
- Intel X710 10G
- Intel XL710 40G
限制
Citrix Hypervisor 不支持 SR-IOV 接口上的某些功能。 以下各节列出了 Intel 82599、Intel X710 和 Intel XL710 网卡的限制。
Intel 82599 网卡的限制
Intel 82599 网卡不支持以下功能:
- L2 模式切换
- 群集
- 管理分区 [共享 VLAN 模式]
- 高可用性 [主主模式]
- 巨型帧
- 群集环境中的 IPv6 协议
Intel X710 10G 和 Intel XL710 40G 网卡的限制
Intel X710 10G 和 Intel XL710 40G 网卡有以下限制:
- 不支持 L2 模式切换。
- 不支持管理员分区(共享 VLAN 模式)。
- 在群集中,XL710 NIC 用作数据接口时,不支持巨型帧。
- 接口断开连接并重新连接时,接口列表会重新排序。
- 不支持速度、双工和自动协商等接口参数配置。
- 对于 Intel X710 10G 和 Intel XL710 40G 网卡,该接口都是 40/x 接口。
- VPX 实例最多只能支持 16 个 Intel X710/XL710 SR-IOV 接口。
注意:
要使 Intel X710 10G 和 Intel XL710 40G NIC 支持 IPv6,请在 Citrix Hypervisor 主机上键入以下命令在虚拟函数 (VF) 上启用信任模式:
# ip link set <PNIC> <VF> trust on
Example:
# ip link set ens785f1 vf 0 trust on
Intel 82599 网卡的必备条件
在 Citrix Hypervisor 主机上,确保您:
- 向主机中添加 Intel 82599 NIC (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 的数量。
- 验证是否已在 BIOS 中启用 SR-IOV。
注意:
建议使用 IXGBE 驱动程序版本 3.22.3。
使用 Citrix Hypervisor 主机将 Intel 82599 SR-IOV VF 分配给 NetScaler VPX 实例
要将 Intel 82599 SR-IOV VF 分配给 NetScaler VPX 实例,请按照以下步骤操作:
-
在 Citrix Hypervisor 主机上,使用以下命令将 SR-IOV VF 分配给 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> 是 Citrix Hypervisor 主机的 UUID。
-
<NetScaler VM UUID> 为 NetScaler VPX 实例的 UUID。
-
<interface name> 是 SR-IOV VF 的接口。
-
<MAC address > 为 SR-IOV VF 的 MAC 地址。
注意:
指定要在 args:Mac= 参数中使用的 Mac 地址,如果未指定,
iovirt
脚本将随机生成并分配一个 MAC 地址。 此外,如果要在链路聚合模式下使用 SR-IOV VF,请务必将 MAC 地址指定为 00:00:00:00:00:00。 -
-
启动 NetScaler VPX 实例。
使用 Citrix Hypervisor 主机将 Intel 82599 SR-IOV VF 取消分配给 NetScaler VPX 实例
如果您分配的 SR-IOV 虚拟文件不正确,或者要修改已分配的 SR-IOV VF,则需要取消分配 SR-IOV 虚拟文件并将其重新分配给 NetScaler VPX 实例。
要取消分配给 NetScaler VPX 实例的 SR-IOV 网络接口,请执行以下步骤:
-
在 Citrix Hypervisor 主机上,使用以下命令将 SR-IOV VF 分配给 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> - Citrix Hypervisor 主机的 UUID。
-
** <Netscaler_VM_UUID>-NetScaler VPX 实例的 UUID
-
-
启动 NetScaler VPX 实例。
使用 Citrix Hypervisor 主机将 Intel X710/XL710 SR-IOV VF 分配给 NetScaler VPX 实例
要将 Intel X710/XL710 SR-IOV VF 分配给 NetScaler VPX 实例,请按照以下步骤操作:
-
在 Citrix Hypervisor 主机上运行以下命令来创建网络。
xe network-create name-label=<network-name> <!--NeedCopy-->
Example:
xe network-create name-label=SR-IOV-NIC-18 8ee59b73-7319-6998-cd69-b9fa3e8d7503 <!--NeedCopy-->
-
确定要在其上配置 SR-IOV 网络的网卡的 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-->
Example:
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-->
注意:
虚拟机的 NIC 索引号必须以 0 开头。
使用以下命令查找虚拟机 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 实例中移除 Intel X710/XL710 SR-IOV VF
要从 NetScaler VPX 实例中删除 Intel X710/XL710 SR-IOV VF,请按照以下步骤操作:
-
复制要销毁的 VIF 的 UUID。
-
在 Citrix Hypervisor 主机上运行以下命令以销毁 VIF。
xe vif-destroy uuid=<vif-uuid> <!--NeedCopy-->
Example:
[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 网卡的必备条件
- 使用 Citrix Hypervisor 主机将 Intel 82599 SR-IOV VF 分配给 NetScaler VPX 实例
- 使用 Citrix Hypervisor 主机将 Intel 82599 SR-IOV VF 取消分配给 NetScaler VPX 实例
- 使用 Citrix Hypervisor 主机将 Intel X710/XL710 SR-IOV VF 分配给 NetScaler VPX 实例
- 使用 Citrix Hypervisor 主机从 NetScaler 实例中移除 Intel X710/XL710 SR-IOV VF
- 在 SR-IOV 接口上配置链路聚合
- 在 SR-IOV 接口上配置 VLAN