Déployer une appliance NetScaler BLX avec prise en charge DPDK

Les appliances NetScaler BLX prennent en charge le Data Plane Development Kit (DPDK), qui est un ensemble de bibliothèques Linux et de contrôleurs d’interface réseau pour de meilleures performances réseau. Une appliance BLX avec prise en charge DPDK fonctionne uniquement en mode réseau dédié. Le déploiement d’une appliance BLX avec prise en charge DPDK sur un hôte Linux comprend les étapes suivantes :

  • Télécharger, installer et compiler les bibliothèques DPDK sur l’hôte Linux
  • Configurer DPDK sur l’hôte Linux
  • Configurer l’appliance BLX pour la prise en charge DPDK
  • Définition de l’adresse IP de gestion de l’appliance BLX pour la première fois
  • Démarrage de l’appliance BLX

Télécharger, installer et compiler les bibliothèques DPDK sur l’hôte Linux

Les bibliothèques DPDK sont hébergées sur le site officiel de DPDK. L’installation des bibliothèques DPDK sur l’hôte Linux consiste à extraire le package DPDK, à définir des variables d’environnement DPDK et à compiler les bibliothèques DPDK.

Pour télécharger les bibliothèques DPDK prises en charge sur l’hôte Linux :

  1. Accédez à la page officielle des téléchargements DPDK .

  2. Téléchargez la version du package DPDK prise en charge suivante sur l’hôte Linux :

    DPDK 17.11.6 (LTS)

Après avoir téléchargé les bibliothèques DPDK, extrayez le package DPDK sur l’hôte Linux, définissez la variable d’environnement DPDK RTE_SDK, puis compilez les bibliothèques DPDK :

export RTE_SDK=<path to the extracted DPDK installation directory on the Linux host>

Pour plus d’informations sur l’installation et la compilation de DPDK sur un périphérique Linux, consultez la documentation officielle de DPDK sur la page Documentation officielle de DPDK.

Configurer DPDK sur l’hôte Linux

Après avoir installé les bibliothèques DPDK, vous devez configurer DPDK sur l’hôte Linux. La configuration de DPDK inclut les tâches suivantes :

  • Insérez le module noyau UIO DPDK IGB
  • Liez les ports de carte d’interface réseau de l’hôte Linux, à utiliser pour l’appliance BLX, au module DPDK IGB UIO.
  • Configurer hugepages pour DPDK

Pour effectuer ces tâches, utilisez le script de configuration DPDK (dpdk-setup.sh), situé dans le sous-répertoire usertools DPDK.

Remarque

Les procédures relatives au DPDK suivantes ont été ajoutées pour votre commodité. Pour plus d’informations sur la configuration de DPDK sur un système Linux, consultez la documentation officielle de DPDK sur la page Documentation officielle de DPDK.

Insérez le module noyau UIO DPDK IGB

Pour insérer le module noyau UIO DPDK IGB :

  1. Exécutez le script dpdk-setup.sh :

    bash $RTE_SDK/usertools/dpdk-setup.sh

  2. Saisissez l’option 17 dans l’invite utilisateur et appuyez sur Entrée.

    .
    .
    [17] Insert IGB UIO module
    [18] Insert VFIO module
    [19] Insert KNI module
    [20] Setup hugepage mappings for non-NUMA systems
    [21] Setup hugepage mappings for NUMA systems
    [22] Display current Ethernet/Crypto device settings
    [23] Bind Ethernet/Crypto device to IGB UIO module
    [24] Bind Ethernet/Crypto device to VFIO module
    [25] Setup VFIO permissions
    .
    .
    ………………
    [34] Exit Script
    
    Option: 17
    
    <!--NeedCopy-->
    

Lier les ports de carte réseau de l’hôte Linux au module UIO DPDK IGB

