3 votes

Ajouter une carte NIC virtuelle aux machines virtuelles HyperV a tué ma vitesse réseau

J'ai une configuration assez simple : Hôte Windows Server 2012 Hyper-V, avec deux machines virtuelles (toutes deux sous Server 2012), une pour IIS, une pour SQL Server. Ils sont tous connectés via le NIC physique

La nuit dernière, j'ai essayé d'ajouter un commutateur virtuel et de configurer des NIC virtuels sur les deux machines virtuelles (en plus du NIC physique).

Je n'avais pas encore basculé les serveurs pour utiliser vraiment les NIC virtuels, mais pour une raison quelconque, cela a détruit la vitesse de connexion entre les deux machines virtuelles - même si les NIC virtuels n'étaient pas utilisés. On passe de 200-500 millisecondes à 30-90 secondes par requête !

Alors ce matin, après avoir vu l'énorme impact sur mon site, j'ai désactivé les deux NIC virtuels, puisque c'est la seule chose que j'ai changée, et bien sûr, les vitesses sont revenues.

En fin de compte, je dois les passer à l'utilisation des v-NIC, mais je dois d'abord résoudre ce problème.

Qu'est-ce qui pourrait causer cela ? Et que puis-je faire pour le résoudre ?

Détails supplémentaires :

La configuration est en fait très simple (ce qui pourrait être une partie de mon problème, je pourrais simplifier ce dont j'ai besoin pour configurer cela).

J'ai un seul serveur avec un seul NIC (physique). Actuellement, ce NIC est utilisé pour la communication entre l'hôte virtuel et l'internet, ainsi que entre les deux machines virtuelles et l'internet. Il est également utilisé pour la communication interne entre les deux machines virtuelles.

Cependant, j'essaie de passer la communication interne à travers le commutateur virtuel via vNIC, libérant le NIC physique pour être utilisé uniquement pour la communication externe.

J'ai donc ajouté un commutateur virtuel interne à l'hôte virtuel, puis ajouté un NIC virtuel à chaque machine virtuelle.

Après avoir fait cela, c'est à ce moment que mes vitesses de connexion - via le NIC physique - ont considérablement baissé. La désactivation des vNIC (via la configuration réseau des machines virtuelles) a restauré la vitesse normale.

Voici des captures d'écran de la configuration VM pour le NIC physique externe et les vNIC internes (sur une seule machine virtuelle, car elles sont configurées de manière identique).

Un autre tour de détails

En creusant un peu plus sur le problème, il semble que les NIC Broadcom sont notoires pour les problèmes de performances. Ce serveur dispose de deux NIC Broadcom BCM5716C. Voici quelques liens vers des discussions sur les problèmes connus :

Accès réseau lent dans les machines virtuelles - Broadcom et Hyper-V

Très lent réseau de machine virtuelle Hyper-V - VMQ - Broadcom

J'ai donc commencé à jouer avec les paramètres, en désactivant divers paramètres, un par un. Aucun des changements ne semblait avoir d'impact sur le problème - si j'active le vNIC invité, les vitesses de chargement passent à plus de 25 secondes. En le désactivant de nouveau, elles reviennent à 250 ms - un facteur de 100 !

J'ai également essayé d'installer les derniers pilotes Broadcom, sans différence.

À ce stade, j'ai l'impression qu'il s'agit d'un problème de compatibilité entre le NIC Broadcom et Hyper-V. Mais je ne veux pas commander de nouveaux NIC et passer par la peine d'arrêter le site, de les installer et de les configurer, pour que le problème persiste.

Il serait donc bien si je pouvais définitivement exclure ou non le NIC.

Configuration du NIC physique sur le gestionnaire de commutation Configuration du NIC physique sur le gestionnaire de commutation

Configuration du commutateur virtuel sur le gestionnaire de commutation Configuration du commutateur virtuel sur le gestionaire de commutation

Configuration du NIC physique sur la machine virtuelle DB Configuration du NIC physique sur la machine virtuelle DB

Configuration du NIC virtuel sur la machine virtuelle DB Configuration du NIC virtuel sur la machine virtuelle DB

2voto

Craig Debbo Points 21

J'ai une configuration très similaire. J'ai trouvé la réponse ici (Transferts de fichiers extrêmement lents vers Hyper-V VM sur la machine locale)

Avec le chipset Broadcom, j'ai désactivé les files d'attente virtuelles et toute latence a disparu. Effectuez ce changement sur la carte NIC physique, pas sur la carte NIC virtuelle.

1voto

Trondh Points 4161

À ma connaissance, il n'existe pas de passage de carte NIC physique sur Hyper-V. Vous avez créé un commutateur virtuel nommé "NIC physique", qui est associé à un adaptateur physique et a activé l'utilisation du système d'exploitation de gestion. Sur chaque VM, il y a une vNic utilisant ce commutateur. Pourquoi voulez-vous passer d'un commutateur à un autre? Mis à part le fait que le "nouveau" ne soit connecté à rien, je ne vois vraiment pas l'intérêt.

Hyper-V est suffisamment intelligent pour n'envoyer le trafic du commutateur virtuel vers la carte NIC physique que lorsque le trafic est routé hors de l'hôte, ce qui signifie que vous réalisez déjà ce que vous essayez d'accomplir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X