Vous pouvez configurer une vNIC de machine virtuelle avec multi SRIOV pour équilibrer la charge de travail sur plusieurs adaptateurs de réseau physique (pnic) afin d'éviter la congestion du trafic réseau sur un pnic sans trafic sur un autre pnic. Cette application peut être alignée sur NUMA avec le pnic pour éviter toute perte de performances. Deux pnic fonctionnent comme des paires pour la redondance de la connectivité physique et des paires différentes pour le trafic ou le VLAN différent.

Note :
  • Dans VMware Integrated OpenStack 7.2, si vous créez une instance avec un adaptateur réseau SRIOV, l'instance est placée automatiquement dans le même nœud NUMA du pnic SRIOV si aucun numa.nodeAffinity n'est spécifié dans le type. Si numa.nodeAffinity est déjà spécifié dans le type, il remplace le paramètre NUMA de pnic.
  • Avec cette fonctionnalité, vous pouvez spécifier à quelle PF SRIOV le port SRIOV peut se connecter. Vous pouvez voir les informations de mappage définies dans  nova_compute/pci/passthrough_whitelist. Le port SRIOV du réseau physique peut être lié à la PF SRIOV spécifiée par l'adresse.
  • Vous ne pouvez pas modifier le nombre de fonctions virtuelles dans ESXi après le déploiement. Si vous souhaitez augmenter le nombre de fonctions virtuelles, vous devez redémarrer le pod de calcul Nova correspondant. Il n'y a pas de prise en charge pour diminuer le nombre de fonctions virtuelles dans VMware Integrated OpenStack.

Procédure

  1. Configurez nova-compute.conf.
    Pour la définition du PCI dans la CR de calcul Nova, vous pouvez utiliser le format suivant pour entrer le contenu dans la section values :
    '{"address": "<PCI address of vmnicX>", "product_id": "*", "vendor_id": "*", "physical_network":"<uuid of vlan transport zone of provider-network>"}'  
    viocli update novacompute <nova-compute-cr-name>
    conf:
      nova_compute:
        DEFAULT:
         ......
        pci:
          passthrough_whitelist:
            type: multistring
            values:
            - '{"address": "0000:1a:00.0", "product_id": "*", "vendor_id": "*", "physical_network":"bf86b52f-a629-4c07-a8bd-14b4b46ba384"}'
            - '{"address": "0000:5e:00.1", "product_id": "*", "vendor_id": "*", "physical_network":"c12a7025-22bc-403c-8ff9-9a25a236704a"}'
            - '{"address": "0000:d8:00.0", "product_id": "*", "vendor_id": "*", "physical_network":"801cd687-b65b-449c-9892-c22647851bf3"}'
            - '{"address": "0000:d8:00.1", "product_id": "*", "vendor_id": "*", "physical_network":"7ab64053-9e48-416d-8b1e-80e1fccd3dcd"}'
    Si vous utilisez un DVS ou un déploiement NSX-T Data Center, ajoutez le paramètre dvs_moid dans la section vmware.
    dvs_moid: sriov-vds-moid

    Définissez la valeur de dvs_moid sur l'identifiant d'objet géré (MOID) du commutateur distribué associé au cluster de calcul pour les périphériques SRIOV.

  2. Créez un réseau et un sous-réseau de fournisseurs.
    neutron --insecure net-create 3158-net --provider:network_type vlan --provider:physical_network c12a7025-22bc-403c-8ff9-9a25a236704a --provider:segmentation_id 3158
    openstack --insecure subnet create --network 3158-net --allocation-pool start=172.17.2.1,end=172.17.2.254 --gateway 172.17.0.1 --subnet-range 172.17.0.0/22 3158-subnet
    
  3. Créez des ports SRIOV.
    neutron --insecure port-create 3158-net --name 3158-p1 --vnic_type direct
    neutron --insecure port-create 3158-net --name 3158-p2  --vnic_type direct
    neutron --insecure port-create 3158-net --name 3158-p3 --vnic_type direct
  4. Lancer une instance avec le port spécifié. Vous pouvez voir l'adaptateur réseau ajouté à la machine virtuelle ; il est connecté à vmnic2.
    nova boot --flavor m1.tiny --image a133ffd7-1601-42e5-a66f-1eb6130db093 --nic port-id=031e14e3-cf06-40e1-addf-3f13f5b5da66 --nic port-id=25c6ce90-2cff-4189-ae21-abc27a131ae7  <vm-name>