配置 NetScaler VPX 实例以利用 Azure 加速网络功能
加速网络可为虚拟机启用单根 I/O 虚拟化 (SR-IOV) 虚拟功能 (VF) 网卡,从而提高网络性能。您可以将此功能用于需要以更高吞吐量、可靠流式传输和更低 CPU 利用率发送或接收数据的繁重工作负载。 当网卡启用加速网络时,Azure 会将网卡现有的半虚拟化 (PV) 接口与 SR-IOV VF 接口捆绑在一起。对 SR-IOV VF 接口的支持可启用并增强 NetScaler VPX 实例的吞吐量。
加速网络能够为用户带来以下优势:
- 更低的延迟
- 更高的每秒数据包数 (pps) 性能
- 增强的吞吐量
- 减少抖动
- 降低 CPU 利用率
注意:
从 13.0 版本 76.29 开始,NetScaler VPX 实例支持 Azure 加速网络。
先决条件
- 确保您的 VM 大小符合 Azure 加速网络的要求。
- 在任何网卡上启用加速网络之前,请停止 VM(单个或可用性集中的 VM)。
限制条件
加速网络只能在某些实例类型上启用。有关更多信息,请参阅 支持的实例类型。
支持加速网络的网络接口卡
Azure 提供 迈络思 ConnectX3、ConnectX4 和 ConnectX5 网络接口卡,这些卡以 SR-IOV 模式运行,用于实现加速网络功能。
When accelerated networking is enabled on a NetScaler VPX interface, Azure bundles either ConnectX3, ConnectX4, or ConnectX5 interface with the existing PV interface of a NetScaler VPX appliance.
有关在将接口附加到 VM 之前启用加速网络的更多信息,请参阅 创建具有加速功能的网络接口。
有关在 VM 上的现有接口上启用加速网络的更多信息,请参阅 在 VM 上启用现有接口。
如何使用 Azure 控制台在 NetScaler VPX 实例上启用加速网络
您可以使用 Azure 控制台或 Azure PowerShell 在特定接口上启用加速网络。
执行以下步骤,通过使用 Azure 可用性集或可用性区域启用加速网络。
-
登录到 Azure 门户,并导航到 Azure 应用商店。

-
在 Azure 应用商店 中,搜索 NetScaler 虚拟设备。

-
选择非 FIPS NetScaler 计划以及许可证,然后单击 创建。

创建 NetScaler 页面出现。
-
在“基本信息”选项卡中,创建资源组。在“参数”选项卡下,输入区域、管理员用户名、管理员密码、许可证类型 (VM SKU) 和其他字段的详细信息。

-
点击“下一步 : VM 配置 >”。
在“VM 配置”页面上,执行以下操作:
- 配置公共 IP 域名后缀。
- 启用或禁用“Azure 监视指标”。
- 启用或禁用“后端自动缩放™”。

-
点击“下一步: 网络和附加设置 >”。
在“网络和附加设置”页面上,创建启动诊断帐户并配置网络设置。
在“加速网络”部分下,您可以选择分别针对管理接口、客户端接口和服务器接口启用或禁用加速网络。

-
点击“下一步: 审查 + 创建 >”。
验证成功后,审查基本设置、VM 配置、网络和附加设置,然后点击“创建”。Azure 资源组可能需要一些时间才能使用所需的配置创建完成。

-
部署完成后,选择资源组以查看配置详细信息。

-
要验证加速网络配置,请选择虚拟机 > 网络。每个 NIC 的加速网络状态显示为已启用或已禁用。

使用 Azure PowerShell 命令启用加速网络
如果您需要在创建 VM 后启用加速网络,可以使用 Azure PowerShell 进行操作。
注意:
确保在使用 Azure PowerShell 启用加速网络之前停止 VM。
执行以下步骤以使用 Azure PowerShell 启用加速网络。
-
导航到 Azure 门户,单击右上角的 PowerShell 图标。
注意:
如果您处于 Bash 模式,请切换到 PowerShell 模式。

-
在命令提示符下,运行以下命令:
az network nic update --name <nic-name> --accelerated-networking [true | false] --resource-group <resourcegroup-name> <!--NeedCopy-->加速网络参数接受以下两种值中的任意一个:
- True: 在指定的 NIC 上启用加速网络。
- False: 在指定的 NIC 上禁用加速网络。
在特定 NIC 上启用加速网络:
az network nic update --name citrix-adc-vpx-nic01-0 --accelerated-networking true --resource-group rsgp1-aan <!--NeedCopy-->在特定 NIC 上禁用加速网络:
az network nic update --name citrix-adc-vpx-nic01-0 --accelerated-networking false --resource-group rsgp1-aan <!--NeedCopy--> -
要验证部署完成后加速网络的状态,请导航到 VM > Networking。
在以下示例中,您可以看到加速网络已启用。

