Configurar el controlador nsdrvd para NetScaler BLX en modo dedicado sin compatibilidad con DPDK

NetScaler BLX omite la pila de red del núcleo de Linux, pero existe una sobrecarga en la transferencia de paquetes entre la memoria del núcleo de Linux y la memoria del espacio de usuario. Esta sobrecarga afecta al rendimiento general del procesamiento de paquetes.

Te recomendamos usar las NIC compatibles con DPDK para un alto rendimiento de procesamiento de paquetes. Para ver la lista de NIC compatibles con DPDK y compatibles con BLX, consulta Requisitos de hardware del host Linux.

Si no tienes NIC compatibles con DPDK, puedes usar el controlador nsdrvd para mejorar el rendimiento del procesamiento de paquetes sin compatibilidad con DPDK.

El controlador nsdrvd gestiona toda la interacción con el núcleo de Linux para la recepción y transmisión de paquetes. También distribuye el tráfico a los PE. Puedes configurar el controlador nsdrvd usando el parámetro nsdrvd en el archivo blx.conf. La siguiente tabla explica los valores posibles del parámetro nsdrvd.

Valor posible Descripción
nsdrvd: 1 Se crea un proceso de controlador para cada puerto dedicado. Rx y Tx ocurren secuencialmente.
  • nsdrvd: 2 Se crea un proceso Rx y un hilo Tx para cada puerto dedicado.
  • nsdrvd: 3 Se crea un proceso Rx y 2 hilos Tx para cada puerto dedicado.

Para usar el controlador nsdrvd, el host Linux debe tener al menos n número de núcleos según el siguiente cálculo.

  • n >= WP + (INT*P) + 1

Donde:

  • WP - Número de procesos de trabajo (motores de paquetes) para BLX. El parámetro worker-processes en el archivo blx.conf especifica el número de motores de paquetes para BLX.
  • INT - Número de puertos NIC dedicados del host Linux para BLX. El parámetro interface en el archivo blx.conf especifica los puertos NIC del host Linux dedicados a BLX.
  • P - Número de procesos del controlador nsdrvd para BLX. El parámetro nsdrvd en el archivo blx.conf especifica el número de procesos del controlador nsdrvd.

Ejemplo: BLX con la siguiente configuración debe tener al menos 10 núcleos:

  • WP = 3 motores de paquetes
  • INT = 2 interfaces dedicadas
  • P = 3 procesos nsdrvd

n = WP + (INT*P) + 1 = (3+2*3+1) = 10

Requisitos previos

  • Asegúrate de que BLX está configurado en modo dedicado. Para el procedimiento de configuración, consulta Configurar BLX en modo dedicado.
  • Asegúrate de que los puertos NIC dedicados no están listados en las NIC compatibles con DPDK y compatibles con BLX. Para obtener más información, consulta Requisitos de hardware del host Linux.

Habilitar el controlador nsdrvd

Debes usar la CLI del host Linux para habilitar el controlador nsdrvd.

  1. Abre el archivo blx.conf ejecutando el siguiente comando:

    Nota:

    Puedes usar cualquier editor de texto para editar el archivo blx.conf.

    nano /etc/blx/blx.conf
    <!--NeedCopy-->
    
  2. Descomenta el parámetro nsdrvd y establece el valor en 1, 2 o 3.

    blx-system-config
    {
            ...
            nsdrvd: <number of process>
            ...
    }
    <!--NeedCopy-->
    
  3. Guarda el archivo blx.conf.
  4. Reinicia BLX.

    systemctl restart blx
    <!--NeedCopy-->
    

Después de que BLX se reinicie, el controlador nsdrvd se habilita en BLX.

Deshabilitar el controlador nsdrvd

Debes usar la CLI del host Linux para deshabilitar el controlador nsdrvd.

  1. Para deshabilitar el controlador nsdrvd, comenta el parámetro nsdrvd en el archivo blx.conf.

    blx-system-config
    {
            ...
            # nsdrvd: 2
            ...
    }
    <!--NeedCopy-->
    
  2. Reinicia BLX.

    systemctl restart blx
    <!--NeedCopy-->
    

Después de que BLX se reinicie, el controlador nsdrvd se deshabilita en BLX.

Configurar el controlador nsdrvd para NetScaler BLX en modo dedicado sin compatibilidad con DPDK