Em um host ESXi, uma ou mais máquinas virtuais que usam funções virtuais (VFs) SR-IOV para rede são desligadas.

Problema

Em um host ESXi, uma ou mais máquinas virtuais que usam funções virtuais (VFs) SR-IOV para rede falharão ao ligar se o número total de funções virtuais atribuídas estiver próximo do número máximo de VFs especificado no guia vSphere Máximos de configuração.

O arquivo de log da máquina virtual vmware.log contém a seguinte mensagem sobre a VF:

PCIPassthruChangeIntrSettings: vf_name failed to register interrupt (error code 195887110)

O arquivo de log do VMkernel vmkernel.log contém as seguintes mensagens sobre a VF atribuída à máquina virtual:

VMKPCIPassthru: 2565: BDF = vf_name intrType = 4 numVectors: 3
WARNING: IntrVector: 233: Out of interrupt vectors

Causa

O número de vetores de interrupção alocáveis aumenta com o número de CPUs físicas em um host ESXi. Um host ESXi com 32 CPUs pode fornecer um total de 4.096 vetores de interrupção. Quando o host é inicializado, os dispositivos no host, como controladores de armazenamento, adaptadores de rede física e controladores USB, consomem um subconjunto dos vetores 4096. Se esses dispositivos exigirem mais de 1.024 vetores, o número máximo de VFs potencialmente compatíveis será reduzido.

Quando uma máquina virtual é ligada e o driver VF do sistema operacional convidado é iniciado, os vetores de interrupção são consumidos. Se o número necessário de vetores de interrupção não estiver disponível, o sistema operacional convidado será encerrado inesperadamente sem nenhuma mensagem de erro.

Nenhuma regra existe atualmente para determinar o número de vetores de interrupção consumidos ou disponíveis em um host. Esse número depende da configuração de hardware do host.

Solução

  • Para poder ligar as máquinas virtuais, reduza o número total de VFs atribuídas a máquinas virtuais no host.
    Por exemplo, altere o adaptador de rede SR-IOV de uma máquina virtual para um adaptador conectado a um switch vSphere Standard ou vSphere Distributed Switch.