在以下示例中,您可以看到加速网络已禁用。

通过使用 NetScaler 的 FreeBSD Shell 来验证接口上的加速网络功能
您可以登录到 NetScaler 的 FreeBSD shell,并运行以下命令来验证加速网络状态。
ConnectX3 网卡配置示例:
以下示例显示了 Mellanox ConnectX3 NIC 的“ifconfig”命令输出。“50/n”表示 Mellanox ConnectX3 NIC 的 VF 接口。0/1 和 1/1 表示 NetScaler VPX 实例的 PV 接口。您可以观察到 PV 接口 (1/1) 和 CX3 VF 接口 (50/1) 具有相同的 MAC 地址 (00:22:48:1c:99:3e)。这表明这两个接口已捆绑在一起。

ConnectX4 网卡配置示例:
以下示例显示了 Mellanox ConnectX4 网卡的“ifconfig”命令输出。“100/n”表示 Mellanox ConnectX4 网卡的 VF 接口。0/1、1/1 和 1/2 表示 NetScaler VPX 实例的 PV 接口。 您可以观察到,PV 接口 (1/1) 和 CX4 VF 接口 (100/1) 具有相同的 MAC 地址 (00:0d:3a:9b:f2:1d)。这表明这两个接口捆绑在一起。同样,PV 接口 (1/2) 和 CX4 VF 接口 (100/2) 具有相同的 MAC 地址 (00:0d:3a:1e:d2:23)。

使用 ADC CLI 验证接口上的加速网络
ConnectX3 型号网卡示例:
以下 show interface 命令输出表明 PV 接口 1/1 与虚拟功能 50/1 捆绑,后者是 SR-IOV VF 网卡。1/1 和 50/1 网卡的 MAC 地址相同。启用加速网络后,1/1 接口的数据通过 50/1 接口的数据路径发送,50/1 接口是 ConnectX3 接口。您可以看到 PV 接口 (1/1) 的“show interface”输出指向 VF (50/1)。同样,VF 接口 (50/1) 的“show interface”输出指向 PV 接口 (1/1)。

ConnectX4 型号网卡示例:
以下 show interface 命令输出表明 PV 接口 1/1 与虚拟功能 100/1 捆绑,后者是 SR-IOV VF 网卡。1/1 和 100/1 网卡的 MAC 地址相同。启用加速网络后,1/1 接口的数据通过 100/1 接口的数据路径发送,100/1 接口是 ConnectX4 接口。您可以看到 PV 接口 (1/1) 的“show interface”输出指向 VF (100/1)。同样,VF 接口 (100/1) 的“show interface”输出指向 PV 接口 (1/1)。

NetScaler 中的注意事项
- PV 接口被视为所有必要操作的主要或主接口。配置必须仅在 PV 接口上执行。
- VF 接口上的所有“set”操作均被阻止,但以下操作除外:
- 启用接口
- 禁用网络接口
- 重置接口
- 清除统计信息
注意:
Citrix® 建议您不要对 VF 接口执行任何操作。
- 您可以使用
show interface命令验证 PV 接口与 VF 接口的绑定。 - 从 NetScaler 13.1-33.x 版本开始,NetScaler VPX 实例可以无缝处理 Azure 加速网络中的动态 NIC 移除和已移除 NIC 的重新连接。Azure 可以为了主机维护活动而移除加速网络的 SR-IOV VF NIC。每当 NIC 从 Azure VM 中移除时,NetScaler VPX 实例会将接口状态显示为“链路断开”,并且流量仅通过虚拟接口传输。重新连接已移除的 NIC 后,VPX 实例将使用重新连接的 SR-IOV VF NIC。此过程是无缝的,不需要任何配置。
为 PV 接口配置 VLAN
当 PV 接口绑定到 VLAN 时,关联的加速 VF 接口也会绑定到与 PV 接口相同的 VLAN。在此示例中,PV 接口 (1/1) 绑定到 VLAN (20)。与 PV 接口 (1/1) 捆绑的 VF 接口 (100/1) 也绑定到 VLAN 20。
示例:
-
创建一个 VLAN。
add vlan 20 <!--NeedCopy--> -
将 VLAN 绑定到 PV 接口。
bind vlan 20 –ifnum 1/1 show vlan 1) VLAN ID: 1 Link-local IPv6 addr: fe80::20d:3aff:fe9b:f21d/64 Interfaces : LO/1 2) VLAN ID: 10 VLAN Alias Name: Interfaces : 0/1 100/1 IPs : 10.0.1.29 Mask: 255.255.255.0 3) VLAN ID: 20 VLAN Alias Name: Interfaces : 1/1 100/2 <!--NeedCopy-->
注意:
不允许在加速 VF 接口上执行 VLAN 绑定操作。
bind vlan 1 -ifnum 100/1
ERROR: Operation not permitted
<!--NeedCopy-->