Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Préparation de la configuration de la segmentation de nud Junos

Note:

Les rubriques de cette section s’appliquent uniquement à la segmentation de nœud Junos configurée à l’aide du modèle de serveur externe. Pour la Segmentation de nœud Junos intégrée au châssis, reportez-vous à la section Configuration du routeur MX Series pour qu’il fonctionne en mode dans le châssis.

Avant de configurer la segmentation de nœud Junos (modèle de serveur externe), vous devez effectuer quelques étapes préparatoires, telles que la connexion des serveurs et du routeur, l’installation de packages supplémentaires, la configuration du serveur x86 Linux GRUB et la configuration du BIOS des processeurs du serveur x86.

Connexion des serveurs et du routeur

Pour configurer la segmentation de nœud Junos, vous devez connecter directement une paire de serveurs x86 externes au routeur MX Series. Outre le port de gestion pour l’hôte Linux, chaque serveur nécessite également deux ports supplémentaires pour fournir une connectivité de gestion pour les machines virtuelles JDM et GNF, respectivement, et deux ports pour la connexion au routeur MX Series.

Note:
  • Ne connectez pas le câble de bouclage au port CB externe lorsque la segmentation de nœud Junos est activée sur le routeur MX Series. Assurez-vous également que le port CB externe n'est pas connecté au port externe de l'autre CB.

  • Pour éviter que le serveur hôte ne subisse une attaque par force brute SSH, nous vous recommandons d’ajouter des règles IPtables sur le serveur hôte. Voici un exemple :

    La règle de l’exemple ci-dessus est utilisée pour limiter le débit des connexions SSH entrantes. Il vous permet de bloquer les connexions à partir de l’adresse IP distante pendant un certain temps lorsqu’un certain nombre de tentatives SSH sont effectuées. Comme dans l’exemple ci-dessus, après 10 tentatives, les connexions à partir d’une adresse IP distante seront bloquées pendant 120 secondes.

La figure 1 montre comment un routeur MX2020 est connecté à une paire de serveurs externes x86.

Figure 1 : routeur MX2020 - connectivité MX2020 Router—External x86 Server Connectivity du serveur x86 externe

Selon l’exemple de la Figure 1, em1, em2et em3 sur les serveurs x86 sont les ports utilisés pour la gestion de l’hôte Linux, le JDM et les GNF, respectivement. p3p1 et p3p2 sur chaque serveur se trouvent les deux ports 10 Gbit/s connectés aux cartes de contrôle du routeur MX Series.

Note:

Les noms des interfaces sur le serveur, par exemple em1, p3p1 peuvent varier en fonction de la configuration matérielle du serveur.

Pour plus d’informations sur les ports XGE de la carte de contrôle (CB) du routeur MX Series mentionnés à la Figure 1, reportez-vous à :

Note:

Utilisez la show chassis ethernet-switch commande pour afficher ces ports XGE. Dans la sortie de commande sur le MX960, reportez-vous aux numéros 24 de port et 26 pour afficher ces ports sur le SCBE2. Dans la sortie de commande sur MX2010 et MX2020, reportez-vous aux numéros 26 de port et 27 pour afficher ces ports sur la carte de contrôle-moteur de routage (CB-RE).

Paramètres du BIOS du processeur du processeur du serveur x86

Pour la segmentation de nœud Junos, le BIOS des processeurs du serveur x86 doit être configuré de telle sorte que :

  • L’hyperthreading est désactivé.

  • Les cœurs du processeur fonctionnent toujours à leur fréquence nominale.

  • Les cœurs du processeur sont configurés pour réduire la gigue en limitant l’utilisation de l’état C.

Pour connaître la fréquence nominale des cœurs de processeur sur le serveur, exécutez la commande lscpuLinux host et vérifiez la valeur du champ Model name. Reportez-vous à l’exemple suivant :

Pour connaître la fréquence à laquelle les cœurs du processeur sont en cours d’exécution, exécutez la commande grep MHz /proc/cpuinfo Linux host et vérifiez la valeur de chaque cœur du processeur.

Sur un serveur dont le BIOS est configuré pour faire fonctionner les cœurs du processeur à leur fréquence nominale, les valeurs observées pour les cœurs du processeur correspondront toutes à la fréquence nominale (ou seront très proches de celle-ci), comme indiqué dans l’exemple suivant.

Sur un serveur dont le BIOS n’est pas configuré pour faire fonctionner les cœurs du processeur à leur fréquence nominale, les valeurs observées pour les cœurs du processeur ne correspondent pas à la fréquence nominale et les valeurs peuvent également varier avec le temps (vous pouvez le vérifier en réexécutant la commande).

Pour configurer le profil système du BIOS du serveur x86 afin de faire fonctionner les cœurs du processeur à leur fréquence nominale, de réduire la gigue et de désactiver l’hyperthreading, consultez le fabricant du serveur, car ces paramètres varient selon le modèle du serveur et les versions du BIOS.

