Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exemple : Comment configurer la haute disponibilité SR-IOV 10 GbE sur vSRX 3.0 avec Ubuntu sur un serveur KVM

Cet exemple montre comment configurer le déploiement haute disponibilité SR-IOV 10 GbE sur des instances vSRX 3.0.

Exigences

Cet exemple utilise le matériel, les composants logiciels et les systèmes d’exploitation suivants :

Appareil

  • vSRX 3.0

Logiciel

  • Junos OS version 20.4R1

Matériel

  • Carte réseau : contrôleur Ethernet Intel Corporation X710/X520/82599

  • Pilote : i40e version : 2.1.14-k ou ixgbe version : 5.1.0-k

  • Processeur : Processeur Intel (R) Xeon (R) Gold 5120 @ 2,20 GHz

  • 56 processeurs

  • Liste des processeurs en ligne de 0 à 55

  • 2 threads par cœur

  • 14 cœurs par socket

  • 2 douilles

  • 2 noeuds NUMA (Non-Uniform Memory Access)

Pour plus d’informations sur les cartes réseau, les hyperviseurs et les ports pris en charge par le SR-IOV, reportez-vous à la section Spécifications matérielles.

Système d'exploitation

Tableau 1 : informations sur le système d’exploitation KVM pris en charge par le SR-IOV HA et la carte réseau

Cartes réseau et système d’exploitation KVM

Soutien

Intel 82599/X520/X540 (basé sur le pilote 82599 ixgb)

Oui

Intel X710/XL710/XXV710/X722 (basé sur le pilote i40e)

Oui

Mellanox ConnectX-4/ConnectX-4 Lx

Non

Ubuntu 18.04 (kernel :4.15.0 + libvirt :4.0.0) et 20.04 (kernel :5.4.0 + libvirt :6.0.0) LTS

Oui

Redhat 8.2 (kernel :4.18.0 + libvirt :4.5.0)

Oui

Les systèmes d’exploitation utilisés dans cet exemple sont les suivants :

  • Ubuntu 18.04.3 LTS sur un serveur KVM

  • Noyau : 4.15.0-64-generic

  • Noyau : 4.18.0-193.1.2.el8_2.x86_64

  • Redhat Rhel 8.2

Aperçu

Cet exemple montre comment :

  • Configurer le déploiement de la haute disponibilité 10 Gigabit

  • Construire des informations de bus VF sur les interfaces NIC et modifier le modèle XML

  • Configurer les instances vSRX 3.0 de base

Dans un environnement de haute disponibilité, la liaison de contrôle et les liaisons de données de structure sont des canaux de communication clés pour la stabilité du cluster de châssis. Les deux liens font partie du même pont Linux. Le système d’exploitation hôte (Ubuntu) partage l’UC allouée au plan de contrôle vSRX 3.0 pour les tâches de routine et avec l’un des threads du plan de données PFE vSRX 3.0 pour le traitement des paquets. Cette pénurie de ressources, associée à l’absence d’un VLAN ou d’une carte réseau dédiée pour la liaison de contrôle, peut contribuer à des erreurs de pulsation.

Note:

Les liaisons de structure sur SR-IOV ne sont pas prises en charge lorsque la use-actual-mac-on-physical-interfaces commande est en cours d’utilisation.

De plus, la gestion des interruptions sur l’hôte peut également avoir un impact sur les performances. Lorsque les paquets arrivent à la carte réseau, une indication d’interruption matérielle et le cur de processeur qui dessert le plan de contrôle vSRX 3.0 doivent s’arrêter et traiter l’interruption. Un grand nombre de paquets provenant de la carte réseau peut entraîner davantage d’interruptions matérielles et moins de ressources CPU pour gérer le plan de contrôle vSRX 3.0.

Pour surmonter les contraintes de conception et la contention des ressources CPU, nous recommandons les modifications suivantes :

  • Allouez un processeur dédié à chaque plan de contrôle vSRX 3.0, plan de données vSRX 3.0 et système d’exploitation hôte.

  • Allouez la mémoire requise sur l’hôte.

  • Utilisez le SR-IOV pour l’interface de structure dans un déploiement à haute disponibilité.

  • Supprimez GRE pour la communication de liaison de contrôle et utilisez multicast dans les déploiements à haute disponibilité.

  • Activez l’affinité IRQ pour éviter les interruptions gérées par les processeurs pour le plan de contrôle et le plan de données vSRX 3.0.

  • Élargissez le descripteur de la carte réseau physique de 512 à 4 096 octets.

