ADC

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

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

Anteriormente, todo el procesamiento criptográfico de las rutas de datos de NetScaler se realizaba en el software mediante vCPU host.

Nota:

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

Requisitos previos

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 host para usar Intel QAT

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

    Tras descargar e instalar el controlador, realice las siguientes comprobaciones de seguridad:

    • Anote la cantidad de chips C62x. Cada chip C62x tiene hasta 3 terminales 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 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 (soporte 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 todas las VF (16 VF por punto final, lo que hace un total de 48 VF).
    • Ejecute el comando adf_ctl status para verificar que todos los puntos finales PF (hasta 3) y los VF de cada chip Intel QAT estén activos. En este ejemplo, el sistema solo tiene un chip C62x. Por lo tanto, tiene 51 puntos finales (3 + 48 VF) en total.

      comando de estado adf_ctl

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

Nota:

Cada chip C62x (QAT) puede tener hasta tres terminales PCI independientes. Cada punto final es una colección lógica de VF y comparte el ancho de banda en partes iguales con otros puntos finales PCI del chip. Cada terminal puede tener hasta 16 VF que se muestran como 16 dispositivos PCI. Agregue estos dispositivos a la máquina virtual para realizar la aceleración criptográfica con el chip QAT.

Puntos que tener en cuenta

  • Si el requisito de cifrado de máquinas virtuales es utilizar más de un punto final o chip PCI QAT, le recomendamos que elija los dispositivos PCI o VF correspondientes de forma rotativa para tener una distribución simétrica.
  • Recomendamos que la cantidad de dispositivos PCI seleccionados sea igual a la cantidad de vCPU con licencia (sin incluir el recuento de vCPU de administración). Agregar más dispositivos PCI que la cantidad disponible de vCPU no necesariamente mejora el rendimiento.

    Ejemplo:

    Considere un host Linux con un chip Intel C62x que tenga 3 terminales. Al aprovisionar una máquina virtual con 6 vCPU, elija 2 máquinas virtuales de cada punto final y asígnelas a la máquina virtual. Esta asignación garantiza una distribución efectiva y equitativa de las unidades criptográficas para la máquina virtual. Del total de vCPU disponibles, de forma predeterminada, una vCPU está reservada para el plano de administración y el resto de las vCPU están disponibles para los PE del plano de datos.

Asigne vF de QAT a NetScaler VPX implementado en el hipervisor KVM de Linux

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

  2. Navegue hasta 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 una o más VF Intel QAT a la instancia de NetScaler VPX hasta el límite de una unidad menos que la cantidad total de vCPU. Porque una vCPU está reservada para el proceso de administración.

    Cantidad de VF de QAT por VM = Cantidad de vCPU: 1

  6. Encienda la máquina virtual.

  7. Ejecute el comando stat ssl en la CLI de NetScaler para mostrar el resumen de SSL y verifique las tarjetas SSL después de asignar las 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 deNetScaler 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
Configure un NetScaler VPX en el hipervisor KVM para usar Intel QAT para la aceleración de SSL en modo SR-IOV