Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exemple : activation de SR-IOV sur des instances vMX sur KVM

vMX sur KVM prend en charge les types d’interfaces de virtualisation des E/S à racine unique (SR-IOV). La virtualisation des E/S à racine unique (SR-IOV) permet à une fonction physique d’apparaître sous la forme de plusieurs vNIC distinctes. SR-IOV permet à un périphérique, tel qu’une carte réseau, d’avoir un accès séparé à ses ressources entre les différentes fonctions matérielles. Si vous disposez d’une carte réseau physique prenant en charge SR-IOV, vous pouvez attacher des vNIC compatibles SR-IOV ou des fonctions virtuelles (VF) à l’instance vMX pour améliorer les performances.

Configuration système requise :

  • Junos OS version 18.4 ou ultérieure.

  • SR-IOV sur le VMX pour KVM nécessite l’un des pilotes de carte réseau Intel suivants :

    • Intel X520 ou X540 utilisant des ports 10G et un pilote ixgbe

    • Intel X710 ou XL710 utilisant des ports 10G et pilote i40e

    À partir de Junos OS version 19.1R1-S1 et de Junos OS version 19.2R1, la prise en charge des ports 40G avec des cartes réseau Intel XL710-QDA2 est disponible pour les instances VMX. Lors de l’utilisation de ports 40G, le vMX détecte automatiquement la vitesse du port et attribue deux vCPU d’E/S.

Pour activer SR-IOV sur les instances VMX, vous devez effectuer les tâches suivantes :

  • Préparez une carte réseau pour utiliser SR-IOV en mode système (/sys/).

  • Installez le pilote à partir d’Intel, vous devez compiler le pilote, désinstaller l’ancien pilote et installer le nouveau pilote compilé

    Note:

    Le programme d’installation de vMX fournit également un pilote d’intel modifié. Vous pouvez utiliser les pilotes natifs d’Intel ou utiliser le pilote modifié vMX.

  • Préparer le fichier vmx.conf

  • Utiliser l’interface de ligne de commande Junos pour configurer le pilote natif

  • Configuration requise du BIOS pour activer SR-IOV - Assurez-vous que Intel VT-d ou AMD IOMMU sont activés dans les paramètres du BIOS du système.

Procédure d’identification des adresses PCI et du nom du noyau pour la carte réseau

  1. Pour trouver l’adresse PCI, utilisez la commande suivante :
  2. Pour trouver le nom du noyau à l’aide de PCI, utilisez la commande suivante :
  3. Pour connaître le pilote utilisé pour la carte réseau, utilisez la commande suivante :

Téléchargez et installez le dernier pilote logiciel d’Intel

Vous pouvez télécharger le dernier logiciel pilote d’Intel et remplacer le logiciel pilote existant fourni par Ubuntu.

Dans cet exemple, téléchargez le logiciel à partir du pilote de carte réseau Intel pour PCIe * Connexions réseau Intel®® 10 Gigabit Ethernet sous Linux et enregistrez-le dans le répertoire de votre choix et suivez les instructions README pour continuer.

Pour installer le pilote logiciel d’Intel :

  1. Installez le pilote.
  2. Désinstallez l’ancien pilote et chargez le pilote mis à jour à l’aide de la rmmodcommande /modprobe .
    Avertissement:

    La commande rmmod désinstalle le pilote 10GE. S’il s’agit de la seule interface à laquelle vous êtes connecté, l’accès à l’hôte sera perdu.

  3. Vérifiez si le nouveau pilote est correctement installé.

Préparer la carte réseau à utiliser SR-IOV en mode système

L’hôte doit être informé pour chaque carte réseau dédiée en définissant la valeur, le nombre de VF qui vont utiliser SR-IOV pour la sriov_numvfs carte réseau donnée. Le script vmx.sh n’a aucune information sur le nombre de VF qui utiliseront la carte réseau partagée. Pour cette raison, vous devez configurer le en sriov_numvfs conséquence.

Cette valeur peut être définie comme une option de démarrage pour être persistante après un redémarrage et peut être modifiée à la volée qui ne serait pas persistante après un redémarrage.

La procédure donnée dans cet exemple est une solution temporaire pour la configuration à l’aide de /sys Tout paramètre sur /sys/class/net//device/interface-namesriov_numvfs n’est pas permanent, donc la configuration sriov_numvfs ne survit pas à un redémarrage.

Pour préparer la carte réseau à utiliser le SR-IOV, procédez comme suit :

Créez une fonction virtuelle (VF) à l’aide de la commande suivante :

La commande ci-dessous permet à 4 VNF d’utiliser la carte réseau partagée ens8f1 pour SR-IOV. Vous devez utiliser sudo ou vous devez vous connecter en tant qu’utilisateur root.

Note:

L’option sriov_numvfs accepte uniquement les valeurs 0-n, où n est le nombre maximal de VF prises en charge par le SR-IOV.

Configuration de SR-IOV au démarrage

Les procédures suivantes fournissent d’autres méthodes pour configurer SR-IOV lorsque la configuration persiste un redémarrage de l’hôte.