Nous vous recommandons de configurer tous les ports payants de vSRX 3.0 en tant que SR-IOV. De plus, sur KVM, vous pouvez configurer la haute disponibilité SR-IOV sur le port de gestion -fxp0/ le port de contrôle- em0 / le port de structure-ge-0/0/*.

Note:

La fonction de couche 2 haute disponibilité SR-IOV n’est pas prise en charge. De plus, les cartes réseau VMware et Mellanox ne prennent pas en charge la fonctionnalité de haute disponibilité SR-IOV.

La figure 1 illustre la topologie utilisée dans cet exemple.

Figure 1 : topologie de carte réseau double haute disponibilité Trust et Untrust High Availability Trust and Untrust Dual NIC Topology

Configuration

Déploiement de la haute disponibilité SR-IOV

Procédure étape par étape

Pour configurer le déploiement de haute disponibilité SR-IOV :

  1. Activez le port SR-IOV.

    Entrez les entrées requises pour profiter des ports.

  2. Effectuez les modifications suivantes dans le fichier grub par défaut disponibles à l’emplacement suivant :

  3. Exécutez la mise à niveau grub.

  4. Redémarrez l’hôte pour que les modifications soient prises en compte.

  5. (Facultatif) Les cœurs 0 à 3 basculent vers le contexte d’interruption - Routine de service d’interruption (ISR) pour gérer l’interruption à venir. Les cœurs 4 à 13 du NUMA 0 sont utilisés pour les vSRX. Exécutez le script suivant :

  6. Augmentez la taille des tampons tx et rx à 4096 sur toutes les cartes réseau.

  7. Désactivez le contrôle de flux.

  8. Vérifiez si le serveur persiste après le redémarrage.

  9. Activez le mode d’approbation VF SR-IOV et désactivez la case d’usurpation d’identité.

    Ou, vous pouvez également ajouter la commande ci-dessous au script rc.local :

Construire des informations de bus de fonctions virtuelles sur des cartes réseau

Procédure étape par étape

Pour générer des informations de bus sur les VF sur les cartes réseau :

  1. Maintenant que nous connaissons les interfaces de sauvegarde, nous devons identifier les informations de bus de tous les VF sur chaque carte réseau.

    Pour les interfaces de sauvegarde dans le réseau de confiance, nous avons besoin d’informations de bus sur les trois premiers VF.

    Pour les interfaces de secours dans le réseau non fiable, nous avons besoin d’informations de bus sur les deux premiers VF.

  2. Le Tableau 2 explique le mappage d’interface XML vers Junos nécessaire à la création du modèle.

    Tableau 2 : mappage des interfaces XML vers Junos

    NIC

    VF

    Informations sur l’autobus

    Interface

    XML Position

    fxp0

    fxp0

    1

    em0

    em0

    2

    eth0

    0

    0000:18:02.0

    GE-0/0/0 Fab0

    GE-7/0/0 Fab1

    3

    1

    0000:18:02.1

    GE-0/0/1

    GE-7/0/1

    4

    2

    0000:18:02.2

    GE-0/0/5

    GE-7/0/5

    8

    eth1

    0

    0000:18:06.0

    GE-0/0/3

    GE-7/0/3

    6

    eth2

    0

    0000 :18 :0a.0

    GE-0/0/2

    GE-7/0/2

    5

    eth3

    0

    0000 :18 :0e.0

    GE-0/0/4

    GE-7/0/4

    7

    La configuration XML vers Junos est séquentielle. La première interface est affectée à fxp0, la deuxième interface est affectée à em0 et la dernière interface est affectée à ge-0/0/9 comme indiqué dans le Tableau 3.

  3. Élaborez le tableau 3 suivant à partir du tableau 2.

    Tableau 3 : informations sur les interfaces et le bus Junos

    XML Position

    Informations sur le BUS

    Interfaces Junos

    1

    BR0

    fxp0

    2

    BR1

    em0

    3

    0000:18:02.0

    GE-0/0/0

    4

    0000:18:02.1

    GE-0/0/1

    5

    0000 :18 :0a.0

    GE-0/0/2

    6

    0000:18:06.0

    GE-0/0/3

    7

    0000 :18 :0e.0

    GE-0/0/4

    8

    0000:18:02.2

    GE-0/0/5

  4. Modifiez les strophes d’interface 2,3,4,8 et 12 dans le modèle XML ci-dessous comme indiqué dans le tableau 3.

Configurer vSRX 3.0

Configuration rapide de l’interface de ligne de commande

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à la configuration de votre réseau, copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie, puis passez commit en mode de configuration.

Note:

GE-0/0/3, GE-0/0/4, GE-7/0/3, GE-7/0/4 ne sont pas utilisés dans cette configuration.

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification de l’état du cluster de châssis

But

Vérifiez l’état, les statistiques et les informations du groupe de redondance du cluster de châssis.

Action

À partir du mode opérationnel, entrez les commandes suivantes.

Vérification des résultats du déploiement

Sens

L’exemple de sortie montre qu’il n’y a pas de basculement manuel dans l’état du cluster de châssis et vous fournit l’état de vérification de l’usurpation d’identité et l’état du mode d’approbation VF SR-IOV.

Résultats

À partir du mode configurationnel, confirmez votre configuration en entrant les show security zonescommandes , et show chassis . Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.