Guide d'administration d'Oracle® VM Server for SPARC 3.2

Quitter la vue de l'impression

Mis à jour : Mai 2015
 
 

Création de fonctions Ethernet virtuelles

Cette section décrit la création et la destruction dynamiques de fonctions virtuelles. Si vous ne pouvez pas utiliser les méthodes dynamiques pour exécuter ces actions, lancez une reconfiguration retardée sur le domaine root avant de créer ou de détruire des fonctions virtuelles.

Procédure de création d'une fonction virtuelle SR-IOV Ethernet

Si vous ne pouvez pas utiliser cette méthode dynamique, utilisez plutôt la méthode statique. Voir la section SR-IOV statique.

  1. Identifiez le périphérique de fonction physique.
    primary# ldm list-io

    Notez que le nom de la fonction physique inclut les informations d'emplacement de la carte SR-IOV PCIe ou du périphérique intégré.

  2. Effectuez uniquement cette étape si la virtualisation d'E/S n'est pas déjà activée pour le bus qui a la fonction physique.

    Effectuez uniquement cette étape si la virtualisation d'E/S n'est pas déjà activée pour le bus qui a la fonction physique.

    Voir la section Procédure d'activation de la virtualisation d'E/S pour un bus PCIe.

  3. Vous pouvez créer une fonction virtuelle unique ou plusieurs fonctions virtuelles à partir d'une fonction Ethernet physique, de manière dynamique ou statique.

    Après avoir créé une ou plusieurs fonctions virtuelles, vous pouvez les attribuer à un domaine invité.

    • Méthode dynamique :
      • Pour créer plusieurs fonctions virtuelles à partir d'une fonction physique en une seule fois, utilisez la commande suivante :
        primary# ldm create-vf -n number | max pf-name

        Utilisez la commande ldm create-vf -n max pour créer en une fois toutes les fonctions virtuelles de cette fonction physique.


        Caution

        Mise en garde  - Lorsque votre système utilise une carte Ethernet Intel 10 Gbits, vous pouvez optimiser les performances en ne créant pas plus de 31 fonctions virtuelles à partir de chaque fonction physique.


        Vous pouvez spécifier des fonctions virtuelles soit par le biais de leur nom de chemin d'accès, soit par leur pseudonyme. Toutefois, la pratique recommandée est d'utiliser le pseudonyme.

      • Pour créer une fonction virtuelle à partir d'une fonction physique, utilisez la commande suivante :
        ldm create-vf [mac-addr=num] [alt-mac-addrs=[auto|num1,[auto|num2,...]]]
          [pvid=pvid] [vid=vid1,vid2,...] [mtu=size] [name=value...] pf-name

        Remarque - Si elle n'est pas explicitement assignée, l'adresse MAC est automatiquement allouée aux périphériques réseau.

        Utilisez cette commande pour créer une fonction virtuelle pour cette fonction physique. Vous pouvez également indiquer manuellement les valeurs de propriété Ethernet en fonction de la classe.


      Remarque - Parfois, une fonction virtuelle nouvellement créée n'est pas disponible pour une utilisation immédiate, car le SE recherche toujours les périphériques IOV. Utilisez la commande ldm list-io pour déterminer si la fonction physique parent et ses fonctions virtuelles enfant ont la valeur INV dans la colonne Statut. Si cette valeur s'affiche, attendez que la sortieldm list-io n'affiche plus la valeur INV dans la colonne Statut (environ 45 secondes) avant d'utiliser cette fonction physique ou l'une de ses fonctions enfant. Si ce statut persiste, cela signifie qu'il y a un problème avec le périphérique.

      Le statut de l'appareil pourra être INV immédiatement après une réinitialisation du domaine root (y compris celle du domaine primary) ou immédiatement après avoir utilisé la commande ldm create-vf ou ldm destroy-vf.


    • Méthode statique :
      1. Lancez une reconfiguration retardée.
        primary# ldm start-reconf root-domain-name
      2. Vous pouvez créer une fonction virtuelle unique ou plusieurs fonctions virtuelles à partir d'une fonction Ethernet physique.

        Utilisez les mêmes commandes affichées précédemment pour créer les fonctions virtuelles de manière dynamique.

      3. Réinitialisez le domaine root.
        • Procédure de réinitialisation du domaine root non-primary :
          primary# ldm stop-domain -r root-domain
        • Procédure de réinitialisation du domaine root primary :
          primary# shutdown -i6 -g0 -y
Exemple 8-1  Affichage des informations relatives à la fonction Ethernet physique

Cet exemple affiche des informations sur la fonction physique /SYS/MB/NET0/IOVNET.PF0 :

  • Cette fonction physique est issue d'un périphérique réseau NET0 intégré.

  • La chaîne IOVNET indique que la fonction physique est un périphérique réseau SR-IOV.