Pour lier les ports de carte réseau de l’hôte Linux au module UIO DPDK IGB :

  1. Exécutez le script dpdk-setup.sh :

    ./$RTE_SDK/usertoos/dpdk-setup.sh

  2. Saisissez l’option 23 dans l’invite utilisateur et appuyez sur Entrée.

    .
    .
    [17] Insert IGB UIO module
    [18] Insert VFIO module
    [19] Insert KNI module
    [20] Setup hugepage mappings for non-NUMA systems
    [21] Setup hugepage mappings for NUMA systems
    [22] Display current Ethernet/Crypto device settings
    [23] Bind Ethernet/Crypto device to IGB UIO module
    [24] Bind Ethernet/Crypto device to VFIO module
    [25] Setup VFIO permissions
    .
    .
    ………………
    [34] Exit Script
    
    Option: 23
    
    <!--NeedCopy-->
    
  3. Tapez l’adresse PCI du port hôte Linux, que vous souhaitez lier au module noyau UIO IGB DPDK, dans l’invite utilisateur et appuyez sur Entrée :

    ```

Périphériques réseau utilisant un pilote compatible DPDK ============================================

0000:83:00.1 'I350 Gigabit Fiber Network Connection 1522' drv=igb_uio unused=igb

Périphériques réseau utilisant un pilote noyau ===================================

0000:01:00.0 ‘Ethernet Controller 10-Gigabit X540-AT2 1528’ if=eno1 drv=ixgbe unused=igb_uio Active 0000:01:00.1 ‘Ethernet Controller 10-Gigabit X540-AT2 1528’ if=eno2 drv=ixgbe unused=igb_uio 0000:83:00.0 ‘I350 Gigabit Fiber Network Connection 1522’ if=enp131s0f0 drv=igb unused=igb_uio 0000:02:00.0 ‘Ethernet Controller XL710 for 40GbE QSFP+ 1584’ drv=i40e unused=igb_uio. « add 0000:83:00.2 ‘I350 Gigabit Fiber Network Connection 1522’ if=enp131s0f2 drv=igb unused=igb_uio 0000:83:00.3 ‘I350 Gigabit Fiber Network Connection 1522’ if=enp131s0f3 drv=igb unused=igb_uio 0000:84:00.0 ‘I350 Gigabit Fiber Network Connection 1522’ if=enp132s0f0 drv=igb unused=igb_uio 0000:84:00.1 ‘I350 Gigabit Fiber Network Connection 1522’ if=enp132s0f1 drv=igb unused=igb_uio ……….. Mempool devices using kernel driver ===================================

<none>

Autres appareils Mempool =====================

<none>

Enter PCI address of device to bind to IGB UIO driver: 0000:02:00.0

```
  1. Répétez les étapes ci-dessus pour lier un autre port réseau hôte Linux au module UIO IGB DPDK.

Configurer hugepages pour DPDK

Pour configurer hugepages pour DPDK :

  1. Exécutez le script dpdk-setup.sh :

    ./$RTE_SDK/usertoos/dpdk-setup.sh

  2. Saisissez l’option 20 ou 21, basée sur l’architecture de la mémoire hôte Linux, dans l’invite de l’utilisateur et appuyez sur Entrée.

    .
    .
    [17] Insert IGB UIO module
    [18] Insert VFIO module
    [19] Insert KNI module
    [20] Setup hugepage mappings for non-NUMA systems.
    [21] Setup hugepage mappings for NUMA systems
    [22] Display current Ethernet/Crypto device settings
    [23] Bind Ethernet/Crypto device to IGB UIO module
    [24] Bind Ethernet/Crypto device to VFIO module
    [25] Setup VFIO permissions
    .
    .
    ………………
    [34] Exit Script
    
    Option: 21
    
    
  3. Tapez le numéro de hugepages, à réserver pour DPDK, dans l’invite de l’utilisateur et appuyez sur Entrée :

    Removing currently reserved hugepages
    Unmounting /mnt/huge and removing directory
    
    Input the number of 2048kB hugepages
    Example: to have 128MB of hugepages available in a 2MB huge page system,
    enter '64' to reserve 64 * 2MB pages
    
    Number of pages: 1024
    
    Reserving hugepages
    Creating /mnt/huge and mounting as hugetlbfs
    
    

Configurer l’appliance BLX pour la prise en charge DPDK

