Einführung
In diesem Dokument wird das Problem der Neubestellung der Netzwerkschnittstellenkarte (NIC) auf verschiedenen VIC-Adaptern (Virtual Interface Card) der C-Serie beschrieben. Eine Verhaltensänderung wird bei der Platzierung von Virtual Network Interface Card (VNIC)/Virtual Host Bus Adapter (vHBA), der Reihenfolge der Geräte und der PCI-Enumeration (Peripheral Component Interconnect) festgestellt und trägt dazu bei, dass Probleme bei der Neubestellung von PCI bei verschiedenen Betriebssystemen auftreten.
Hintergrundinformationen
Das Problem wird durch folgende Faktoren verursacht:
- Hinzufügen/Löschen von vNICs
- Neustart des Servers
- Server-Upgrade
Dieses Problem wird durch die NIC-Enumeration verursacht, die auftritt, nachdem Sie ein BIOS, eine Firmware, ein Patch-Upgrade oder zum Hinzufügen neuer NICs angewendet haben.
Virtual Switches (vSwitches), die Netzwerkkommunikation nach außen ermöglichen, werden auf der Grundlage der VMNIC-Namen (Virtual Machine Network Interface Controller) konfiguriert. Wenn alle NICs umbenannt werden, leiten die vSwitches Pakete an Schnittstellen weiter, die nicht mehr vorhanden sind.
Der Unified Computing System Manager (UCSM) verwendet bei der Behandlung der VIC13XX-Host-Ports den standardmäßigen Lastenausgleichsalgorithmus.
Beachten Sie, dass
- Die Gesamtzahl der vNICs wird proportional zu ihrem relativen Kapazitätsverhältnis verteilt.
- Das System versucht, mehr vNICs auf der Adapterkarte mit höherer vNIC-Kapazität und weniger vNICs auf der Adapterkarte mit geringerer Kapazität zu platzieren. Daher weist das System den vNICs die tatsächliche Platzierung entsprechend zu, die wiederum der vorgesehenen Adapterkarte für die PCIe-Adapterkarte (Peripheral Component Interconnect Enumeration) zugeordnet werden. Diese Anordnung erfolgt in der Reihenfolge der tatsächlichen Bestellung.
- Bei einer Mixed-Mezz-Konfiguration wird, sofern alle Adapterkarten die erforderliche Funktionalität unterstützen, mithilfe des Lastverteilungsalgorithmus sichergestellt, dass auf jeder Adapterkarte mindestens eine vNIC und eine vHBA platziert werden.
Auswirkungen des VMWare-Betriebssystems
Die Beziehung zwischen PCI-ID und VMNIC-Nummerierung wird beim Booten bestimmt und automatisch in die Datei esx.conf unter /etc/vmware/für Persistenz eingegeben. Der ESX/ESXi-Host scannt zuerst die Suchnummer, dann die Busnummer, die Steckplatznummer und schließlich die Funktionsnummer. Diese Reihenfolge stellt sicher, dass Ports auf derselben Netzwerkkarte mit mehreren Ports sequenziell nummeriert werden.
Wenn ESXi/ESX installiert ist, ist die VMNIC-Reihenfolge sequenziell. Dies ändert sich mit der Zeit, da NICs entfernt und andere NICs hinzugefügt werden. Dies führt dazu, dass die VMNIC-Reihenfolge unerwünscht ist und nicht mit der Namenskonvention anderer ESX/ESXi-Hosts synchronisiert wird.
ESXi folgt nicht immer der PCI-Adressenreihenfolge, wenn es VMNIC- und vHBA-Geräte auflistet. Bei der Erstinstallation wird die PCI-Adresse befolgt. Beim Entfernen und Hinzufügen von Geräten gibt es jedoch einen speziellen Algorithmus, der die Bestellung verarbeitet. Dies kann dazu führen, dass VNIC/vHBA-Bestellungen falsch sind oder nicht synchronisiert zwischen Serviceprofil und Betriebssystem sind.
Weitere Informationen finden Sie im Dokument VMware KB: http://kb.vmware.com/kb/2019871
ESXi 5.5 und 6.0 haben den Orderalgorithmus geändert, obwohl diese Symptome anhalten. Siehe: http://kb.vmware.com/kb/
Auflösung
Bei der Erstinstallation versucht das neue Namensschema, Namen in vorhersehbarer Reihenfolge anhand eines physischen Standorts zuzuweisen. Danach bleibt der Gerätename selbst beim Hinzufügen oder Entfernen anderer Geräte im System stabil. Bei der Installation erhalten normalerweise Geräte, die auf der Hauptplatine des Systems integriert sind, die Namen mit der niedrigsten Nummer, in der Reihenfolge, in der ihre Ausgangsports im Gehäuse des Systems nummeriert sind, und Geräte, die in Steckplätzen sind, die nächsthöchsten nummerierten Namen, in der Reihenfolge, in der die Steckplätze im Gehäuse nummeriert sind. Der Leser sollte beachten, dass dieser Prozess Geräte ignoriert, für die kein Treiber gefunden wurde.
Problemumgehung
Das Problem kann durch folgende Lösungen gelöst werden:
Schritt 1: Neuinstallation von ESXi.
Schritt 2: Korrigieren Sie die Re-Order-Nummer aus der ESXi Secure Shell (SSH) manuell.
Schritt 3: Erstellen Sie eine vNIC/vHBA-Platzierungsrichtlinie in UCSM.
Schritt 2: Korrigieren Sie die Re-Order-Nummer aus dem ESXi SSH manuell:
1. Abrufen der MAC-Adressenzuordnung aus der UCSM-GUI für den Server, wie im Bild gezeigt:
2. Abrufen der MAC-Adressenzuordnung aus der ESXi-CLI
[root@ucs-116:~] esxcli network nic list
3. Überprüfen Sie, ob die MAC-Adressen aus UCSM mit der Ausgabe der esxcli-Netzwerknic übereinstimmen.
In dieser Ausgabe stimmen die MAC-Adressen nicht überein, vmnic2 und vmnic4 wurden ausgetauscht. Dies liegt an der erneuten Bestellung des PCI-Bus.
4. Überprüfen Sie die PCI-Bus-Bestellung im esxcli.
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list | grep -i vmnic | sort -k3
PCI-Bus-Bestellungen zwischen vmnic2 und vmnic4 wurden ausgetauscht.
5. Beachten Sie die PCI-Bus-Nummer, und verwenden Sie diese Befehle, um die Neubestellung zu korrigieren:
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. Starten Sie neu, und überprüfen Sie nach dem Hochfahren des Hosts die PCI-Bestell- und NIC-Liste:
Sie haben die PCI-Neubestellung erfolgreich korrigiert.
Schritt 3: Erstellen einer vNIC/vHBA-Platzierungsrichtlinie in UCSM
Navigieren Sie in UCSM zu Service Profile > Network > Modify vNIC/vHBA Placement.
1. Während der Erstinstallation: navigieren Sie zu Richtlinie zur Änderung der vNIC/vHBA-Platzierung, wie im Bild gezeigt.
2. Im Moment sehen Sie den Admin-Host-Port als ALLE. Dabei handelt es sich um eine Round-Robin-Zuweisung, bei der vnic0 auf Host-Port 1 und vnic1 auf Host-Port 2 abgelegt werden. Wenn Sie dem Serviceprofil zwei zusätzliche vNICs hinzufügen möchten, müssen Sie zuerst den zugewiesenen Host-Port der bereits vorhandenen vNICs zuordnen:
3. Fügen Sie dann neue vNICs nur dem Host-Port 2 hinzu. Dadurch wird die PCI-Adresse der vorhandenen vNICs beibehalten, und es wird keine erneute Zuweisung vorgenommen:
Hinweis: Sie haben nun 1 vNIC auf Host-Port 1 und 3 vNICs auf Host-Port 2. Der Punkt des Lastenausgleichs ist so, dass Last und Bandbreite gleichmäßig verteilt sind. Wenn Sie eine höhere Last auf einem Host-Port haben, kann dies zu einer Beeinträchtigung der Leistung/Bandbreite führen. Wenn mehr als zwei zusätzliche vNICs erstellt werden müssen, wird eine Neuinstallation des Betriebssystems empfohlen, um die Host-Ports gleichmäßig zu verteilen.
Fehler
- CSCut78943 - VIC1340/1380 mit falscher vNIC- und vHBA-Platzierungsreihenfolge.
- CSCuv19605 - Der Host-Port für vNICs kann nicht festgelegt werden, wenn Sie Verbindungsrichtlinien verwenden.
Ein Verbesserungsfehler wurde eingereicht. Das HX-Installationsprogramm sollte eine vNIC/vHBA-Platzierungsrichtlinie erstellen, um eine Neubestellung der PCI-NIC zu vermeiden.
Hinweis: Änderungen an der vCON-Platzierungsrichtlinie können entweder die vCON- oder der Admin-Host-Port zu unterschiedlichen Änderungen der PCIe-Enumeration führen. die vCON1vNICs werden vor vCON2 vNICs aufgelistet.