primary# ldm list-io
NAME                                      TYPE   BUS      DOMAIN   STATUS   
----                                      ----   ---      ------   ------   
niu_0                                     NIU    niu_0    primary           
niu_1                                     NIU    niu_1    primary           
pci_0                                     BUS    pci_0    primary  
pci_1                                     BUS    pci_1    primary  
/SYS/MB/PCIE0                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE2                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE4                             PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE6                             PCIE   pci_0    primary  EMP      
/SYS/MB/PCIE8                             PCIE   pci_0    primary  EMP      
/SYS/MB/SASHBA                            PCIE   pci_0    primary  OCC      
/SYS/MB/NET0                              PCIE   pci_0    primary  OCC      
/SYS/MB/PCIE1                             PCIE   pci_1    primary  OCC      
/SYS/MB/PCIE3                             PCIE   pci_1    primary  OCC      
/SYS/MB/PCIE5                             PCIE   pci_1    primary  OCC      
/SYS/MB/PCIE7                             PCIE   pci_1    primary  EMP      
/SYS/MB/PCIE9                             PCIE   pci_1    primary  EMP      
/SYS/MB/NET2                              PCIE   pci_1    primary  OCC      
/SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary
/SYS/MB/NET0/IOVNET.PF1                   PF     pci_0    primary
/SYS/MB/PCIE5/IOVNET.PF0                  PF     pci_1    primary
/SYS/MB/PCIE5/IOVNET.PF1                  PF     pci_1    primary
/SYS/MB/NET2/IOVNET.PF0                   PF     pci_1    primary
/SYS/MB/NET2/IOVNET.PF1                   PF     pci_1    primary

La commande suivante fournit plus d'informations sur la fonction physique spécifiée. La valeur maxvfs indique le nombre maximal de fonctions virtuelles pris en charge par le périphérique.

primary# ldm list-io -l /SYS/MB/NET0/IOVNET.PF0
NAME                                      TYPE   BUS      DOMAIN   STATUS   
----                                      ----   ---      ------   ------   
/SYS/MB/NET0/IOVNET.PF0                   PF     pci_0    primary           
[pci@400/pci@1/pci@0/pci@4/network@0]
    maxvfs = 7
Exemple 8-2  Création dynamique d'une fonction Ethernet virtuelle sans paramétrage des propriétés facultatives

Cet exemple crée une fonction virtuelle de façon dynamique sans définir de propriété facultative. Dans ce cas, l'adresse MAC des fonctions virtuelles de classe réseau est automatiquement attribuée.

Assurez-vous que la virtualisation d'E/S est activée sur le bus PCIe pci_0. Voir la section Procédure d'activation de la virtualisation d'E/S pour un bus PCIe.

Vous pouvez ensuite utiliser la commande ldm create-vf pour créer la fonction virtuelle à partir de la fonction physique /SYS/MB/NET0/IOVNET.PF0.

primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0
Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0
Exemple 8-3  Création dynamique d'une fonction Ethernet virtuelle avec paramétrage des propriétés

Cet exemple crée une fonction virtuelle de façon dynamique tout en définissant la propriété mac-addr sur 00:14:2f:f9:14:c0 et la propriété vid sur les ID de VLAN 2 et 3.

primary# ldm create-vf mac-addr=00:14:2f:f9:14:c0 vid=2,3 /SYS/MB/NET0/IOVNET.PF0
Exemple 8-4  Création dynamique d'une fonction Ethernet virtuelle possédant deux adresses MAC

Cet exemple crée de façon dynamique une fonction virtuelle possédant deux adresses MAC. Une adresse MAC est automatiquement attribuée, tandis que l'autre est explicitement spécifiée comme 00:14:2f:f9:14:c2.

primary# ldm create-vf alt-mac-addrs=auto,00:14:2f:f9:14:c2 /SYS/MB/NET0/IOVNET.PF0
Exemple 8-5  Création statique d'une fonction virtuelle sans paramétrage des propriétés facultatives

Cet exemple crée une fonction virtuelle de façon statique sans définir de propriété facultative. Dans ce cas, l'adresse MAC des fonctions virtuelles de classe réseau est automatiquement attribuée.

Commencez par démarrer une reconfiguration retardée sur le domaine primary et activez la virtualisation d'E/S sur le bus PCIe pci_0. Le bus pci_0 ayant déjà été assigné au domaine root primary, vous devez utiliser la commande ldm set-io pour activer la virtualisation d'E/S.

primary# ldm start-reconf primary
Initiating a delayed reconfiguration operation on the primary domain.
All configuration changes for other domains are disabled until the primary
domain reboots, at which time the new configuration for the primary domain
will also take effect.

primary# ldm set-io iov=on pci_0

Vous pouvez ensuite utiliser la commande ldm create-vf pour créer la fonction virtuelle à partir de la fonction physique /SYS/MB/NET0/IOVNET.PF0.

primary# ldm create-vf /SYS/MB/NET0/IOVNET.PF0

------------------------------------------------------------------------------
Notice: The primary domain is in the process of a delayed reconfiguration.
Any changes made to the primary domain will only take effect after it reboots.
------------------------------------------------------------------------------

Created new vf: /SYS/MB/NET0/IOVNET.PF0.VF0

Pour finir, réinitialisez le domaine root primary pour appliquer les modifications.

primary# shutdown -i6 -g0 -y
Exemple 8-6  Création de plusieurs fonctions virtuelles SR-IOV Ethernet

La commande suivant indique la procédure à suivre pour créer quatre fonctions virtuelles à partir de la fonction physique /SYS/MB/NET2/IOVNET.PF1 :

primary# ldm create-vf -n 31 /SYS/MB/NET2/IOVNET.PF1
Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF0
Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF1
Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF2
...
Created new vf: /SYS/MB/NET2/IOVNET.PF1.VF30

Notez que la commande ldm create-vf -n crée plusieurs fonctions virtuelles définies avec des valeurs de propriété par défaut, le cas échéant. Vous pouvez indiquer plus tard les valeurs de propriété qui ne sont pas définies par défaut à l'aide de la commande ldm set-io.