ID d’événement 106 lorsqu’un commutateur virtuel Hyper-V est lié à une équipe LBFO

Cet article permet de résoudre l’ID d’événement 106 lorsqu’un commutateur virtuel Hyper-V est lié à une équipe LBFO.

S’applique à : Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 2974384

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous disposez d’un ordinateur Windows Server 2012 ou Windows Server 2012 R2 configuré avec une ou plusieurs équipes d’équilibrage de charge et de basculement (LBFO).
  • Un commutateur virtuel Hyper-V est lié à l’une des équipes LBFO.

Dans ce scénario, l’un des événements suivants est journalisé par intermittence.

Cause

Si l’erreur 106 indique : « Raison : Les jeux de processeur se chevauchent lorsque LBFO est configuré avec le mode somme-file d’attente », vous devez utiliser la commande Set-NetAdapterVmq Windows PowerShell pour configurer chaque carte réseau de votre équipe afin qu’elle utilise différents processeurs. (Étant donné que l’association LBFO est configurée pour somme des files d’attente, les cartes réseau de l’équipe doivent utiliser des ensembles de processeurs sans chevauchement.)

Si l’erreur 106 indique « Raison : Les ensembles de processeurs ne sont pas identiques lorsque LBFO est configuré avec le mode min-queue », vous devez utiliser la commande Set-NetAdapterVmq Windows PowerShell pour configurer chaque carte réseau de votre équipe afin qu’elle utilise les mêmes processeurs. (Étant donné que l’association LBFO est configurée pour le mode File d’attente minimale, les cartes réseau de l’équipe doivent utiliser des ensembles de processeurs qui se chevauchent.)

Résolution

Si l’erreur 106 indique : « Raison : Les jeux de processeur se chevauchent lorsque LBFO est configuré avec le mode somme-file d’attente », vous pouvez utiliser l’exemple suivant Windows PowerShell commandes pour séparer les processeurs afin que chaque carte réseau utilise des processeurs différents pour la file d’attente de machines virtuelles (VMQ). En outre, vous devez installer le correctif logiciel dans l’article de la Base de connaissances 3031598 pour résoudre d’autres problèmes connus après avoir apporté ces modifications de configuration.

Il s’agit d’exemples de commandes. Vous pouvez modifier les paramètres BaseProcessorNumber et MaxProcessors en fonction du nombre de processeurs du serveur et des processeurs que vous ne souhaitez pas utiliser pour VMQ.

Set-NetAdapterVmq -Name NIC1 -BaseProcessorNumber 2 -MaxProcessors 2

Remarque

Cette carte réseau utilise les processeurs 2 et 3 pour vmq.

Set-NetAdapterVmq -Name NIC2 -BaseProcessorNumber 4 -MaxProcessors 2

Remarque

Cette carte réseau utilise les processeurs 4 et 5 pour vmq.

Si le processeur Hyper Threading est activé sur le serveur, vous devez modifier la façon dont vous définissez les paramètres BaseProcessorNumber et MaxProcessors pour corriger l’erreur 106 en mode sum-queue.

Si vous ne savez pas si Hyper Threading est activé sur le serveur, un moyen simple de le déterminer consiste à exécuter l’applet de commande Get-NetAdapterRSS Windows PowerShell, puis à examiner la ligne de sortie pour RssProcessorArray. S’il indique 0 :0/0 0 :1/0 0 :2/0....., Hyper Threading est DÉSACTIVÉ. S’il indique 0 :0/0 0 :2/0 0 :4/0..., Hyper Threading est ACTIVÉ. RSS et VMQ utilisent uniquement des processeurs principaux lorsque Hyper Threading est activé, ce qui signifie que les processeurs paires sont numérotés.

Par conséquent, si vous définissez les commandes mentionnées précédemment sur un serveur Hyper-Threaded, vous pouvez uniquement définir baseProcessorNumber sur un nombre pair. En outre, MaxProcessors doit être défini sur le nombre de processeurs à utiliser, que VMQ peut utiliser.

Par exemple, si vous avez (deux) processeurs à six cœurs et Hyper Threading activés, vous verrez 24 processeurs dans les outils Windows qui affichent des processeurs, tels que le Gestionnaire des tâches. VMQ ne peut utiliser que 12 de ces processeurs, car il utilise uniquement les processeurs paires. Pour fractionner ces processeurs sur deux cartes réseau et corriger l’erreur 106, vous devez utiliser les commandes suivantes pour définir chaque carte réseau afin qu’elle utilise des processeurs différents pour vmQ :
Set-NetAdapterVMQ -Name NIC1 -BaseProcessorNumber 0 -MaxProcessors 6 (cette carte réseau utilise donc le processeur 0,2,4,6,8,10 pour VMQ)
Set-NetAdapterVMQ -Name NIC2 -BaseProcessorNumber 12 -MaxProcessors 6 (cette carte réseau utilise donc le processeur 12,14,16,18,20,22 pour VMQ)

Si l’erreur 106 indique : « Raison : Les ensembles de processeurs ne sont pas identiques lorsque LBFO est configuré avec le mode min-queue », vous pouvez utiliser l’exemple suivant Windows PowerShell commandes afin que chaque carte réseau utilise les mêmes processeurs pour VMQ.

Il s’agit d’exemples de commandes. Vous pouvez modifier les paramètres BaseProcessorNumber et MaxProcessors en fonction du nombre de processeurs du serveur et des processeurs que vous ne souhaitez pas utiliser pour VMQ.

Set-NetAdapterVmq -Name NIC1 -BaseProcessorNumber 2 -MaxProcessors 4

Remarque

Cette carte réseau utilise les processeurs 2, 3, 4 et 5 pour vmq

Set-NetAdapterVmq -Name NIC2 -BaseProcessorNumber 2 -MaxProcessors 4

Remarque

Cette carte réseau utilise également les processeurs 2, 3, 4 et 5 pour vmq

Après avoir configuré correctement les processeurs VMQ afin que toutes les cartes réseau utilisent les mêmes processeurs pour VMQ, vous pouvez toujours obtenir l’erreur 106 « Raison : Les ensembles de processeurs ne sont pas identiques lorsque LBFO est configuré avec le mode min-queue » si vous avez également ajusté le paramètre « Nœud NUMA préféré » pour que les cartes réseau utilisent un nœud NUMA spécifique. Le paramètre par défaut est « System Default » (Système par défaut) et est le paramètre préféré lors de l’utilisation de VMQ. Si vous définissez un nœud NUMA par défaut spécifique et que les nœuds NUMA sont différents sur les cartes réseau, les cartes réseau n’utilisent pas les mêmes processeurs pour VMQ.

Exemple : Dans l’exemple ci-dessus, vous définissez NIC1 et NIC2 pour utiliser les processeurs 2, 3, 4 et 5. Si votre serveur a huit nœuds NUMA avec quatre processeurs dans chaque nœud NUMA, que vous définissez NIC1 sur Nœud NUMA préféré 0 et que vous définissez NIC2 sur Nœud NUMA préféré 1, vous définissez en fait NIC1 pour utiliser les processeurs 2 et 3 et NIC2 pour utiliser les processeurs 4 et 5, car les processeurs 2, 3, 4 et 5 sont répartis sur deux nœuds NUMA représentant les processeurs 0, 1, 2, 3 et 4, 5, 6, 7.

Plus d’informations

Blog qui traite des paramètres VMQ et LBFO pour différentes configurations LBFO
Blog qui traite de l’affectation du processeur VMQ