ADC
感谢您提供反馈

这篇文章已经过机器翻译.放弃

在 KVM 虚拟机管理程序上配置 NetScaler VPX,以便在 SR-IOV 模式下使用 Intel QAT 进行 SSL 加速

Linux KVM 虚拟机管理程序上的 NetScaler VPX 实例可以使用 Intel QuickAssist 技术 (QAT) 来加速 NetScaler SSL 性能。使用 Intel QAT,所有高延迟的加密处理都可以卸载到芯片上,从而腾出一个或多个主机 CPU 来执行其他任务。

以前,所有 NetScaler 数据路径加密处理都是在软件中使用主机 vCPU 完成的。

注意:

目前,NetScaler VPX 仅支持 Intel QAT 系列下的 C62x 芯片型号。从 NetScaler 版本 14.1 版本 8.50 开始支持此功能。

必备条件

限制

没有为单个虚拟机预留加密单位或带宽的规定。任何 Intel QAT 硬件的所有可用加密单元均在使用 QAT 硬件的所有虚拟机之间共享。

设置主机环境以使用 Intel QAT

  1. 在 Linux 主机中下载并安装 Intel 为 C62x 系列 (QAT) 芯片型号提供的驱动程序。有关 Intel 软件包下载和安装说明的更多信息,请参阅适用于 Linux 的 Intel QuickAssist 技术驱动程序。 自述文件可作为下载包的一部分提供。此文件提供有关在主机中编译和安装软件包的说明。

    下载并安装驱动程序后,执行以下完整性检查:

    • 记下 C62x 芯片的数量。每个 C62x 芯片最多有 3 个 PCIe 端点。

    • 确保所有端点都已启动。运行 adf_ctl status 命令以显示所有 PF 端点(最多 3 个)的状态。

      root@Super-Server:~# adf_ctl status Checking status of all devices. There is 51 QAT acceleration device(s) in the system qat_dev0 - type: c6xx, inst_id: 0, node_id: 0, bsf: 0000:1a:00.0, #accel: 5 #engines: 10 state: up qat_dev1 - type: c6xx, inst_id: 1, node_id: 0, bsf: 0000:1b:00.0, #accel: 5 #engines: 10 state: up qat_dev2 - type: c6xx, inst_id: 2, node_id: 0, bsf: 0000:1c:00.0, #accel: 5 #engines: 10 state: up
    • 为所有 QAT 端点启用 SRIOV(VF 支持)。

      root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000:1a:00.0/sriov_numvfs root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000:1b:00.0/sriov_numvfs root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000:1c:00.0/sriov_numvfs
    • 确保显示所有 VF(每个端点 16 个 VF,总计 48 个 VF)。
    • 运行 adf_ctl 状态命令以验证所有 PF 端点(最多 3 个)和每个 Intel QAT 芯片的 VF 是否已启动。在此示例中,系统只有一个 C62x 芯片。因此,它总共有 51 个端点(3 + 48 个 VF)。

      adf_ctl 状态命令

  2. 在 Linux 主机上启用 SR-IOV。
  3. 创建虚拟机。创建 VM 时,分配适当数量的 PCI 设备以满足性能要求。

注意:

每个 C62x (QAT) 芯片最多可以有三个独立的 PCI 端点。每个端点都是 VF 的逻辑集合,与芯片的其他 PCI 端点平均共享带宽。每个端点最多可以有 16 个 VF,显示为 16 个 PCI 设备。将这些设备添加到 VM,使用 QAT 芯片进行加密加速。

需要注意的事项

  • 如果虚拟机加密要求使用多个 QAT PCI 端点/芯片,我们建议您以循环方式选择相应的 PCI 设备/VF 以实现对称分布。
  • 我们建议所选的 PCI 设备数量等于许可的 vCPU 数量(不包括管理 vCPU 数量)。添加比可用的 vCPU 数量更多的 PCI 设备不一定能提高性能。

    示例:

    以一台具有 3 个端点的 Intel C62x 芯片的 Linux 主机为例。在配置具有 6 个 vCPU 的虚拟机时,从每个端点中选择 2 个 VF,然后将其分配给虚拟机。此分配可确保虚拟机加密单位的有效和平等分配。默认情况下,在可用的 vCPU 总数中,一个 vCPU 留给管理平面,其余 vCPU 可用于数据平面 PE。

将 QAT VF 分配给部署在 Linux KVM 虚拟机管理程序上的 NetScaler VPX

  1. 在 Linux KVM 虚拟机管理器中,确保虚拟机(NetScaler VPX)已关闭。

  2. 导航到添加硬件 > PCI 主机设备

  3. 为 PCI 设备分配 Intel QAT VF。

    分配 Intel QAT VF

  4. 单击完成

  5. 重复上述步骤,为 NetScaler VPX 实例分配一个或多个 Intel QAT VF,最多不超过 vCPU 总数少一个。因为一个 vCPU 是为管理过程保留的。

    每个 VM 的 QAT VF 数量 = vCPU 数量- 1

  6. 打开 VM 的电源。

  7. 在 NetScaler CLI 中运行 stat ssl 命令以显示 SSL 摘要,并在将 QAT VF 分配给 NetScaler VPX 后验证 SSL 卡。

    在此示例中,我们使用了 5 个 vCPU,这意味着 4 个数据包引擎 (PE)。

    stat SSL 命令

关于部署

此部署使用以下组件规格进行了测试:

  • NetScaler VPX 版本和内部版本: 14.1—8.50
  • Ubuntu 版本: 18.04,内核 5.4.0-146
  • 适用于 Linux 的 Intel C62x QAT 驱动程序版本: L.4.21.0-00001
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
在 KVM 虚拟机管理程序上配置 NetScaler VPX,以便在 SR-IOV 模式下使用 Intel QAT 进行 SSL 加速