Les options suivantes sont disponibles pour définir la valeur pendant le processus de démarrage de l’hôte :

  • Utilisation de rc.local

  • Définition des options de modprobe

  • Définition de kernel-paramater à l’aide de grub

L’exemple ci-dessous montre une méthode pour configurer la valeur à l’aide de la sriov_numvfs commande grub kernel

Vous devez définir « intel_iommu=on » et ixgbe.max_vfs= value

Pour plus d’informations sur hugepages, consultez Préparation de l’hôte Ubuntu pour l’installation de vMX.

Editez le fichier « /etc/default/grub » :

Après modification, mettez à jour les éléments suivants :

Écrivez un nouveau chargeur de démarrage pour activer les modifications au prochain redémarrage.

Redémarrez l’hôte pour activer les paramètres.

Vérifier les paramètres sriov_numvfs

But

Pour vérifier la configuration à l’aide sriov_numvfs de l’interface de ligne de commande. Dans cet exemple, la carte réseau à utiliser avec SR-IOV est ens8f1 à l’adresse PCI 85 :00.0. Veuillez noter la « Fonction virtuelle » dans la sortie.

Action

Le /sys/class/net/ens8f1/device/sriov_numvfs contient également la valeur souhaitée de sriov_numvfs.

Pour les tests, le sriov_numvfs peut être modifié rapidement en écrivant directement dans /sys/class/net/interface-name/device/sriov_numvfs.

Modification du nombre de sriov_numvfs

Nous vous recommandons de créer sriov_numvfs à l’avance (exemple : en utilisant la commande grub au démarrage), car il n’est pas permis de modifier le numéro du VF après le déploiement de la 1ère instance vMX qui utilise une carte réseau donnée avec SR-IOV. Si vous devez modifier le numéro du VF, vous devez arrêter le vMX en cours d’exécution. Nous vous recommandons de définir l’option sriov_numvfs sur une valeur plus élevée pour éviter de changer le numéro de sriov_numvfs par la suite.

Pour modifier une valeur déjà configurée de VF, vous devez d’abord modifier sa valeur en 0, puis la remplacer par la valeur entière requise.

Si aucune VF n’est attribuée, le nombre de VF peut être modifié en n’importe quelle valeur valide (0 - n, où n est le nombre maximal de VF prises en charge par le SR-IOV)

Vous devez effectuer les étapes suivantes pour modifier le nombre de VF :

  1. Arrêtez d’exécuter des VNF à l’aide de la carte réseau SR-IOV partagée.

  2. Désactivez la carte réseau SR-IOV en définissant le nombre de foncteurs virtuels (VF) sur 0.

  3. Modifiez le nombre requis de VF (vous en utilisez six dans cet exemple)

    Note:

    Si le message d’erreur suivant s’affiche, définissez d’abord la valeur sur zéro comme décrit à l’étape 2 avant d’effectuer l’étape 3

  4. Vérifiez votre configuration à l’aide de la commande suivante :

Avant de redémarrer le vMX, adoptez le fichier vmx.conf pour l’utilisation de SR-IOV.

Mise à jour des paramètres du fichier de configuration VMX (vmx.conf)

Les paramètres requis pour configurer vMX sont définis dans le fichier de configuration de démarrage. Le fichier de configuration est au format YAML. Le fichier par défaut est config/vmx.conf. Vous pouvez enregistrer votre fichier de configuration sous un nom différent pour différentes instances.

Pour configurer des interfaces pour les types d’équipements SR-IOV, vous devez spécifier l’interface, la carte réseau et l’adresse MAC. Le tableau 1 fournit les détails des paramètres de configuration que nous utilisons pour modifier le fichier vmx.conf.

Tableau 1 : paramètres du fichier de configuration VMX

Composants

Paramètres de la machine virtuelle

Description

vPFE

device-type

Utiliser sriov pour toutes les interfaces utilisant le SR-IOV ou pour mixed permettre le mélange d’interfaces SR-IOV et non-SR-IOV.

use_native_drivers

Défini sur true pour autoriser l’utilisation du pilote Intel ixgbe de l’hôte (qui a été téléchargé et respecté dans les étapes ci-dessus)

Interfaces

type

Si type est défini sur sriov, alors port-speed-mbps et nic doit être défini.

port-speed-mbps

Réglez-le sur 10000 pour la carte réseau 10GE.

nic

nom_noyau de l’interface à utiliser.

virtual-function

Définissez sur 0 pour la première instance vMX à l’aide de cette carte réseau. Assurez-vous de définir la valeur 1 pour 2nd vMX à l’aide de cette carte réseau partagée (et ainsi de suite)

mac-address

Assurez-vous que chaque instance VF utilisant la carte réseau partagée utilise une adresse MAC unique ou différente.

Exemple de fichier vmx.conf :

Démarrez vmx-install

Modifications requises pour l’utilisation du pilote Intel ixgbe

Lorsque vous essayez de déplacer un déploiement existant d’un pilote IXGBE modifié vers un pilote IXGBE non modifié, passez en mode édition dans Junos CLI et utilisez la commande suivante lorsque vous utilisez des pilotes « natifs ».

Pour plus d’informations, consultez Pilote IXGBE modifié et non modifié.