Les paramètres typiques du profil du BIOS système pour y parvenir sont les suivants :

  • Logical processor: défini sur Désactivé.

  • CPU power management: réglé sur Performances maximales.

  • Memory frequency: réglé sur Performances maximales.

  • Turbo boost: défini sur Désactivé.

  • C-states and C1E state: défini sur Désactivé.

  • Energy efficient policy: réglé sur Performance.

  • Monitor/Mwait: défini sur Désactivé.

Un profil système BIOS personnalisé peut être nécessaire pour définir ces valeurs.

Configuration GRUB Linux du serveur x86

Dans la segmentation de nœud Junos, chaque machine virtuelle GNF se voit attribuer des cœurs de processeur dédiés. Cette affectation est gérée par Juniper Device Manager (JDM). Sur chaque serveur x86, JDM exige que tous les cœurs de processeur autres que les cœurs de processeur 0 et 1 soient réservés à la segmentation de nœud Junos et, en fait, que ces cœurs soient isolés des autres applications. Les cœurs de processeur 2 et 3 sont dédiés au disque virtuel GNF et aux E/S réseau. Les cœurs de processeur 4 et supérieurs peuvent être attribués aux machines virtuelles GNF. Pour réserver ces cœurs de processeur, vous devez définir le isolcpus paramètre dans la configuration GRUB Linux comme décrit dans la procédure suivante :

Pour les serveurs x86 exécutant Red Hat Enterprise Linux (RHEL) 7.3, effectuez les opérations suivantes :

  1. Déterminez le nombre de cœurs de processeur sur le serveur x86. Assurez-vous que l’hyperthreading a déjà été désactivé, comme décrit dans les paramètres du BIOS du processeur du serveur x86. Vous pouvez utiliser la commande lscpu Linux pour trouver le nombre total de cœurs de processeur, comme illustré dans l’exemple suivant :

    Ici, il y a 24 cœurs (12 x 2). Les cœurs du processeur sont numérotés de 0 à 23.

  2. Dans cet exemple, le isolcpus paramètre doit être défini sur « isolcpus=4-23 » (isolez tous les cœurs de processeur autres que les cœurs 0, 1, 2 et 3 pour les utiliser par les machines virtuelles GNF). Le isolcpus paramètre est défini sur 'isolcpus=4-23' pour les raisons suivantes :

    • Sur chaque serveur x86, JDM exige que tous les cœurs de processeur autres que les cœurs de processeur 0 et 1 soient réservés pour la segmentation de nœud Junos.

    • Les cœurs de processeur 2 et 3 sont dédiés au disque virtuel GNF et aux E/S réseau.

    Note:

    Auparavant, le isolcpus paramètre 'isolcpus=2-23' était utilisé. Cela a maintenant été mis à jour en 'isolcpus=4-23'. Pour plus d’informations, reportez-vous à KB35301.

    Pour définir le isolcpus paramètre dans le fichier de configuration de Linux GRUB, suivez les procédures spécifiques à la version de votre système d’exploitation hôte. Pour RHEL 7, la procédure est décrite dans la section Isolement des processeurs du planificateur de processus de ce document Red Hat. Pour RHEL 9, les informations sur la modification de la ligne de commande du noyau sont décrites dans ce document Red Hat.

    Voici un résumé des procédures :

    1. Modifiez le fichier GRUB Linux /etc/default/grub pour ajouter le isolcpus paramètre à la variable GRUB_CMDLINE_LINUX, comme illustré dans l’exemple suivant :

    2. Exécutez la commande grub2-mkconfig shell Linux pour générer le fichier GRUB mis à jour comme indiqué ci-dessous :

      Si vous utilisez une version antérieure du BIOS, exécutez la commande suivante :

      Si vous utilisez UEFI, exécutez la commande suivante :

      Dans RHEL 9.3 et versions ultérieures, exécutez la commande suivante pour les systèmes BIOS ou UEFI hérités :

    3. Redémarrez le serveur x86.

    4. Vérifiez que le isolcpus paramètre a maintenant été défini, en vérifiant la sortie de la commande cat /proc/cmdlineLinux , comme indiqué dans l’exemple suivant :

Pour les serveurs x86 exécutant Ubuntu 20.04, effectuez les opérations suivantes :

  1. Déterminez le nombre de cœurs de processeur sur le serveur x86. Assurez-vous que l’hyperthreading a déjà été désactivé, comme décrit dans les paramètres du BIOS du processeur du serveur x86. Vous pouvez utiliser la commande lscpu Linux pour trouver le nombre total de cœurs de processeur.

  2. Modifiez le fichier /etc/default/grub pour ajouter le paramètre isolcpus à la variable GRUB_CMDLINE_LINUX_DEFAULT, comme illustré dans l’exemple suivant :

  3. Pour mettre à jour les modifications, exécutez update-grub.

  4. Redémarrez le serveur.

  5. Vérifiez que le isolcpus paramètre a maintenant été défini, en vérifiant la sortie de la commande cat /proc/cmdlineLinux .

