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 nœud Junos

Remarque :

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 dans le châssis, passez à Configuration du routeur MX Series pour qu’il fonctionne en mode 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 se connecter au routeur MX Series.

Remarque :
  • 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 empêcher le serveur hôte de toute attaque SSH par force brute, 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é Network diagram of MX 2020 system management setup with two servers, Server 0 and Server 1, connected to management interfaces and control boards CB0 and CB1. Connections include IPMI, Linux Host Management, JDM Management, GNF-1-n Management, em1, em2, em3, p3p1, p3p2, XGE-0, XGE-1, routing engines RE0 and RE1, and console serial ports, all linked to a management network for remote user access. externe du serveur x86

Selon l’exemple de la Figure 1, em1, em2et em3 sur les serveurs x86 se trouvent les ports utilisés pour la gestion de l’hôte Linux, JDM et 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.

Remarque :

Pour activer les ports XGE sur les cartes de contrôle pour la segmentation de nœud Junos, vous devez configurer set chassis network-slices ou set chassis network-slices guest-network-functions.

Remarque :

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

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

Remarque :

Utilisez la show chassis ethernet-switch commande pour afficher ces ports XGE. Dans la sortie de la commande sur le MX960, reportez-vous aux numéros 24 de ports et 26 pour afficher ces ports sur le SCBE2. Dans la sortie de la 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 BIOS 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 trouver 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. Voir l’exemple suivant :

Pour trouver la fréquence à laquelle les cœurs de processeur sont actuellement en cours d’exécution, exécutez la commande grep MHz /proc/cpuinfo Linux host et vérifiez la valeur de chaque cœur de 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 CPU à leur fréquence nominale, les valeurs observées pour les cœurs CPU 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 BIOS du serveur x86 afin qu’il utilise les cœurs du processeur à leur fréquence nominale, réduise la gigue et désactive 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 système du BIOS pour y parvenir sont les suivants :

  • Logical processor: réglé sur Désactivé.

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

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

  • Turbo boost: réglé sur Désactivé.

  • C-states and C1E state: réglé sur Désactivé.

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

  • Monitor/Mwait: réglé sur Désactivé.

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

x86 Serveur Linux Configuration GRUB

Lors de la segmentation de nœud Junos, des cœurs de processeur dédiés sont attribués à chaque machine virtuelle GNF. Cette attribution est gérée par le Gestionnaire de périphériques de Juniper (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 (ce qui signifie que ces cœurs soient isolés des autres applications). Les cœurs CPU 2 et 3 sont dédiés au disque virtuel GNF et aux E/S réseau. Les cœurs CPU 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 Paramètres du BIOS du processeur du serveur x86. Vous pouvez utiliser la commande lscpu Linux pour rechercher le nombre total de cœurs de processeur, comme indiqué dans l’exemple suivant :

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

  2. Selon cet exemple, le isolcpus paramètre doit être défini sur 'isolcpus=4-23' (isoler tous les cœurs de processeur autres que les cœurs 0, 1, 2 et 3 pour une utilisation 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 à la segmentation de nœud Junos.

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

    Remarque :

    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 GRUB Linux, 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 Isolation des processeurs du planificateur de processus dans 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 indiqué 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 ancienne version du BIOS, exécutez la commande suivante :

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

      À partir de RHEL 9.3, 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 24.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 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 indiqué 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 Intel X710 NIC pour les serveurs x86

Si vous utilisez Intel X710 NIC, 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 X710 NIC est 18.5.17 ou ultérieure.

Vous devez d’abord identifier l’interface NIC X710 sur les serveurs. Par exemple, il peut s’agir p3p1de .

Vous pouvez vérifier la version NIC du pilote en exécutant la commande ethtool -i interfaceLinux . Voir l’exemple suivant :

Reportez-vous à la page de support Intel pour obtenir des instructions sur la mise à jour du pilote.

Remarque :

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

Vous avez besoin des packages suivants pour créer le pilote :

  • Pour RedHat :

    • kernel-devel

    • Outils de développement

  • Pour Ubuntu :

    • make

    • CCG

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 :

Remarque :

Après la mise à jour du pilote Intel X710 NIC, 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 apparaît parce que le module de pilote NIC mis à jour a remplacé la version de base du pilote fourni avec le système d’exploitation hôte.

Installation de packages supplémentaires pour JDM

Les serveurs x86 doivent être équipés de Red Hat Enterprise Linux (RHEL) 7.3, (RHEL) 9.4 ou Ubuntu 24.04 LTS.

Remarque :

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

Pour RHEL 9.4, 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

  • containernetworking-plugins

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 exécutez RHEL 7.3, installez également le package supplémentaire suivant :

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

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

  • L’extension .i686 du 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 24.04, installez les packages suivants :

  • python-psutil

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

  • libstdc++6 :i386

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

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

    • la commande apt-get install libstdc++6:i386 d’installation de la libstdc++6 dernière version du package (l’extension :i386 indique que le package 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 à installer le JDM :

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

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

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

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

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