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

Quitter la vue de l'impression

Mis à jour : Octobre 2015
 
 

Utilisation d'une fonction virtuelle SR-IOV pour créer un domaine d'E/S

La procédure suivante décrit la création d'un domaine d'E/S incluant des fonctions virtuelles SR-IOV PCIe.

Procédure de création d'un domaine d'E/S par affectation d'une fonction virtuelle SR-IOV

Planifiez à l'avance le nombre de réinitialisations du domaine root pour réduire les indisponibilités.

Avant de commencer

Avant de commencer, assurez-vous que vous avez activé la virtualisation d'E/S pour le bus PCIe qui est le parent de la fonction physique à partir de laquelle vous créez des fonctions virtuelles. Voir la section Procédure d'activation de la virtualisation d'E/S pour un bus PCIe.

  1. Identifiez une fonction physique SR-IOV à partager avec un domaine d'E/S utilisant la fonctionnalité SR-IOV.
    primary# ldm list-io
  2. Créez une ou plusieurs fonctions virtuelles pour la fonction physique.
    primary# ldm create-vf pf-name

    Vous pouvez exécuter cette commande pour chaque fonction virtuelle que vous souhaitez créer. Vous pouvez également utiliser l'option –n pour créer plusieurs fonctions virtuelles à partir de la même fonction physique d'une seule commande. Reportez-vous aux pages de manuel Example 7–6 et ldm(1M).


    Remarque - Cette commande échoue si d'autres fonctions virtuelles ont déjà été créées à partir de la fonction physique associée et si l'une de ces fonctions virtuelles est liée à un autre domaine.
  3. Affichez la liste des fonctions virtuelles disponibles sur le domaine root.
    primary# ldm list-io
  4. Assignez la fonction virtuelle créée à l'Step 2 à son domaine d'E/S cible.
    primary# ldm add-io vf-name domain-name

    Remarque - Si le SE du domaine d'E/S cible ne prend pas en charge la méthode SR-IOV dynamique, utilisez la méthode statique. Voir la section SR-IOV statique.
  5. Vérifiez que la fonction virtuelle est disponible sur le domaine d'E/S.

    La commande Oracle Solaris 11 suivante affiche la disponibilité de la fonction virtuelle :

    guest# dladm show-phys
Exemple 7-12  Création dynamique d'un domaine d'E/S par assignation d'une fonction virtuelle SR-IOV

L'exemple suivant illustre la création dynamique d'une fonction virtuelle, /SYS/MB/NET0/IOVNET.PF0.VF0, pour une fonction physique, /SYS/MB/NET0/IOVNET.PF0, et l'assignation de la fonction virtuelle au domaine d'E/S ldg1.

    Cet exemple suppose les circonstances suivantes :

  • Le SE du domaine primary prend en charge les opérations SR-IOV dynamiques

  • Le bus pci_0 est assigné au domaine primary et a été initialisé pour les opérations de virtualisation d'E/S

  • La fonction physique /SYS/MB/NET0/IOVNET.PF0 appartient au bus pci_0

  • La fonction physique /SYS/MB/NET0/IOVNET.PF0 ne comporte pas de fonctions virtuelles assignées à des domaines

  • Le domaine ldg1 est actif et initialisé et son SE prend en charge les opérations SR-IOV dynamiques

Créez 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

Ajoutez la fonction virtuelle /SYS/MB/NET0/IOVNET.PF0.VF0 au domaine ldg1.

primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1

La commande suivante indique que la fonction virtuelle a été ajoutée au domaine ldg1.

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   IOV
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
/SYS/MB/NET0/IOVNET.PF0.VF0   VF    pci_0    ldg1
Exemple 7-13  Création statique d'un domaine d'E/S par assignation d'une fonction virtuelle SR-IOV

L'exemple statique suivant illustre la création d'une fonction virtuelle, /SYS/MB/NET0/IOVNET.PF0.VF0, pour une fonction physique, /SYS/MB/NET0/IOVNET.PF0, et l'assignation de la fonction virtuelle au domaine ldg1.

    Cet exemple suppose les circonstances suivantes :

  • Le SE du domaine primary ne prend pas en charge les opérations SR-IOV dynamiques

  • Le bus pci_0 est assigné au domaine primary et n'a pas été initialisé pour les opérations de virtualisation d'E/S.

  • La fonction physique /SYS/MB/NET0/IOVNET.PF0 appartient au bus pci_0

  • La fonction physique /SYS/MB/NET0/IOVNET.PF0 ne comporte pas de fonctions virtuelles assignées à des domaines

  • Le domaine ldg1 est actif et initialisé et son SE ne prend pas en charge les opérations SR-IOV dynamiques

  • La propriété auto-boot? du domaine ldg1 est définie sur true, de sorte que le domaine est automatiquement initialisé lors du démarrage du domaine

Démarrez d'abord une reconfiguration retardée sur le domaine primary, activez la virtualisation d'E/S et créez la fonction virtuelle à partir de la fonction physique /SYS/MB/NET0/IOVNET.PF0.

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
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

Ensuite, arrêtez le domaine primary.

primary# shutdown -i6 -g0 -y

Arrêtez le domaine ldg1, ajoutez la fonction virtuelle et démarrez le domaine.

primary# ldm stop ldg1
primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
primary# ldm start ldg1

La commande suivante indique que la fonction virtuelle a été ajoutée au domaine ldg1.

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   IOV
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
/SYS/MB/NET0/IOVNET.PF0.VF0   VF    pci_0    ldg1