Pour configurer l’appliance BLX pour la prise en charge DPDK, vous devez définir le paramètre suivant dans le fichier de configuration BLX (blx.conf).

  • Configuration DPDK. Ce paramètre permet à l’appliance BLX de démarrer en mode DPDK pour de meilleures performances. Ce paramètre spécifie également le nombre de moteurs de paquets à utiliser par l’appliance BLX avec prise en charge DPDK. La valeur par défaut est définie sur 8 (0xff). Le nombre maximum de moteurs de paquets acceptés par l’appliance BLX avec prise en charge DPDK est de 28.

Remarque

Après avoir défini le paramètre DPDK config et démarré l’appliance BLX, les ports de carte d’interface réseau Linux liés au DPDK sont automatiquement ajoutés à l’appliance BLX.

Pour configurer l’appliance BLX pour la prise en charge de DPDK, procédez comme suit :

  1. Ouvrez le fichier de configuration BLX (blx.conf) présent sur l’hôte Linux. Le chemin complet du fichier de configuration BLX est le suivant :

    /etc/blx/blx.conf

  2. Supprimez les commentaires de la ligne suivante, contenant le paramètre dpdk-config, dans le fichier de configuration BLX (blx.conf) en supprimant le # (symbole de hachage) au début de la ligne :

    # dpdk-config: -c 0xff

    Exemple de configuration

    Dans l’extrait d’exemple de fichier blx.conf suivant, l’option du paramètre dpdk-config est activée.

    .
    .
    # dpdk EAL core mask parameter. Applicable only when blx-dpdk is installed.
    
    dpdk-config: -c 0xff
    .
    .
    

Définition de l’adresse IP de gestion de l’appliance BLX pour la première fois

L’adresse IP de gestion d’une appliance BLX est l’adresse IP via laquelle vous accédez à l’appliance à des fins de gestion. L’adresse IP de gestion de l’appliance BLX est également appelée adresse IP Citrix ADC (NSIP).

Une appliance BLX ne peut avoir qu’une seule adresse IP Citrix ADC (NSIP). Vous devez également ajouter un itinéraire par défaut pour le sous-réseau IP Citrix ADC configuré afin que l’adresse IP Citrix ADC devienne accessible à partir d’autres réseaux sur le réseau local.

Pour définir l’adresse IP de gestion de l’appliance BLX pour la première fois, vous devez définir les paramètres associés dans le fichier de configuration BLX (blx.conf).

Pour définir l’adresse IP de gestion et l’itinéraire par défaut pour la première fois :

  1. Ouvrez le fichier de configuration BLX (blx.conf) présent sur l’hôte Linux. Le chemin complet du fichier de configuration BLX est le suivant :

    /etc/blx/blx.conf

  2. Supprimez les commentaires du paramètre suivant et définissez l’adresse IP de gestion :

    # ipaddress:

  3. Supprimez les commentaires du paramètre suivant et définissez l’itinéraire par défaut dans la section d’itinéraire statique :

    # default

Exemple de configuration :

Dans l’extrait d’exemple de fichier blx.conf file suivant, l’adresse IP de gestion et la route par défaut sont définies :

.
.

ipaddress: 203.0.113.10
.
.
default 203.0.113.1
.
.

Démarrage de l’appliance BLX avec prise en charge DPDK

Démarrez l’appliance BLX en exécutant la commande suivante :

systemctl start blx

L’appliance BLX est maintenant à l’état actif.

Vérifiez à nouveau l’état de l’appliance BLX :

systemctl status blx

Après avoir correctement installé et démarré une appliance BLX, vous pouvez configurer les fonctionnalités Citrix ADC de l’appliance en utilisant l’une des méthodes suivantes :

  • CLI Citrix ADC
  • Interface graphique de Citrix ADC
  • API REST Citrix NITRO

Pour plus d’informations sur l’utilisation de ces méthodes, consultez Configurer une appliance BLX.

Pour plus d’informations sur les fonctionnalités de Citrix ADC, consultez la documentation Citrix ADC. ```

Déployer une appliance NetScaler BLX avec prise en charge DPDK