Configurer le pilote nsdrvd pour NetScaler BLX en mode dédié sans prise en charge DPDK

Bien que NetScaler BLX contourne la pile réseau du noyau Linux, le transfert de paquets entre la mémoire du noyau Linux et la mémoire de l’espace utilisateur présente une surcharge. Cette charge affecte les performances globales du traitement des paquets.

Nous vous recommandons d’utiliser les cartes d’interface réseau compatibles DPDK pour des performances de traitement de paquets supérieures. Pour obtenir la liste des cartes d’interface réseau compatibles DPDK et prises en charge par BLX, consultez la section configuration matérielle requise de l’hôte Linux.

Si vous ne disposez pas de carte d’interface réseau compatible DPDK, vous pouvez utiliser le pilote nsdrvd pour améliorer les performances de traitement des paquets sans prise en charge DPDK.

Le pilote nsdrvd possède toutes les interactions avec le noyau Linux pour la réception et la transmission des paquets. Il distribue également le trafic aux PE. Vous pouvez configurer le pilote nsdrvd à l’aide du paramètre nsdrvd du fichier blx.conf. Le tableau suivant explique les valeurs possibles du paramètre nsdrvd.

Valeur possible Description
nsdrvd: 1 Un processus pilote est créé pour chaque port dédié. Rx et Tx se produisent séquentiellement.
nsdrvd: 2 Un processus Rx et un thread Tx sont créés pour chaque port dédié.
nsdrvd: 3 Un processus Rx et deux threads Tx sont créés pour chaque port dédié.

Pour utiliser le pilote nsdrvd, l’hôte Linux doit disposer d’au moins n cœurs selon le calcul suivant.

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

Où :

  • WP - Nombre de processus de travail (moteurs de paquets) pour BLX. Le paramètre worker-processes du fichier blx.conf indique le nombre de moteurs de paquets pour BLX.
  • INT : nombre de ports NIC hôtes Linux dédiés pour BLX. Le paramètre interface du fichier blx.conf spécifie les ports de carte d’interface réseau hôte Linux dédiés à BLX.
  • P - Nombre de processus de pilote nsdrvd pour BLX. Le paramètre nsdrvd du fichier blx.conf indique le nombre de processus de pilote nsdrvd.

Exemple : l’instance BLX avec la configuration suivante doit avoir au moins 10 cœurs :

  • WP = 3 moteurs de paquets
  • INT = 2 interfaces dédiées
  • P = 3 processus nsdrvd

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

Logiciels requis

Activer le pilote nsdrvd

Vous devez utiliser l’interface de ligne de commande de l’hôte Linux pour activer le pilote nsdrvd.

  1. Ouvrez le fichier blx.conf en exécutant la commande suivante :

    Remarque :

    Vous pouvez utiliser n’importe quel éditeur de texte pour modifier le fichier blx.conf.

    nano /etc/blx/blx.conf
    <!--NeedCopy-->
    
  2. Supprimez la marque de commentaire du paramètre nsdrvd et définissez la valeur sur 1, 2 ou 3.

    blx-system-config
    {
            ...
            nsdrvd: <number of process>
            ...
    }
    <!--NeedCopy-->
    
  3. Enregistrez le fichier blx.conf.
  4. Redémarrez BLX.

    systemctl restart blx
    <!--NeedCopy-->
    

Après le redémarrage de BLX, le pilote nsdrvd est activé sur l’instance BLX.

Désactiver le pilote nsdrvd

Vous devez utiliser l’interface de ligne de commande de l’hôte Linux pour désactiver le pilote nsdrvd.

  1. Pour désactiver le pilote nsdrvd, commentez le paramètre nsdrvd dans le fichier blx.conf.

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

    systemctl restart blx
    <!--NeedCopy-->
    

Après le redémarrage de BLX, le pilote nsdrvd est désactivé sur l’instance BLX.

Configurer le pilote nsdrvd pour NetScaler BLX en mode dédié sans prise en charge DPDK