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.
Si vous ne pouvez pas utiliser cette méthode dynamique, utilisez plutôt la méthode statique. Voir la section SR-IOV statique.
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é.
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.
Après avoir créé une ou plusieurs fonctions virtuelles, vous pouvez les attribuer à un domaine invité.
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. Cette commande alloue automatiquement les noms universels de port et de noeud pour chaque fonction virtuelle et définit la propriété bw-percent sur 0, la valeur par défaut. Cette valeur indique qu'une part équitable de la bande passante est allouée à toutes les fonctions virtuelles.
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.
ldm create-vf [bw-percent=value] [port-wwn=value node-wwn=value] pf-name
Vous pouvez également indiquer manuellement les valeurs de propriété Fibre Channel en fonction de la classe.
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.
primary# ldm start-reconf root-domain-name
Utilisez les mêmes commandes affichées précédemment pour créer les fonctions virtuelles de manière dynamique.
primary# ldm stop-domain -r root-domain
primary# shutdown -i6 -g0 -y
Cet exemple affiche des informations sur la fonction physique /SYS/MB/PCIE7/IOVFC.PF0 :
Cette fonction physique vient d'une carte dans l'emplacement PCIe PCIE7.
La chaîne IOVFC indique que la fonction physique est un périphérique SR-IOV Fibre Channel.
primary# ldm list-io NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ pci_0 BUS pci_0 primary IOV pci_1 BUS pci_1 rootdom1 IOV niu_0 NIU niu_0 primary niu_1 NIU niu_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 rootdom1 OCC /SYS/MB/PCIE3 PCIE pci_1 rootdom1 OCC /SYS/MB/PCIE5 PCIE pci_1 rootdom1 OCC /SYS/MB/PCIE7 PCIE pci_1 rootdom1 OCC /SYS/MB/PCIE9 PCIE pci_1 rootdom1 OCC /SYS/MB/NET2 PCIE pci_1 rootdom1 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 rootdom1 /SYS/MB/PCIE5/IOVNET.PF1 PF pci_1 rootdom1 /SYS/MB/PCIE7/IOVFC.PF0 PF pci_1 rootdom1 /SYS/MB/PCIE7/IOVFC.PF1 PF pci_1 rootdom1 /SYS/MB/NET2/IOVNET.PF0 PF pci_1 rootdom1 /SYS/MB/NET2/IOVNET.PF1 PF pci_1 rootdom1
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/PCIE7/IOVFC.PF0 NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ /SYS/MB/PCIE7/IOVNET.PF0 PF pci_0 rootdom1 [pci@400/pci@1/pci@0/pci@6/SUNW,fcdev@0] maxvfs = 8Exemple 7-19 Création dynamique d'une fonction Fibre Channel 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, la commande ldm create-vf alloue automatiquement le pourcentage de bande passante par défaut, ainsi que les valeurs de nom universel de port et de noeud.
Assurez-vous que la virtualisation d'E/S est activée sur le bus PCIe pci_1. Voir la section Procédure d'activation de la virtualisation d'E/S pour un bus PCIe.
Vous pouvez utiliser la commande ldm create-vf pour créer toutes les fonctions virtuelles à partir de la fonction physique /SYS/MB/PCIE7/IOVFC.PF0.
primary# ldm create-vf -n max /SYS/MB/PCIE7/IOVFC.PF0 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF0 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF1 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF2 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF3 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF4 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF5 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF6 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF7Exemple 7-20 Création dynamique d'une fonction Fibre Channel virtuelle avec paramétrage des propriétés
Cet exemple crée une fonction virtuelle de manière dynamique tout en définissant la valeur de propriété bw-percent sur 25 et indique les noms universels de port et de noeud.
primary# ldm create-vf port-wwn=10:00:00:14:4F:FC:00:01 \ node-wwn=20:00:00:14:4F:FC:00:01 bw-percent=25 /SYS/MB/PCIE7/IOVFC.PF0Exemple 7-21 Création statique d'une fonction Fibre Channel 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, la commande ldm create-vf alloue automatiquement le pourcentage de bande passante par défaut, ainsi que les valeurs de nom universel de port et de noeud.
Lancez tout d'abord une reconfiguration retardée sur le domaine rootdom1. Activez ensuite la virtualisation d'E/S sur le bus PCIe pci_1. Le bus pci_1 ayant déjà été assigné au domaine root rootdom1, vous devez utiliser la commande ldm set-io pour activer la virtualisation d'E/S.
primary# ldm start-reconf rootdom1 Initiating a delayed reconfiguration operation on the rootdom1 domain. All configuration changes for other domains are disabled until the rootdom1 domain reboots, at which time the new configuration for the rootdom1 domain will also take effect. primary# ldm set-io iov=on pci_1
Vous pouvez ensuite utiliser la commande ldm create-vf pour créer toutes les fonctions virtuelles à partir de la fonction physique /SYS/MB/PCIE7/IOVFC.PF0.
primary# ldm create-vf -n max /SYS/MB/PCIE7/IOVFC.PF0 ------------------------------------------------------------------------------ Notice: The rootdom1 domain is in the process of a delayed reconfiguration. Any changes made to the rootdom1 domain will only take effect after it reboots. ------------------------------------------------------------------------------ Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF0 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF1 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF2 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF3 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF4 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF5 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF6 Created new vf: /SYS/MB/PCIE7/IOVFC.PF0.VF7
Enfin, réinitialisez le domaine root rootdom1 pour appliquer les modifications d'une des manières suivantes :
rootdom1 est un domaine root non-primary
primary# ldm stop-domain -r rootdom1
rootdom1 est le domaine primary
primary# shutdown -i6 -g0 -y