Mise à jour du pilote de la carte réseau Intel X710 pour les serveurs x86

Si vous utilisez une carte réseau Intel X710, assurez-vous que le pilote le plus récent (2.4.10 ou version ultérieure) est installé sur les serveurs x86 et que la version du micrologiciel de la carte réseau X710 est 18.5.17 ou ultérieure.

Vous devez d’abord identifier l’interface de la carte réseau X710 sur les serveurs. Par exemple, il peut s’agir de p3p1.

Vous pouvez vérifier la version du pilote de la carte réseau en exécutant la commande ethtool -i interfaceLinux . Reportez-vous à l’exemple suivant :

Reportez-vous à la page d’assistance Intel pour obtenir des instructions sur la mise à jour du pilote.

Note:

La mise à jour du système d’exploitation hôte peut remplacer le pilote de la carte réseau Intel X710. Par conséquent, assurez-vous que le système d’exploitation hôte est à jour avant de mettre à jour le pilote de la carte réseau Intel X710.

Vous avez besoin des packages suivants pour construire le pilote :

  • Pour RedHat :

    • kernel-devel

    • Outils de développement

  • Pour Ubuntu :

    • faire

    • Gcc

Si vous utilisez RedHat, exécutez les commandes suivantes pour installer les packages :

Si vous utilisez Ubuntu, exécutez les commandes suivantes pour installer les packages :

Note:

Après avoir mis à jour le pilote de la carte réseau Intel X710, vous remarquerez peut-être le message suivant dans le journal du système d’exploitation hôte :

"i40e: module verification failed: signature and/or required key missing - tainting kernel"

Ignorez ce message. Cela s’affiche parce que le module de pilote de carte réseau mis à jour a remplacé la version de base du pilote qui était fourni avec le système d’exploitation hôte.

Installation de packages supplémentaires pour JDM

Red Hat Enterprise Linux (RHEL) 7.3, (RHEL) 9 ou Ubuntu 20.04 LTS doit être installé sur les serveurs x86.

Note:

Les packages de virtualisation doivent être installés sur les serveurs x86.

Pour RHEL 9, assurez-vous que podman et containernetworking-plugins sont installés. Si ce n’est pas le cas, utilisez l’utilitaire DNF pour installer les packages supplémentaires suivants, qui peuvent être téléchargés à partir du portail client Red Hat.

  • Podman (en anglais seulement)

  • conteneurplug-ins-réseau

Pour RHEL 7.3, installez les packages supplémentaires suivants, qui peuvent être téléchargés à partir du portail client Red Hat.

  • python-psutil-1.2.1-1.el7.x86_64.rpm

  • net-snmp-5.7.2-24.el7.x86_64.rpm

  • net-snmp-libs-5.7.2-24.el7.x86_64.rpm

  • libvirt-snmp-0.0.3-5.el7.x86_64.rpm

Uniquement pour Junos OS versions 17.4R1 et antérieures, et pour 18.1R1, si vous utilisez RHEL 7.3, installez également le package supplémentaire suivant :

  • libstdc++-4.8.5-11.el7.i686.rpm

Note:
  • Les numéros de version de package indiqués sont les versions minimales. Des versions plus récentes peuvent être disponibles dans les derniers correctifs RHEL 7.3 et RHEL 9.

  • L’extension .i686 de package libstdc++ indique qu’il s’agit d’un package 32 bits.

  • Pour RHEL, nous vous recommandons d’installer les packages à l’aide de la yum commande or dnf .

For Ubuntu 20.04, installez les packages suivants :

  • python-psutil

Uniquement pour Junos OS versions 17.4R1 et antérieures, et pour 18.1R1, si vous utilisez Ubuntu, installez également le package supplémentaire suivant :

  • libstdc++6 :i386

Note:
  • Pour Ubuntu, vous pouvez utiliser la apt-get commande pour installer la dernière version de ces packages. Par exemple, utilisez :

    • la commande apt-get install python-psutil permettant d’installer la python-psutil dernière version du package.

    • la commande apt-get install libstdc++6:i386 pour installer la dernière version du libstdc++6 paquet (l’extension :i386 indique que le paquet en cours d’installation est une version 32 bits).

Terminer la connexion entre les serveurs et le routeur

Procédez comme suit avant de commencer l’installation de JDM :

  • Assurez-vous que le routeur MX Series est connecté aux serveurs x86 comme décrit dans Connexion des serveurs et du routeur.

  • Mettez sous tension les deux serveurs x86 et les deux moteurs de routage sur le routeur MX Series.

  • Identifiez le port de gestion de l’hôte Linux sur les deux serveurs x86. Par exemple, em1.

  • Identifiez les ports à attribuer pour les ports de gestion JDM et GNF. Par exemple, em2 et em3.

  • Identifiez les deux ports 10 Gbits/s connectés aux cartes de contrôle sur le routeur MX Series. Par exemple, p3p1 et p3p2.