Introduction
Ce document décrit le problème de réorganisation de la carte d'interface réseau (NIC) sur différentes cartes d'interface virtuelle (VIC) 3e génération C. Un changement de comportement est observé avec la référence à l'emplacement de la carte VNIC (Virtual Network Interface Card)/vHBA (Virtual Host Bus Adapter), l'ordre des périphériques, l'énumération PCI (Peripheral Component Interconnect) et contribuer aux problèmes de réorganisation PCI sont vus à partir de différents systèmes d'exploitation (OS).
Informations générales
Le problème est dû à :
- Ajout/suppression de vNIC
- Redémarrage du serveur
- Mise à niveau du serveur
Ce problème est causé par l'énumération de la carte réseau qui se produit après l'application d'un BIOS, d'un micrologiciel, d'une mise à niveau de correctif ou afin d'ajouter de nouvelles cartes réseau.
Les commutateurs virtuels (vSwitches) qui fournissent des communications réseau au monde extérieur sont configurés en fonction des noms VMNIC (Virtual Machine Network Interface Controller). Si toutes les cartes réseau sont renommées, les commutateurs virtuels acheminent les paquets vers des interfaces qui n'existent plus.
Unified Computing System Manager (UCSM) suit l'algorithme d'équilibrage de charge standard lorsqu'il traite des ports hôtes VIC13XX.
Notez que :
- Le nombre total de vNIC est distribué proportionnellement à leur rapport de capacité relatif.
- Le système tente de placer plus de vNIC sur la carte d'extension avec une capacité vNIC supérieure et moins de vNIC sur la carte d'extension avec une capacité inférieure. Par conséquent, le système attribue de manière appropriée la position réelle aux vNIC qui sont ensuite mappées à la carte d'extension PCIe (Peripheral Component Interconnect énumération) prévue. Ce placement se produit dans l'ordre de leur commande réelle.
- Dans le cas d'une configuration Mixed-Mezz, tant que toutes les cartes d'extension prennent en charge les fonctionnalités requises, l'algorithme de répartition de charge garantit qu'au moins une vNIC et un vHBA seront placés sur chacune des cartes d'extension.
Impact du système d'exploitation VMWare
La relation de numérotation de l'ID PCI vers VMNIC est déterminée au moment du démarrage et est automatiquement entrée dans le fichier esx.conf situé à /etc/vmware/ pour la persistance. L'hôte ESX/ESXi analyse d'abord le numéro de série, puis le numéro de bus, le numéro de logement et enfin le numéro de fonction. Cet ordre garantit que les ports de la même carte réseau multiport sont numérotés de manière séquentielle.
Lorsque ESXi/ESX est installé, la commande VMNIC est séquentielle. Cela change au fil du temps lorsque les cartes réseau sont supprimées et que d'autres cartes réseau sont ajoutées. Cela entraîne un ordre VMNIC indésirable et non synchronisé avec la convention d'attribution de noms sur les autres hôtes ESX/ESXi.
ESXi ne suit pas toujours l'ordre d'adresse PCI lorsqu'il énumère les périphériques VMNIC et vHBA. Lors de l'installation initiale, l'adresse PCI est suivie. Cependant, lorsque des périphériques sont supprimés et ajoutés, un algorithme spécifique gère l'ordre. Cela peut entraîner une erreur ou une désynchronisation des commandes VNIC/vHBA entre le profil de service et le système d'exploitation.
Reportez-vous à VMware KB : http://kb.vmware.com/kb/2019871
ESXi 5.5 et 6.0 a changé son algorithme d'ordre, même si ces symptômes persistent. Reportez-vous à : http://kb.vmware.com/kb/ 2091560
Résolution
Lors de l'installation initiale, le nouveau schéma de noms tente d'attribuer des noms dans un ordre prévisible par emplacement physique. Par la suite, le nom d'un périphérique reste stable même lors de l'ajout ou de la suppression d'autres périphériques au système. Au moment de l'installation, généralement, les périphériques intégrés à la carte mère du système reçoivent les noms les plus bas, dans l'ordre où leurs ports de sortie sont numérotés sur le boîtier du système, et les périphériques qui sont dans des logements enfichables reçoivent les noms les plus élevés suivants, dans l'ordre où les logements sont numérotés sur le boîtier. Le lecteur doit noter que ce processus ignore les périphériques pour lesquels aucun pilote n'est trouvé.
Solution de contournement
Les solutions suivantes permettent de résoudre le problème :
Étape 1. Réinstallation d'ESXi.
Étape 2. Corrigez manuellement la réorganisation à partir de l'environnement SSH (Secure Shell) ESXi.
Étape 3. Créez une politique de placement vNIC/vHBA dans UCSM.
Étape 2. Corrigez manuellement la réorganisation à partir du SSH ESXi :
1. Obtenez le mappage d'adresse MAC à partir de l'interface utilisateur graphique UCSM pour le serveur, comme illustré sur l'image :
2. Obtenez le mappage d'adresse MAC à partir de l'interface de ligne de commande ESXi.
[root@ucs-116:~] esxcli network nic list
3. Vérifiez si les adresses MAC d'UCSM correspondent à la sortie de la liste de cartes réseau esxcli.
Dans ce résultat, les adresses MAC ne correspondent pas, vmnic2 et vmnic4 ont été échangées. Ceci est dû au problème de réapprovisionnement du bus PCI.
4. Vérifiez la commande du bus PCI sur le serveur esxcli.
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list | grep -i vmnic | sort -k3
La commande de bus PCI entre vmnic2 et vmnic4 a été échangée.
5. Notez le numéro de bus PCI et utilisez ces commandes afin de corriger la réorganisation :
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias
vmnic2 --bus-address s00000000:05.00 --bus-type pci
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias store --alias
vmnic4 --bus-address s00000000:07.00 --bus-type pci
6. Redémarrez et, une fois l'hôte activé, vérifiez la commande PCI et la liste de cartes réseau :
Vous avez correctement corrigé la réorganisation PCI.
Étape 3. Créer une politique de placement vNIC/vHBA dans UCSM
Dans UCSM, accédez à Service Profile > Network > Modify vNIC/vHBA Placement.
1. Lors de l'installation initiale : naviguez jusqu'à Modify vNIC/vHBA Placement policy comme indiqué dans l'image.
2. Actuellement, vous voyez Admin Host Port comme ANY. Il s'agit d'une affectation circulaire, qui place vnic0 sur le port hôte 1 et vnic1 sur le port hôte 2. Si vous voulez ajouter deux vNIC supplémentaires au profil de service, faites d'abord correspondre le port hôte attribué des vNIC qui existent déjà :
3. Ajoutez ensuite de nouvelles vNIC uniquement au port hôte 2. Cela permet de conserver l'adresse PCI des vNIC préexistantes et ne provoque aucune réaffectation :
Note: Vous avez maintenant 1 vNIC sur le port hôte 1 et 3 vNIC sur le port hôte 2. Le point de l’équilibrage de charge est de sorte que la charge et la bande passante soient réparties de manière égale. Si la charge est plus élevée sur un port hôte, cela peut avoir un impact sur les performances/la bande passante. Si plus de 2 vNIC supplémentaires doivent être créées, il est recommandé de planifier une réinstallation du système d'exploitation afin de maintenir la répartition uniforme des ports hôtes.
Défauts
- CSCut78943 - VIC1340/1380 avec ordre de placement vNIC et vHBA incorrect.
- CSCuv19605 - Impossible de définir le port hôte pour les vNIC lorsque vous utilisez la stratégie de connectivité.
Un défaut d'amélioration a été enregistré. Le programme d'installation HX doit créer une politique de placement vNIC/vHBA afin d'éviter la réorganisation de la carte réseau PCI.
Note: Les modifications apportées à la stratégie de placement vCON, que ce soit le vCON ou le port hôte Admin, peuvent entraîner des modifications d'énumération PCIe différentes. les vNIC vCON1 sont énumérées avant les vNIC vCON2.