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
-
El host Linux está equipado con un chip Intel QAT C62x, integrado directamente en la placa base o agregado en una tarjeta PCI externa.
Modelos de la serie Intel QAT C62x: C625, C626, C627, C628. Sólo estos modelos C62x incluyen capacidad de cifrado de clave pública (PKE). Otras variantes de C62x no admiten PKE.
-
El NetScaler VPX cumple con 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 host para usar Intel QAT
-
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. Un archivo Léame está 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.
-
- Habilite SR-IOV en el host Linux.
- 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 a 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
-
En el administrador de máquinas virtuales KVM de Linux, asegúrese de que la máquina virtual (NetScaler VPX) esté apagada.
-
Navegue hasta Agregar hardware > Dispositivo host PCI.
-
Asigne Intel QAT VF al dispositivo PCI.
-
Haga clic en Finalizar.
-
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
-
Power on the VM.
-
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).
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