ESXi 호스트에서 네트워킹에 대해 SR-IOV VF(가상 기능)를 사용하는 가상 시스템 하나 이상의 전원이 꺼집니다.

문제

ESXi 호스트에서, 할당된 가상 기능의 총 수가 "vSphere 구성 최대값" 가이드에 지정된 가상 기능의 최대 수에 근접하면 네트워킹에 대한 SR-IOV 가상 기능(VF)을 사용하는 하나 이상의 가상 시스템 전원이 켜지지 않습니다.

가상 시스템 로그 파일 vmware.log에는 VF와 관련된 다음 메시지가 포함되어 있습니다.

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

VMkernel 로그 파일 vmkernel.log에는 가상 시스템에 할당된 VF와 관련된 다음 메시지가 포함되어 있습니다.

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

원인

할당 가능한 인터럽트 벡터의 수는 ESXi 호스트에 있는 물리적 CPU의 수에 따라 증가합니다. 32개의 CPU가 있는 ESXi 호스트는 총 4096개의 인터럽트 벡터를 제공할 수 있습니다. 호스트가 부팅될 때 스토리지 컨트롤러, 물리적 네트워크 어댑터 및 USB 컨트롤러와 같은 호스트 디바이스는 벡터 4096개 중 일부를 사용합니다. 이러한 디바이스에 벡터가 1024개보다 많이 필요한 경우 지원될 수 있는 최대 VF 수가 줄어듭니다.

가상 시스템의 전원이 켜지고 게스트 운영 체제 VF 드라이버가 시작될 때 인터럽트 벡터가 사용됩니다. 인터럽트 벡터를 필요한 수만큼 사용할 수 없는 경우 게스트 운영 체제가 오류 메시지 없이 예기치 않게 종료됩니다.

호스트에서 사용되거나 사용 가능한 인터럽트 벡터의 수를 확인할 수 있는 규칙은 현재 없습니다. 이 수는 호스트의 하드웨어 구성에 따라 달라집니다.

해결책

  • 가상 시스템의 전원을 켜려면 호스트의 가상 시스템에 할당된 총 VF 수를 줄입니다.
    예를 들어 vSphere 표준 스위치 또는 vSphere Distributed Switch에 연결된 어댑터에 대한 가상 시스템의 SR-IOV 네트워크 어댑터를 변경합니다.