Introduzione
Questo documento descrive il problema di riordino delle schede di interfaccia di rete (NIC) su vari adattatori VIC (Virtual Interface Card) di terza generazione serie C. Un cambiamento di comportamento viene rilevato in riferimento al posizionamento della scheda VNIC (Virtual Network Interface Card)/vHBA (Virtual Host Bus Adapter), all'ordine dei dispositivi, all'enumerazione PCI (Peripheral Component Interconnect) e contribuisce a riordinare le schede PCI. I problemi relativi a questo tipo di configurazione vengono rilevati in diversi sistemi operativi.
Premesse
Il problema è causato da:
- Aggiunta/eliminazione di vNIC
- Riavvio del server
- Aggiornamento del server
Questo problema è causato dall'enumerazione delle schede NIC che si verifica dopo l'applicazione di un aggiornamento di BIOS, firmware o patch o per l'aggiunta di nuove schede NIC.
Gli switch virtuali (vSwitch) che forniscono la comunicazione di rete con il mondo esterno sono configurati in base ai nomi dei controller VMNIC (Virtual Machine Network Interface Controller). Se tutte le schede NIC vengono rinominate, gli vSwitch indirizzano i pacchetti alle interfacce che non esistono più.
Unified Computing System Manager (UCSM) segue l'algoritmo di bilanciamento del carico standard quando tratta delle porte host VIC13XX.
Si noti che:
- Il numero totale di vNIC viene distribuito proporzionalmente al loro rapporto di capacità relativa.
- Il sistema tenta di inserire più vNIC nella scheda di rete con una capacità vNIC superiore e meno vNIC nella scheda di rete con una capacità inferiore. Di conseguenza, il sistema assegna in modo appropriato il posizionamento effettivo alle vNIC che a loro volta vengono mappate alla scheda adattatore PCIe (Peripheral Component Interconnect enumeration) desiderata. Questa collocazione avviene in ordine di ordine effettivo.
- In caso di installazione di tipo Misto-Mezzanine, a condizione che tutte le schede supportino la capacità richiesta, l'algoritmo di distribuzione del carico garantisce che almeno una vNIC e un vHBA vengano posizionati su ciascuna scheda.
Impatto sul sistema operativo VMware
La relazione di numerazione da PCI ID a VMNIC viene determinata al momento dell'avvio e viene immessa automaticamente nel file esx.conf situato in /etc/vmware/ per la persistenza. L'host ESX/ESXi esegue dapprima la scansione del numero di segmento, quindi del numero di bus, del numero di slot e infine del numero di funzione. Questo ordine garantisce che le porte sulla stessa scheda NIC a più porte siano numerate in sequenza.
Quando è installato ESXi/ESX, l'ordine delle VMNIC è sequenziale. Questa situazione cambia nel tempo quando le schede NIC vengono rimosse e altre NIC vengono aggiunte. Il risultato è un ordine VMNIC indesiderato e non sincronizzato con la convenzione di denominazione degli altri host ESX/ESXi.
ESXi non segue sempre l'ordine degli indirizzi PCI quando enumera i dispositivi VMNIC e vHBA. All'installazione iniziale, viene seguito l'indirizzo PCI. Tuttavia, quando le periferiche vengono rimosse e aggiunte, esiste un algoritmo specifico che gestisce l'ordine. Gli ordini di VNIC/vHBA potrebbero pertanto non essere corretti o non essere sincronizzati tra il profilo del servizio e il sistema operativo.
Consultare la Knowledge Base di VMware: http://kb.vmware.com/kb/2019871
ESXi 5.5 e 6.0 ha modificato l'algoritmo di ordinamento, anche se questi sintomi continuano. Fare riferimento a: http://kb.vmware.com/kb/ 2091560
Risoluzione
Durante l'installazione iniziale, il nuovo schema di nomi tenta di assegnare i nomi in un ordine prevedibile in base a una posizione fisica. In seguito, mantiene stabile il nome di un dispositivo anche in caso di aggiunta o rimozione di altri dispositivi dal sistema. Al momento dell'installazione, in genere i dispositivi integrati sulla scheda madre del sistema ricevono i nomi con i numeri più bassi, nell'ordine in cui le porte di output sono numerate sulla richiesta del sistema, mentre i dispositivi che si trovano in slot inseribili ricevono i nomi con i numeri più alti successivi, nell'ordine in cui gli slot sono numerati sulla richiesta. Il lettore deve notare che questo processo ignora le periferiche per le quali non viene trovato alcun driver.
Soluzione alternativa
Il problema può essere risolto con le soluzioni seguenti:
Passaggio 1. Reinstallazione di ESXi.
Passaggio 2. Correggere manualmente il riordino da ESXi Secure Shell (SSH).
Passaggio 3. Creare un criterio di posizionamento vNIC/vHBA in UCSM.
Passaggio 2. Correggere manualmente il riordino da ESXi SSH:
1. Ottenere il mapping degli indirizzi MAC dalla GUI UCSM per il server, come mostrato nell'immagine:
2. Ottenere il mapping degli indirizzi MAC dalla CLI di ESXi.
[root@ucs-116:~] esxcli network nic list
3. Verificare se gli indirizzi MAC di UCSM corrispondono all'output dell'elenco delle schede di interfaccia di rete esxcli.
In questo output, gli indirizzi MAC non corrispondono, sono stati scambiati vmnic2 e vmnic4. Ciò è dovuto al problema di riordino del bus PCI.
4. Controllare l'ordine del bus PCI su esxcli.
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list | grep -i vmnic | sort -k3
L'ordine del bus PCI tra vmnic2 e vmnic4 è stato sostituito.
5. Annotare il numero del bus PCI e usare questi comandi per correggere il riordino:
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. Riavviare il sistema e, una volta visualizzato l'host, verificare l'ordine PCI e l'elenco NIC:
Il riordino PCI è stato corretto.
Passaggio 3. Creare un criterio di posizionamento di vNIC/vHBA in UCSM
In UCSM, selezionare Profilo servizio > Rete > Modifica posizionamento vNIC/vHBA.
1. Durante l'installazione iniziale: passare a Modifica criteri di posizionamento vNIC/vHBA come mostrato nell'immagine.
2. In questo momento, Admin Host Port è impostato su ANY (QUALSIASI). Si tratterebbe di un'assegnazione round-robin, che colloca vnic0 sulla porta host 1 e vnic1 sulla porta host 2. Se si desidera aggiungere due ulteriori vNIC al profilo del servizio, innanzitutto individuare la porta host assegnata delle vNIC già esistenti:
3. Aggiungere quindi le nuove vNIC solo alla porta host 2. In questo modo l'indirizzo PCI delle vNIC preesistenti verrà mantenuto e non si verificherà alcuna riassegnazione:
Nota: Si dispone ora di 1 vNIC sulla porta host 1 e di 3 vNIC sulla porta host 2. Il punto del bilanciamento del carico è tale che il carico e la larghezza di banda siano distribuiti in modo uniforme. Se il carico su una porta host è maggiore, ciò potrebbe influire sulle prestazioni e sulla larghezza di banda. Se è necessario creare più di due vNIC aggiuntive, si consiglia di pianificare una reinstallazione del sistema operativo per mantenere le porte host distribuite in modo uniforme.
Difetti
- CSCut78943 - VIC1340/1380 con ordine di posizionamento vNIC e vHBA errato.
- CSCuv19605 - Impossibile impostare la porta host per le vNIC quando si utilizzano i criteri di connettività.
È stato registrato un difetto di miglioramento. Il programma di installazione HX deve creare criteri di posizionamento vNIC/vHBA per evitare il riordino della scheda NIC PCI.
Nota: Le modifiche apportate ai criteri di posizionamento vCON, sia la porta host vCON che la porta host di amministrazione, possono determinare modifiche di enumerazione PCIe diverse. le vNIC vCON1 vengono enumerate prima delle vNIC vCON2.