Ignorer les liens de navigation | |
Quitter l'aperu | |
Guide d'administration d'Oracle VM Server for SPARC 3.0 Oracle VM Server for SPARC (Français) |
Partie I Logiciel Oracle VM Server for SPARC 3.0
1. Présentation du logiciel Oracle VM Server for SPARC
2. Installation et activation du logiciel
3. Sécurité d'Oracle VM Server for SPARC
4. Configuration des services et du domaine de contrôle
5. Configuration des domaines invités
6. Configuration des domaines d'E/S
Présentation d'un domaine d'E/S
Lignes directrices pour la création d'un domaine d'E/S
Procédure de création d'un domaine d'E/S par assignation d'un bus PCIe
Assignation des périphériques d'extrémité PCIe
Configuration matérielle et logicielle requise pour les E/S directes
Restrictions actuelles de la fonctionnalité d'E/S directes
Planification de la configuration des périphériques d'extrémité PCIe
Réinitialisation du domaine root
Procédure de modification matérielle PCIe
Procédure de création d'un domaine d'E/S par assignation d'un périphérique d'extrémité PCIe
Utilisation des fonctions virtuelles SR-IOV PCIe
Configuration matérielle et logicielle requise pour SR-IOV
Restrictions actuelles de la fonction SR-IOV
Planification de l'utilisation de fonctions virtuelles SR-IOV PCIe
Création, modification et destruction de fonctions virtuelles
Procédure de création d'une fonction virtuelle
Procédure de modification d'une fonction virtuelle
Procédure de destruction d'une fonction virtuelle
Ajout et suppression de fonctions virtuelles sur des domaines d'E/S
Procédure d'ajout d'une fonction virtuelle à un domaine d'E/S
Procédure de suppression d'une fonction virtuelle d'un domaine d'E/S
SR-IOV : réinitialisation du domaine root
Utilisation d'une fonction virtuelle SR-IOV pour créer un domaine d'E/S
Procédure de création d'un domaine d'E/S par affectation d'une fonction virtuelle SR-IOV
7. Utilisation des disques virtuels
8. Utilisation des réseaux virtuels
11. Gestion des configurations de domaine
12. Réalisation d'autres tâches d'administration
Partie II Logiciel Oracle VM Server for SPARC facultatif
13. Outil de conversion physique-à-virtuel Oracle VM Server for SPARC
14. Assistant de configuration d'Oracle VM Server for SPARC (Oracle Solaris 10)
15. Utilisation de la gestion de l'alimentation
16. Utilisation du logiciel Oracle VM Server for SPARC Management Information Base
17. Recherche de Logical Domains Manager
18. Utilisation de l'interface XML avec Logical Domains Manager
La prise en charge de la fonction SR-IOV (virtualisation d'E/S à root unique) PCIe (Peripheral Component Interconnect Express) a été ajoutée à la version 2.2 de Oracle VM Server for SPARC.
L'implémentation SR-IOV est basée sur la version 1.1 de la norme telle que définie par le consortium PCI-SIG. La norme SR-IOV permet le partage efficace de périphériques PCIe entre des machines virtuelles et est implémenté dans le matériel afin d'atteindre des performances d'E/S comparables à des performances natives. La spécification SR-IOV définit une nouvelle norme dans laquelle les nouveaux périphériques créés permettent à la machine virtuelle d'être directement connectée au périphérique d'E/S.
Une ressource d'E/S unique, appelée fonction physique, peut être partagée par plusieurs machines virtuelles. Les périphériques partagés fournissent des ressources dédiées et utilisent également des ressources communes partagées. De cette manière, chaque machine virtuelle a accès à des ressources uniques. Par conséquent, sous réserve de prise en charge par le SE et de matériel approprié, un périphérique PCIe tel qu'un port Ethernet sur lequel la fonction SR-IOV est activée peut apparaître sous la forme de plusieurs périphériques physiques distincts possédant chacun son propre espace de configuration PCIe.
Pour plus d'informations sur SR-IOV, visitez le site Web de PCI-SIG.
La figure suivante illustre la relation entre les fonctions virtuelles et une fonction physique dans un domaine d'E/S.
Figure 6-3 Utilisation de fonctions virtuelles (VF) et d'une fonction physique (PF) dans un domaine d'E/S.
SR-IOV présente les types de fonctions suivants :
Fonction physique : fonction PCI prenant en charge les fonctionnalités SR-IOV telles que définies dans la norme SR-IOV. Une fonction physique contient la structure des fonctions SR-IOV et gère la fonctionnalité SR-IOV. Les fonctions physiques sont des fonctions PCIe à part entière qui peuvent être découvertes, gérées et manipulées comme n'importe quel autre périphérique PCIe. Les fonctions physiques peuvent être utilisées pour configurer et contrôler un périphérique PCIe.
Fonction virtuelle : fonction PCI associée à une fonction physique. Une fonction virtuelle est une fonction PCIe allégée qui partage une ou plusieurs ressources physiques avec la fonction physique et avec d'autres fonctions virtuelles associées à la même fonction physique. A la différence d'une fonction physique, une fonction virtuelle peut uniquement configurer son propre comportement.
Chaque périphérique SR-IOV peut avoir une fonction physique et chaque fonction physique peut se voir associer jusqu'à 64 000 fonctions virtuelles. Ce nombre varie en fonction du périphérique SR-IOV concerné. Les fonctions virtuelles sont créées par la fonction physique.
Une fois que SR-IOV est activé dans la fonction physique, l'espace de configuration PCI de chaque fonction virtuelle est accessible via le numéro de bus, de périphérique et de fonction de la fonction physique. Chaque fonction virtuelle dispose d'un espace mémoire PCI utilisé pour mapper son jeu de registres. Les pilotes de périphérique de la fonction virtuelle agissent sur le jeu de registres pour activer sa fonctionnalité et la fonction virtuelle apparaît sous la forme d'un véritable périphérique PCI. Après sa création, vous pouvez directement affecter une fonction virtuelle à un domaine d'E/S. Cette fonctionnalité permet à la fonction virtuelle de partager le périphérique physique et de réaliser des E/S sans surcharge de la CPU et du logiciel hyperviseur.
Les périphériques dotés de fonctionnalités SR-IOV présentent les avantages suivants :
Performances accrues et latence réduite : accès direct au matériel à partir d'un environnement de machines virtuelles
Réduction des coûts : réduction des dépenses d'investissement et d'exploitation, notamment :
Economies d'énergie
Nombre réduit d'adaptateurs
Câblage moindre
Moins de ports de commutateur
La prise en charge de la fonction SR-IOV PCIe a été ajoutée à la version 2.2 d'Oracle VM Server for SPARC. Pour plus d'informations sur les versions requises du matériel, des logiciels et du microprogramme, reportez-vous à la section Configuration matérielle et logicielle SR-IOV PCIe du manuel Notes de version d’Oracle VM Server for SPARC 3.0.
Pour créer et supprimer des fonctions virtuelles dans les périphériques des fonctions virtuelles SR-IOV, vous devez commencer par activer la virtualisation d'E/S sur le bus PCIe.
Vous pouvez utiliser la commande ldm set-io ou ldm add-io pour paramétrer la propriété iov sur on. Vous pouvez également utiliser la commande ldm add-domain ou ldm set-domain pour paramétrer la propriété rc-add-policy sur iov. Reportez-vous à la page de manuel ldm(1M).
La réinitialisation du domaine root affecte la fonction SR-IOV. En conséquence, planifiez correctement vos modifications de configuration d'E/S directes pour optimiser les modifications relatives à la fonction SR-IOV sur le domaine root et pour réduire les réinitialisations du domaine root.
Remarque - Pour réduire le nombre de réinitialisations au strict minimum, réalisez plusieurs opérations au cours d'une même reconfiguration retardée.
Dans cette version, la fonction SR-IOV présente les restrictions suivantes :
La migration est désactivée pour tout domaine auquel une ou plusieurs fonctions virtuelles sont affectées.
Vous pouvez uniquement détruire la dernière fonction virtuelle créée pour une fonction physique. Par conséquent, si vous créez trois fonctions virtuelles, la première fonction virtuelle que vous pouvez détruire doit être la troisième.
Seules les cartes SR-IOV Ethernet sont prises en charge.
La fonction SR-IOV est uniquement activée pour les cartes SR-IOV installées sur le domaine primary. Si une carte SR-IOV est assignée à un domaine par le biais de l'affectation de bus PCIe ou la fonction d'E/S directes (DIO), la fonction SR-IOV n'est pas activée pour cette carte.
Vous pouvez activer les configurations VLAN de fonctions virtuelles en définissant la propriété pvid ou la propriété vid. Ces deux propriétés de fonctions virtuelles ne peuvent pas être définies simultanément.
Avant de créer et de détruire des fonctions virtuelles, planifiez à l'avance les fonctions virtuelles que vous souhaitez utiliser dans votre configuration. Lors de la création et de la destruction de fonctions virtuelles, le domaine primary doit être réinitialisé. Cette réinitialisation a une incidence négative sur tous les domaines d'E/S comportant des extrémités PCIe ou sur lesquels les fonctions virtuelles SR-IOV sont configurées. Il est donc important de réduire au strict minimum le nombre de réinitialisations du domaine primary. Déterminez le nombre de fonctions virtuelles dont vous avez besoin à partir des différents périphériques SR-IOV pour satisfaire vos besoins de configuration actuels et à venir.
Pour plus d'informations sur les domaines d'E/S, reportez-vous à la section Lignes directrices pour la création d'un domaine d'E/S.
Procédez aux étapes générales suivantes pour planifier et réaliser la configuration et l'affectation des fonctions virtuelles SR-IOV :
Faites l'inventaire des fonctions physiques SR-IOV PCIe disponibles sur votre système et déterminez celles qui répondent le mieux à vos besoins.
Utilisez les commandes suivantes pour obtenir les informations requises :
Identifie les périphériques de fonction physique SR-IOV.
Identifie les cartes SR-IOV PCIe et les périphériques intégrés disponibles.
Identifie des informations supplémentaires à propos d'une fonction physique donnée, par exemple le nombre maximum de fonctions virtuelles prises en charge par le périphérique.
Identifie les propriétés spécifiques au périphérique prises en charge par le périphérique. Reportez-vous à la section Rubriques SR-IOV avancées.
Démarrez une reconfiguration retardée sur le domaine root.
primary# ldm start-reconf primary
Activez les opérations de virtualisation d'E/S pour un bus PCIe.
primary# ldm set-io iov=on bus
Créez le nombre de fonctions virtuelles requises sur la fonction physique SR-IOV spécifiée.
Utilisez la commande suivante pour créer la fonction virtuelle :
primary# ldm create-vf pf-name
Utilisez la commande ldm create-vf pour définir les propriétés spécifiques au périphérique et au réseau d'une fonction virtuelle. La propriété unicast-slots est spécifique au périphérique. Les propriétés mac-addr, alt-mac-addrs, mtu, pvid et vid sont spécifiques au réseau.
Notez que les propriétés spécifiques au réseau mac-addr, alt-mac-addrs et mtu peuvent être modifiées en procédant comme suit :
Lorsque la fonction virtuelle est assignée au domaine primary : vous devez démarrer une reconfiguration retardée.
Lorsque la fonction virtuelle est affectée à un domaine d'E/S actif : une demande de modification de propriété est rejetée car la modification doit être effectuée lorsque le domaine propriétaire est dans l'état inactif ou lié.
Lorsque la fonction virtuelle est assignée à un domaine autre que le domaine primary et qu'une reconfiguration retardée est déjà en vigueur : une demande de modification de propriété échoue avec affichage d'un message d'erreur.
Les propriétés spécifiques au réseau pvid et vid peuvent être modifiées sans restrictions.
Lors d'une reconfiguration retardée, vous pouvez créer de nouvelles fonctions virtuelles et démarrer le domaine primary une seule fois pour appliquer les modifications. Vous n'avez pas besoin de réinitialiser le domaine primary après la création de chaque fonction virtuelle.
Une fonction physique SR-IOV donnée peut prendre en charge un grand nombre de fonctions virtuelles. Créez uniquement les fonctions virtuelles dont vous avez besoin. Pour connaître le nombre de configurations maximal recommandé, reportez-vous à la section Rubriques SR-IOV avancées.
Utilisez la commande ldm add-config pour enregistrer la configuration sur le processeur de service.
Réinitialisez le domaine root pour créer la fonction virtuelle.
Vous devez arrêter un domaine actif avant de lui affecter une fonction virtuelle à l'aide de la commande ldm add-io. Réduisez au minimum l'indisponibilité des domaines d'E/S en effectuant simultanément toutes les modifications de domaines d'E/S. En procédant ainsi, vous réduisez le nombre de réinitialisations du domaine primary requises pour définir de telles configurations.
Initialisez les domaines d'E/S et configurez les fonctions virtuelles comme s'il s'agissait de n'importe quel autre périphérique réseau.
Pour plus d'informations sur les restrictions des fonctions virtuelles, reportez-vous à la section Rubriques SR-IOV avancées.
Cette section décrit la création, la modification et la destruction de fonctions virtuelles.
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é.
Démarrez une reconfiguration retardée sur le domaine de contrôle.
primary# ldm start-reconf primary
primary# ldm set-io iov=on bus
primary# 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 - Pour les périphériques réseau, l'adresse MAC est automatiquement attribuée.
Vous pouvez utiliser soit le nom du chemin d'accès, soit le pseudonyme pour indiquer des fonctions virtuelles. Toutefois, il est recommandé d'utiliser le pseudonyme.
Exemple 6-1 Création d'une fonction virtuelle
L'exemple suivant montre 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
Les exemples suivants indiquent comment créer une fonction virtuelle :
Cet exemple crée une fonction virtuelle sans définir de propriété facultative. Dans ce cas, l'adresse MAC pour une fonction virtuelle de classe réseau est automatiquement attribuée.
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
Cet exemple crée une fonction virtuelle 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
Cet exemple crée une fonction virtuelle disposant de 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
La commande ldm set-io bus modifie la configuration en cours d'une fonction virtuelle en modifiant les valeurs des propriétés ou en définissant de nouvelles propriétés. Cette commande permet de modifier à la fois les propriétés propres au réseau et les propriétés spécifiques au périphérique. Pour plus d'informations sur les propriétés spécifiques aux périphériques reportez-vous à la section Rubriques SR-IOV avancées.
La commande ldm set-io permet de modifier les propriétés suivantes :
mac-addr, alt-mac-addrs et mtu
Pour modifier ces propriétés de fonction virtuelle, arrêtez tout d'abord le domaine propriétaire de la fonction virtuelle et démarrez une reconfiguration retardée. Vous devez réinitialiser le domaine pour que les changements soient appliqués.
pvid et vid
Vous pouvez modifier ces propriétés de façon dynamique alors que les fonctions virtuelles sont assignées à un domaine. Notez qu'une telle modification peut entraîner un changement du trafic réseau d'une fonction virtuelle active. Plus précisément, la définition de la propriété pvid active un VLAN transparent. La configuration de la propriété vid de manière à ce qu'elle spécifie des ID de VLAN autorise le trafic VLAN vers les VLAN spécifiés.
Propriétés spécifiques aux périphériques
Utilisez la commande ldm list-io -d pf-name pour afficher la liste des propriétés spécifiques au périphérique valides. Vous pouvez modifier ces propriétés pour la fonction physique aussi bien que pour la fonction virtuelle. Vous devez lancer une reconfiguration retardée et redémarrer le domaine primary pour que les changements soient appliqués. Pour plus d'informations sur les propriétés spécifiques aux périphériques, reportez-vous à la section Rubriques SR-IOV avancées.
primary# ldm set-io name=value [name=value...] vf-name
Exemple 6-2 Modification d'une fonction virtuelle
Les exemples suivants illustrent l'utilisation de la commande ldm set-io pour définir les propriétés d'une fonction virtuelle :
L'exemple suivant modifie la fonction virtuelle indiquée, /SYS/MB/NET0/IOVNET.PF0.VF0, et spécifie qu'elle fait partie des VLAN d'ID 2, 3 et 4 :
primary# ldm set-io vid=2,3,4 /SYS/MB/NET0/IOVNET.PF0.VF0
Notez que cette commande modifie de façon dynamique l'association à un VLAN d'une fonction virtuelle. Pour permettre l'utilisation de ces VLAN, les interfaces VLAN dans les domaines d'E/S doivent être configurées à l'aide des commandes de mise en réseau du SE Oracle Solaris appropriées.
Dans l'exemple suivant, la valeur de la propriété pvid est définie sur 2 pour la fonction virtuelle /SYS/MB/NET0/IOVNET.PF0.VF0, ce qui attribue de façon transparente la fonction virtuelle au VLAN 2. C'est-à-dire que la fonction virtuelle ne visualisera aucun trafic VLAN étiqueté.
primary# ldm set-io pvid=2 /SYS/MB/NET0/IOVNET.PF0.VF0
L'exemple suivant affecte trois adresses MAC automatiquement attribuées à une fonction virtuelle. Les adresses alternatives permettent la création de cartes d'interface réseau virtuelles (VNIC) Oracle Solaris 11 venant s'ajouter à une fonction virtuelle. Notez que pour utiliser des VNIC, vous devez exécuter le SE Oracle Solaris 11 dans le domaine.
Remarque - Avant d'exécuter cette commande, arrêtez le domaine propriétaire de la fonction virtuelle.
primary# ldm set-io alt-mac-addrs=auto,auto,auto /SYS/MB/NET0/IOVNET.PF0.VF0
Dans l'exemple suivant, la propriété spécifique au périphérique unicast-slots est définie sur 12 pour la fonction virtuelle spécifiée. Pour identifier les propriétés spécifiques au périphérique valides pour une fonction physique, utilisez la commande ldm list-io -d pf-name.
primary# ldm set-io unicast-slots=12 /SYS/MB/NET0/IOVNET.PF0.VF0 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.
Vous pouvez détruire une fonction virtuelle si elle n'est pas affectée à un domaine. Vous pouvez uniquement supprimer une fonction virtuelle dans le sens inverse de l'ordre séquentiel de création, de sorte à ne supprimer que la dernière fonction virtuelle créée. La configuration résultante est validée par le pilote de la fonction physique. Vous devez démarrer une reconfiguration retardée et redémarrer le domaine pour que les changements soient appliqués.
primary# ldm start-reconf primary
primary# ldm destroy-vf vf-name
Exemple 6-3 Destruction d'une fonction virtuelle.
L'exemple suivant illustre la destruction de la fonction virtuelle /SYS/MB/NET0/IOVNET.PF0.VF0 :
primary# ldm destroy-vf /SYS/MB/NET0/IOVNET.PF0.VF0 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.
La commande suivante ajoute une fonction virtuelle à un domaine logique :
ldm add-io vf-name ldom
vf-name est le pseudonyme du nom du chemin d'accès de la fonction virtuelle. Il est préférable d'utiliser le pseudonyme. ldom représente le nom du domaine auquel vous ajoutez la fonction virtuelle. L'invité spécifié doit avoir l'état inactif ou lié. Si vous spécifiez le domaine primary, vous devez démarrer une reconfiguration retardée.
primary# ldm add-io vf-name ldom
Le nom du chemin d'accès du périphérique de la fonction virtuelle dans le domaine est le chemin indiqué dans la sortie list-io -l.
Exemple 6-4 Ajout d'une fonction virtuelle.
L'exemple suivant illustre l'ajout de la fonction virtuelle /SYS/MB/NET0/IOVNET.PF0.VF0 au domaine ldg1. Pour que la commande aboutisse, il faut que le domaine spécifié ait l'état inactif ou lié. Si le domaine est le domaine primary, vous devez démarrer une reconfiguration retardée.
primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
Si la commande s'exécute correctement, la fonction virtuelle est ajoutée au domaine ldg1. Si le domaine ldg1 est déjà associé (ou s'il est associé par la suite), le domaine peut être réinitialisé et le SE invité peut utiliser la fonction virtuelle ajoutée pour les opérations d'E/S.
La commande suivante supprime une fonction virtuelle SR-IOV d'un domaine logique :
ldm remove-io vf-name ldom
vf-name est le pseudonyme du nom du chemin d'accès de la fonction virtuelle. Il est préférable d'utiliser le pseudonyme du périphérique. ldom représente le nom du domaine duquel vous supprimez la fonction virtuelle. L'invité spécifié doit avoir l'état inactif ou lié. Si vous spécifiez le domaine primary, vous devez démarrer une reconfiguration retardée.
Remarque - Avant de supprimer la fonction virtuelle du domaine, assurez-vous qu'elle n'est pas indispensable à l'initialisation du domaine.
primary# ldm rm-io vf-name ldom
Exemple 6-5 Suppression d'une fonction virtuelle
L'exemple suivant illustre la suppression de la fonction virtuelle /SYS/MB/NET0/IOVNET.PF0.VF0 du domaine ldg1 :
primary# ldm rm-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
Si la commande s'exécute correctement, la fonction virtuelle est supprimée du domaine ldg1. Lorsque ldg1 est redémarré, la fonction virtuelle spécifiée n'apparaît plus dans le domaine.
Si le domaine qui a la fonction virtuelle est le domaine primary, vous devez démarrer une reconfiguration retardée.
Faites très attention lorsque vous réinitialisez le domaine primary. Reportez-vous à la section Réinitialisation du domaine root. Comme pour les emplacements PCIe dans le domaine d'E/S, les points évoqués dans cette section s'appliquent également aux fonctions virtuelles assignées à 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.
Planifiez à l'avance le nombre de réinitialisations du domaine primary pour réduire les indisponibilités.
primary# ldm list-io
primary# ldm list-io -l pf-name
primary# ldm start-reconf primary
primary# ldm set-io iov=on bus
primary# ldm create-vf pf-name
Vous pouvez exécuter cette commande pour chaque fonction virtuelle que vous souhaitez créer. Si vous exécutez ces commandes en batch, vous ne devez réinitialiser qu'une seule fois le domaine primary.
primary# ldm stop ldom
primary# reboot
primary# ldm list-io
primary# ldm add-io vf-name ldom
primary# ldm bind ldom primary# ldm start ldom
La commande Oracle Solaris 11 suivante affiche la disponibilité de la fonction virtuelle :
guest# dladm show-phys
Exemple 6-6 Création d'un domaine d'E/S par affectation d'une fonction virtuelle SR-IOV
L'exemple suivant décrit 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.
La sortie ldm list-io suivante indique que la fonction physique /SYS/MB/NET0/IOVNET.PF0 est disponible :
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 affiche des détails supplémentaires sur la fonction physique /SYS/MB/NET0/IOVNET.PF0, notamment le nombre maximal de fonctions virtuelles pouvant être créées :
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
La commande suivante crée une fonction virtuelle appelée /SYS/MB/NET0/IOVNET.PF0.VF0 pour la fonction physique /SYS/MB/NET0/IOVNET.PF0 :
primary# ldm start-reconf primary 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
Etant donné que le domaine d'E/S ldg1 comporte un périphérique d'extrémité PCIe créé à l'aide de la fonction DIO, vous devez arrêter le domaine ldg1 et réinitialiser le domaine primary en procédant comme suit :
primary# ldm stop ldg1 primary# reboot
La commande suivante permet de vérifier que la nouvelle fonction virtuelle /SYS/MB/NET0/IOVNET.PF0.VF0 existe :
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
La commande suivante ajoute la fonction virtuelle /SYS/MB/NET0/IOVNET.PF0.VF0 au domaine ldg1 :
primary# ldm add-io /SYS/MB/NET0/IOVNET.PF0.VF0 ldg1
Les commandes suivantes associent et redémarrent le domaine ldg1 :
primary# ldm bind ldg1 primary# ldm start ldg1
La commande suivante vérifie que la fonction virtuelle est disponible et peut être utilisée :
guest# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 0 unknown vnet0 net1 Ethernet up 1000 full igbvf0
Cette section décrit plusieurs éléments à prendre en compte lorsque vous utilisez des périphériques prenant en charge la fonction SR-IOV PCIe.
Initialisation d'un domaine d'E/S à l'aide d'une fonction virtuelle SR-IOV. Une fonction virtuelle SR-IOV offre le même type de fonctionnalités que n'importe quel autre périphérique PCIe, notamment la possibilité d'utiliser une fonction virtuelle en tant que périphérique d'initialisation d'un domaine logique. Une fonction virtuelle de réseau par exemple peut être utilisée pour lancer l'initialisation via le réseau afin d'installer le SE Oracle Solaris dans un domaine d'E/S.
Remarque - Lors de l'initialisation du SE Oracle Solaris à partir d'une fonction virtuelle, assurez-vous que le SE Oracle Solaris en cours de chargement prend en charge les périphériques de fonction virtuelle. Si tel est le cas, vous pouvez poursuivre l'installation comme prévu.
Nombre maximal de domaines d'E/S et de fonctions virtuelles pris en charge. Les périphériques d'extrémité PCIe et les fonctions virtuelles SR-IOV d'un bus PCIe donné peuvent être affectés à 15 domaines au maximum. Les ressources PCIe telles que les vecteurs d'interruption de chaque bus PCIe sont réparties entre le domaine root et les domaines d'E/S. De ce fait, le nombre de périphériques pouvant être affectés à un domaine d'E/S particulier est également limité. Soyez donc attentif à ne pas affecter un grand nombre de fonctions virtuelles à un même domaine d'E/S. Pour une description des problèmes liés à SR-IOV, reportez-vous au manuel Notes de version d’Oracle VM Server for SPARC 3.0.
Les pilotes de périphérique d'une fonction physique SR-IOV peuvent exporter des propriétés spécifiques aux périphériques Celles-ci peuvent être utilisées pour régler l'allocation des ressources de la fonction physique ainsi que celle de ses fonctions virtuelles. Pour plus d'informations sur les propriétés, reportez-vous à la page de manuel relative au pilote de la fonction physique, comme par exemple les pages de manuel igb(7D) et ixgbe(7D).
La commande ldm list-io -d affiche les propriétés spécifiques au périphérique exportées par le pilote de périphérique de la fonction physique spécifiée. Chaque propriété possède un nom, une brève description, une valeur par défaut, des valeurs maximales et un ou plusieurs des indicateurs suivants :
Concerne une fonction physique
Concerne une fonction virtuelle
Paramètre en lecture seule ou à caractère informatif uniquement
primary# ldm list-io -d pf-name
Utilisez la commande ldm create-vf ou la commande ldm set-io pour définir les propriétés de lecture-écriture d'une fonction physique ou virtuelle. Notez que, pour définir une propriété spécifique au périphérique, vous devez démarrer une reconfiguration retardée.
L'exemple suivant montre les propriétés spécifiques au périphérique exportées par le périphérique SR-IOV Intel 1Gbit/s intégré :
primary# ldm list-io -d /SYS/MB/NET0/IOVNET.PF0 Device-specific Parameters -------------------------- max-config-vfs Flags = PR Default = 7 Descr = Max number of configurable VFs max-vf-mtu Flags = VR Default = 9216 Descr = Max MTU supported for a VF max-vlans Flags = VR Default = 32 Descr = Max number of VLAN filters supported pvid-exclusive Flags = VR Default = 1 Descr = Exclusive configuration of pvid required unicast-slots Flags = PV Default = 0 Min = 0 Max = 24 Descr = Number of unicast mac-address slots
Dans l'exemple suivant, la propriété unicast-slots est définie sur 8 :
primary# ldm create-vf unicast-slots=8 /SYS/MB/NET0/IOVNET.PF0
Les fonctions virtuelles SR-IOV peuvent uniquement utiliser les adresses MAC affectées par Logical Domains Manager. Si vous utilisez d'autres commandes réseau du SE Oracle Solaris pour modifier l'adresse MAC du domaine d'E/S, les commandes risquent d'échouer ou de ne pas fonctionner correctement.
A l'heure actuelle, le groupement de liaisons des fonctions virtuelles réseau SR-IOV dans le domaine d'E/S n'est pas prise en charge. Si vous tentez de créer un groupement de liaisons, il risque de ne pas fonctionner comme prévu.
Vous pouvez créer des services d'E/S virtuels et les affecter à des domaines d'E/S. Ces services d'E/S virtuels peuvent être créés sur la fonction physique même à partir de laquelle les fonctions virtuelles sont créées. Par exemple, vous pouvez utiliser un périphérique réseau 1 Gbit/s intégré (net0 ou igb0) en tant que périphérique backend réseau pour un commutateur virtuel et créer des fonctions virtuelles à partir de ce même périphérique de fonction physique.
La création de VNIC Oracle Solaris 11 est prise en charge sur les fonctions virtuelles SR-IOV. Cependant, le nombre de VNIC pris en charge est limité au nombre d'adresses MAC alternatives (propriété alt-mac-addrs) attribuées à la fonction virtuelle. Veillez donc à affecter un nombre suffisant d'adresses MAC alternatives lorsque vous utilisez des VNIC sur la fonction virtuelle. Utilisez la commande ldm create-vf ou la commande ldm set-io pour définir les adresses MAC alternatives à l'aide de la propriété alt-mac-addrs.
L'exemple suivant illustre la création de quatre cartes d'interface réseau virtuelles sur une fonction virtuelle SR-IOV. La première commande affecte des adresses MAC alternatives au périphérique de fonction virtuelle. Cette commande utilise la méthode d'allocation automatique pour allouer quatre adresses MAC alternatives au périphérique de fonction virtuelle /SYS/MB/NET0/IOVNET.PF0.VF0 :
primary# ldm set-io alt-mac-addrs=auto,auto,auto,auto /SYS/MB/NET0/IOVNET.PF0.VF0
La commande suivante démarre et initialise le SE Oracle Solaris 11 dans le domaine d'E/S. Dans cet exemple, ldg1 est le domaine d'E/S :
primary# ldm start ldg1
La commande suivante utilise la commande dladm d'Oracle Solaris 11 dans le domaine invité pour créer quatre VNIC. Notez que toute tentative de créer plus de carte d'interface réseau virtuelles que spécifié en ayant recours à des adresses MAC alternatives est vouée à l'échec.
guest# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net0 Ethernet up 0 unknown vnet0 net1 Ethernet up 1000 full igbvf0 guest# dladm create-vnic -l net1 vnic0 guest# dladm create-vnic -l net1 vnic1 guest# dladm create-vnic -l net1 vnic2 guest# dladm create-vnic -l net1 vnic3 guest# dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- net1 phys 1500 up -- vnic0 vnic 1500 up net1 vnic1 vnic 1500 up net1 vnic2 vnic 1500 up net1 vnic3 vnic 1500 up net1