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

Les appareils NetScaler BLX prennent en charge le kit de développement de plan de données (DPDK), qui est un ensemble de bibliothèques Linux et de contrôleurs d’interface réseau pour de meilleures performances réseau. Un appareil BLX avec prise en charge DPDK fonctionne uniquement en mode réseau dédié. Le déploiement d’un appareil BLX avec prise en charge DPDK sur un hôte Linux comprend les étapes suivantes :

  • Téléchargez, installez et compilez 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’appareil BLX pour la première fois
  • Démarrage de l’appareil BLX

Téléchargez, installez et compilez les bibliothèques DPDK sur l’hôte Linux

Les bibliothèques DPDK sont hébergées sur le site Web officiel DPDK. L’installation des bibliothèques DPDK sur l’hôte Linux consiste à extraire le package DPDK, à définir les 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 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 RTE_SDK DPDK, 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 à l’adresse 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 comprend les tâches suivantes :

  • Insérer le module du noyau DPDK IGB UIO
  • Liez les ports NIC de l’hôte Linux, à utiliser pour l’appliance BLX, au module UIO DPDK IGB.
  • Configurer hugepages pour DPDK

Utilisez le script d’installation DPDK (dpdk-setup.sh), situé dans le sous-répertoire DPDK usertools , pour effectuer ces tâches.

Note

Les procédures suivantes liées à DPDK sont 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 à l’adresse Documentation officielle de DPDK.

Insérer le module du noyau DPDK IGB UIO

Pour insérer le module noyau DPDK IGB UIO:

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

    bash $RTE_SDK/usertools/dpdk-setup.sh

  2. Tapez 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 NIC de l’hôte Linux au module UIO DPDK IGB

Pour lier les ports NIC 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. Tapez 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. Saisissez l’adresse PCI du port hôte Linux que vous souhaitez lier au module du noyau DPDK IGB UIO dans l’invite utilisateur et appuyez sur Entrée :

    
    Network devices using DPDK-compatible driver
    ============================================
    0000:83:00.1 'I350 Gigabit Fiber Network Connection 1522' drv=igb_uio unused=igb
    
    Network devices using kernel driver
    ===================================
    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>
    
    Other Mempool devices
    =====================
    <none>
    
    
    Enter PCI address of device to bind to IGB UIO driver: 0000:02:00.0
    
    <!--NeedCopy-->
    
  4. Répétez les étapes ci-dessus pour lier un autre port réseau hôte Linux au module DPDK IGB UIO.

Configurer hugepages pour DPDK

Pour configurer hugepages pour DPDK:

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

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

  2. Tapez l’option 20 ou 21, en fonction de l’architecture de la mémoire de l’hôte Linux, 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: 21
    
    <!--NeedCopy-->
    
  3. Tapez le nombre de hugepages, à réserver pour DPDK, dans l’invite 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
    
    <!--NeedCopy-->
    

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. En outre, ce paramètre spécifie 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 maximal de moteurs de paquets pris en charge par l’appliance BLX avec prise en charge DPDK est de 28.

Note

Après avoir défini le paramètre DPDK config et démarré l’appliance BLX, les ports NIC Linux liés à DPDK sont automatiquement ajoutés dans le cadre de l’appliance BLX.

Pour configurer l’appliance BLX pour la prise en charge DPDK:

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

    /etc/blx/blx.conf

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

    # dpdk-config: -c 0xff

    Exemple de configuration

    Dans l’extrait d’exemple suivant d’un fichier blx.conf , le paramètre dpdk-config est activé.

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

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

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

Un appareil BLX ne peut avoir qu’une seule adresse IP Citrix ADC (NSIP). Vous devez également ajouter une route par défaut pour le sous-réseau IP Citrix ADC configuré afin que l’IP Citrix ADC soit accessible à partir d’autres réseaux sur le LAN.

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 la route par défaut pour la première fois:

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

    /etc/blx/blx.conf

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

    # ipaddress:

  3. Supprimez le commentaire du paramètre suivant et définissez la route par défaut dans la section de route statique :

    # default

Exemple de configuration:

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

.
.

ipaddress: 203.0.113.10
.
.
default 203.0.113.1
.
.
<!--NeedCopy-->

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

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

systemctl start blx

L’appareil BLX est maintenant dans l’état Up .

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

systemctl status blx

Après avoir installé et démarré avec succès une appliance BLX, vous pouvez configurer les fonctionnalités Citrix ADC sur l’appliance à l’aide de l’une des méthodes suivantes :

  • Interface de ligne de commande Citrix ADC
  • Interface utilisateur graphique de Citrix ADC
  • API REST Citrix NITRO

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

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

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