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 :
-
Accédez à la page officielle des téléchargements DPDK .
-
Téléchargez la version du package DPDK prise en charge suivante sur l’hôte Linux :
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 :
-
Exécutez le script dpdk-setup.sh :
bash $RTE_SDK/usertools/dpdk-setup.sh
-
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 :
-
Exécutez le script dpdk-setup.sh :
./$RTE_SDK/usertoos/dpdk-setup.sh
-
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-->
-
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
```
- 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 :
-
Exécutez le script dpdk-setup.sh :
./$RTE_SDK/usertoos/dpdk-setup.sh
-
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
-
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 :
-
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
-
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ètredpdk-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 :
-
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
-
Supprimez les commentaires du paramètre suivant et définissez l’adresse IP de gestion :
# ipaddress:
-
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. ```