Sur un hôte ESXi, une ou plusieurs machines virtuelles qui utilisent des fonctions virtuelles SR-IOV pour la mise en réseau sont mises hors tension.

Problème

Sur un hôte ESXi, une ou plusieurs machines virtuelles qui utilisent des fonctions virtuelles SR-IOV pour la mise en réseau sont mises hors tension lorsque le nombre total de fonctions virtuelles attribuées s'approche du nombre maximal de fonctions virtuelles spécifié dans le guide Configurations maximales pour vSphere.

Le fichier journal de la machine virtuelle vmware.log contient le message suivant sur la fonction virtuelle :

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

Le fichier journal VMkernel vmkernel.log contient les messages suivants sur la fonction virtuelle attribuée à la machine virtuelle :

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

Chaque hôte ESXi dispose d'un total de 256 vecteurs d'interruption. Lorsque l'hôte démarre, les périphériques sur l'hôte (contrôleurs de stockage, adaptateurs réseau physiques et contrôleurs USB) consomment un sous-ensemble des 256 vecteurs. Si ces périphériques nécessitent plus de 128 vecteurs, le nombre maximal de fonctions virtuelles potentiellement prises en charge est réduit.

Lorsqu'une machine virtuelle est mise sous tension et que le pilote de la fonction virtuelle du système d'exploitation invité démarre, des vecteurs d'interruption sont consommés. Si le nombre de vecteurs d'interruption n'est pas disponible, le système d'exploitation invité s'arrête de façon inattendue sans message d'erreur.

Il n'existe actuellement aucune méthode pour déterminer le nombre de vecteurs d'interruption consommés ou disponibles sur un hôte. Ce nombre dépend de la configuration matérielle de l'hôte.

Résultats

Pour pouvoir mettre sous tension les machines virtuelles, réduisez le nombre de fonctions virtuelles attribuées aux machines virtuelles sur l'hôte. Par exemple, remplacez l'adaptateur réseau SR-IOV d'une machine virtuelle par un adaptateur connecté à un commutateur standard vSphere ou un commutateur vSphere Distributed Switch.