NetScaler VPX 14.1

Configurar un NetScaler VPX en el hipervisor KVM para usar Intel QAT para la aceleración SSL en modo SR-IOV

La instancia de NetScaler VPX en el hipervisor Linux KVM puede usar la tecnología Intel QuickAssist (QAT) para acelerar el rendimiento SSL de NetScaler. Mediante Intel QAT, todo el procesamiento criptográfico de alta latencia se puede descargar al chip, liberando así una o más CPU del host para realizar otras tareas.

Anteriormente, todo el procesamiento criptográfico de la ruta de datos de NetScaler® se realizaba en el software utilizando vCPU del host.

Nota:

Actualmente, NetScaler VPX solo admite el modelo de chip C62x dentro de la familia Intel QAT. Esta función es compatible a partir de la versión 14.1 compilación 8.50 de NetScaler.

Requisitos previos

  • El host Linux está equipado con un chip Intel QAT C62x, ya sea integrado directamente en la placa base o añadido en una tarjeta PCI externa.

    Modelos de la serie Intel QAT C62x: C625, C626, C627, C628. Solo estos modelos C62x incluyen la capacidad de cifrado de clave pública (PKE). Otras variantes C62x no admiten PKE.

  • El NetScaler VPX cumple los requisitos de hardware de VMware ESX. Para obtener más información, consulte Instalar una instancia de NetScaler VPX en la plataforma Linux KVM.

Limitaciones

No hay ninguna disposición para reservar unidades criptográficas o ancho de banda para máquinas virtuales individuales. Todas las unidades criptográficas disponibles de cualquier hardware Intel QAT se comparten entre todas las máquinas virtuales que utilizan el hardware QAT.

Configurar el entorno del host para usar Intel QAT

  1. Descargue e instale el controlador proporcionado por Intel para el modelo de chip de la serie C62x (QAT) en el host Linux. Para obtener más información sobre las descargas de paquetes de Intel y las instrucciones de instalación, consulte Controlador de tecnología Intel QuickAssist para Linux. Hay un archivo Léame disponible como parte del paquete de descarga. Este archivo proporciona instrucciones sobre cómo compilar e instalar el paquete en el host.

    Después de descargar e instalar el controlador, realice las siguientes comprobaciones de integridad:

    • Tenga en cuenta el número de chips C62x. Cada chip C62x tiene hasta 3 puntos finales PCIe.

    • Asegúrese de que todos los puntos finales estén ACTIVOS. Ejecute el comando adf_ctl status para mostrar el estado de todos los puntos finales de PF (hasta 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
       <!--NeedCopy-->
      
    • Habilite SRIOV (compatibilidad con VF) para todos los puntos finales de QAT.

       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
      
       <!--NeedCopy-->
      
    • Asegúrese de que se muestren todos los VF (16 VF por punto final, lo que suma un total de 48 VF).
    • Ejecute el comando adf_ctl status para verificar que todos los puntos finales de PF (hasta 3) y los VF de cada chip Intel QAT estén ACTIVOS. En este ejemplo, el sistema tiene solo un chip C62x. Por lo tanto, tiene 51 puntos finales (3 + 48 VF) en total.

      comando adf_ctl status

  2. Habilite SR-IOV en el host Linux.
  3. Cree máquinas virtuales. Al crear una máquina virtual, asigne el número adecuado de dispositivos PCI para cumplir con los requisitos de rendimiento.

Nota:

Cada chip C62x (QAT) puede tener hasta tres puntos finales PCI separados. Cada punto final es una colección lógica de VF y comparte el ancho de banda por igual con otros puntos finales PCI del chip. Cada punto final puede tener hasta 16 VF que aparecen como 16 dispositivos PCI. Agregue estos dispositivos a la máquina virtual para realizar la aceleración criptográfica utilizando el chip QAT.

Puntos a tener en cuenta

  • Si el requisito criptográfico de la máquina virtual es utilizar más de un punto final/chip PCI QAT, le recomendamos que elija los dispositivos PCI/VF correspondientes de forma rotatoria para tener una distribución simétrica.
  • Recomendamos que el número de dispositivos PCI seleccionados sea igual al número de vCPU con licencia (sin incluir el recuento de vCPU de administración). Agregar más dispositivos PCI de los vCPU disponibles no mejora necesariamente el rendimiento.

    Ejemplo:

    Considere un host Linux con un chip Intel C62x que tiene 3 puntos finales. Al aprovisionar una máquina virtual con 6 vCPU, elija 2 VF de cada punto final y asígnelos a la máquina virtual. Esta asignación garantiza una distribución efectiva e igual de las unidades criptográficas para la máquina virtual. Del total de vCPU disponibles, por defecto, una vCPU se reserva para el plano de administración, y el resto de las vCPU están disponibles para los PE del plano de datos.

Asignar VF de QAT a NetScaler VPX implementado en el hipervisor KVM de Linux

  1. En el administrador de máquinas virtuales Linux KVM, asegúrese de que la VM (NetScaler VPX) esté apagada.

  2. Vaya a Agregar hardware > Dispositivo host PCI.

  3. Asigne Intel QAT VF al dispositivo PCI.

    Asignar Intel QAT VF

  4. Haga clic en Finalizar.

  5. Repita los pasos anteriores para asignar uno o más VF de Intel QAT a la instancia de NetScaler VPX hasta el límite de uno menos que el número total de vCPU. Esto se debe a que una vCPU está reservada para el proceso de administración.

    Número de VF de QAT por VM = Número de vCPU - 1

  6. Encienda la VM.

  7. Ejecute el comando stat ssl en la CLI de NetScaler para mostrar el resumen SSL y verificar las tarjetas SSL después de asignar los VF de QAT a NetScaler VPX.

    En este ejemplo, hemos utilizado 5 vCPU, lo que implica 4 motores de paquetes (PE).

    Comando stat SSL

Acerca de la implementación

Esta implementación se probó con las siguientes especificaciones de componentes:

  • Versión y compilación de NetScaler VPX: 14.1–8.50
  • Versión de Ubuntu: 18.04, Kernel 5.4.0-146
  • Versión del controlador Intel C62x QAT para Linux: L.4.21.0-00001
Configurar un NetScaler VPX en el hipervisor KVM para usar Intel QAT para la aceleración SSL en modo SR-IOV