Introduction
Este documento descreve o problema de reordenação da placa de rede (NIC) em vários adaptadores da placa de interface virtual (VIC) série C de 3ª geração. Uma mudança de comportamento é notada com referência à colocação da Virtual Network Interface Card (VNIC)/ do Virtual Host Bus Adapter (vHBA), à ordem do dispositivo, à enumeração da Peripheral Component Interconnect (PCI) e à contribuição para problemas de reordenação de PCI são vistos em vários sistemas operacionais (SO).
Informações de Apoio
O problema é causado por:
- Adição/exclusão de vNICs
- Reinicialização do servidor
- Atualização do servidor
Esse problema é causado pela enumeração da placa de rede que ocorre após a aplicação de um BIOS, firmware, atualização de patch ou para adicionar novas placas de rede.
Os switches virtuais (vSwitches) que fornecem comunicação de rede para o mundo externo são configurados com base nos nomes do Virtual Machine Network Interface Controller (VMNIC). Se todas as NICs forem renomeadas, os vSwitches rotearão pacotes para interfaces que não existem mais.
O Unified Computing System Manager (UCSM) segue o algoritmo de balanceamento de carga padrão quando lida com as portas de host VIC13XX.
Observe que:
- O número total de vNICs é distribuído proporcionalmente à sua taxa de capacidade relativa.
- O sistema tenta colocar mais vNICs na placa do adaptador com maior capacidade vNIC e menos vNICs na placa do adaptador com menor capacidade. Como resultado, o sistema atribui apropriadamente o Posicionamento Real às vNICs que, por sua vez, são mapeadas para a placa adaptadora desejada da PCIe (Peripheral Component Interconnect enumeration). Essa colocação acontece na ordem em que é feita a sua Ordem real.
- No caso da configuração Mixed-Mezz, desde que todas as placas suportem a capacidade necessária, o algoritmo de distribuição de carga garante que pelo menos uma vNIC e um vHBA sejam colocados em cada uma das placas.
Impacto do sistema operacional VMWare
A relação de numeração de ID PCI para VMNIC é determinada no momento da inicialização e é automaticamente inserida no arquivo esx.conf localizado em /etc/vmware/ para persistência. O host ESX/ESXi primeiro verifica o número de seg, depois o número do barramento, o número do slot e, finalmente, o número da função. Essa ordem garante que as portas na mesma NIC multiporta sejam numeradas sequencialmente.
Quando o ESXi/ESX é instalado, a ordem de VMNIC é sequencial. Isso muda com o tempo quando as placas de rede são removidas e outras placas de rede são adicionadas. Isso resulta em uma ordem de VMNIC indesejável e não sincronizada com a convenção de nomenclatura em outros hosts ESX/ESXi.
O ESXi nem sempre segue a ordem do endereço PCI ao enumerar dispositivos VMNIC e vHBA. Na instalação inicial, o endereço PCI é seguido. No entanto, à medida que os dispositivos são removidos e adicionados, há um algoritmo específico que lida com o pedido. Isso pode fazer com que os pedidos de VNIC/vHBA fiquem incorretos ou dessincronizados entre o perfil de serviço e o SO.
Consulte o KB da VMware: http://kb.vmware.com/kb/2019871
O ESXi 5.5 e 6.0 alteraram seu algoritmo de pedido, mesmo que esses sintomas continuem. Consulte: http://kb.vmware.com/kb/ 2091560
Resolução
Na instalação inicial, o novo esquema de nomes tenta atribuir nomes em uma ordem previsível por um local físico. Em seguida, ele mantém o nome de um dispositivo estável mesmo durante a adição ou remoção de outros dispositivos ao sistema. No momento da instalação, geralmente os dispositivos integrados na placa-mãe do sistema recebem os nomes numerados mais baixos, na ordem em que suas portas de saída são numeradas no gabinete do sistema, e os dispositivos que estão em slots conectáveis recebem os nomes de numeração mais altos, na ordem em que os slots são numerados no caso. O leitor deve observar que esse processo ignora os dispositivos para os quais nenhum driver foi encontrado.
Solução
O problema pode ser resolvido com estas soluções:
Etapa 1. Reinstalação do ESXi.
Etapa 2. Corrija manualmente o pedido novamente no ESXi Secure Shell (SSH).
Etapa 3. Crie uma política de posicionamento vNIC/vHBA no UCSM.
Etapa 2. Corrija manualmente o pedido novamente do ESXi SSH:
1. Obtenha o mapeamento de endereços MAC da GUI do UCSM para o servidor, como mostrado na imagem:
2. Obtenha o mapeamento do endereço MAC da CLI do ESXi.
[root@ucs-116:~] esxcli network nic list
3. Verifique se os endereços MAC do UCSM correspondem à saída da lista de NIC da rede esxcli.
Nesta saída, os endereços MAC não correspondem, vmnic2 e vmnic4 foram trocados. Isso ocorre devido ao problema de repedido do barramento PCI.
4. Verifique o pedido do barramento PCI no esxcli.
localcli --plugin-dir /usr/lib/vmware/esxcli/int/ deviceInternal alias list | grep -i vmnic | sort -k3
O pedido do barramento PCI entre vmnic2 e vmnic4 foi trocado.
5. Observe o número do barramento PCI e use estes comandos para corrigir o novo pedido:
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. Reinicialize e, quando o host for ativado, verifique a lista de pedidos e nic da PCI:
Você corrigiu corretamente o novo pedido da PCI.
Etapa 3. Criar uma política de posicionamento vNIC/vHBA no UCSM
No UCSM, navegue para Service Profile > Network > Modify vNIC/vHBA Placement.
1. Durante a instalação inicial: navegue para Modificar a política de posicionamento vNIC/vHBA conforme mostrado na imagem.
2. Neste momento, você verá Admin Host Port como ANY. Esta seria uma atribuição round-robin, que coloca vnic0 na porta 1 do host e vnic1 na porta 2 do host. Se você quiser adicionar dois vNICs adicionais ao perfil de serviço, primeiro combine a porta host atribuída dos vNICs que já existem:
3. Em seguida, adicione quaisquer vNICs novas somente à porta de host 2. Isso manterá o endereço PCI das vNICs pré-existentes e não causará nenhuma nova atribuição:
Note: Agora você tem 1 vNIC na porta 1 do host e 3 vNICs na porta 2 do host. O ponto do balanceamento de carga é tal que a carga e a largura de banda sejam distribuídas uniformemente. Se você tiver uma carga mais alta em uma porta host, isso pode causar um impacto no desempenho/largura de banda. Se mais de 2 vNICs adicionais precisarem ser criadas, é recomendável que você planeje uma reinstalação do SO para manter as portas do host distribuídas uniformemente.
Defeitos
- CSCut78943 - VIC1340/1380 com pedido de posicionamento errado de vNIC e vHBA.
- CSCuv19605 - Não é possível definir a porta de host para vNICs quando você usa a política de conectividade.
Um defeito de aprimoramento foi registrado. O instalador de HX deve criar uma política de posicionamento vNIC/vHBA para evitar a reordenação da placa de rede PCI.
Note: Modificações na política de posicionamento do vCON, tanto o vCON quanto a porta do host de administração podem resultar em diferentes alterações na enumeração do PCIe. as vNICs vCON1 são enumeradas antes das vNICs vCON2.