Внешний сетевой коммутатор Hyper-V убивает производительность сети моего хоста

3628
Maris B.

У меня Windows 10 полностью обновлена. Я делаю следующее:

  1. Тестирование скорости интернета - 70 Мбит / с вверх / 70 Мбит / с вниз
  2. Диспетчер Hyper-V
  3. Диспетчер виртуальных коммутаторов
  4. Создать виртуальный коммутатор - внешний
  5. Тестирование скорости интернета - 50 Мбит / с вверх / 0,1 Мбит / с вниз
  6. Удалить виртуальный коммутатор
  7. Тестирование скорости интернета - 70 Мбит / с вверх / 70 Мбит / с вниз

Я еще не создал виртуальные машины. Производительность сети хоста снижена. На хосте установлен контроллер семейства Realtek PCIe GBE.

Единственное исправление, которое я нашел в интернете, касается карт Broadcom - отключение «Большой отправки при выгрузке» в свойствах адаптеров, но, к сожалению, это не помогает.

6
После обновления до Windows 10 1809 у меня возникла точно такая же проблема (также с «Realtek PCIe GBE Family Controller»), за исключением того, что скорость вниз была хорошей, а скорость ** up ** была уменьшена до менее чем 1 Мбит / с. Обновление драйвера устройства через «Диспетчер устройств» устранило проблему. Heinzi 5 лет назад 0

8 ответов на вопрос

2
sfuqua

Уловка VMQ была полезна мне несколько месяцев назад, до того, как обновление Windows от марта 2018 года было применено на работе. После этого обновления и, возможно, некоторых других небольших обновлений у меня снова стали периодически возникать проблемы с производительностью сети, когда у меня активно работала виртуальная машина.

Экспериментально я попробовал что-то отличное от обычного сетевого моста: я включил общий доступ к подключению к Интернету на своей сетевой плате, предоставив доступ к внутреннему виртуальному сетевому коммутатору («vEthernet (nat) 2»). Пока все хорошо - нет заметного влияния на хост, и виртуальная машина теперь также имеет полный доступ к Интернету.

enter image description here

1
Mr. Raspberry

Попробуйте отключить VMQ

Чтобы отключить VMQ на виртуальном коммутаторе, используйте командлет Set-VMNetworkAdapter PowerShell следующим образом:

Set-VMNetworkAdapter –ManagementOS -Name <VirtualNetworkAdapterName> -VmqWeight 0 

Чтобы отключить VMQ на физическом сетевом адаптере, снимите соответствующий флажок на вкладке «Дополнительно» на странице свойств сетевого адаптера.

Чтобы изменить MAC-адрес виртуального коммутатора, измените его в диспетчере Hyper-V или с помощью одного из следующих командлетов PowerShell Set-VMNetworkAdapter:

  • Используя статический MAC-адрес:

    Set-VMNetworkAdapter –ManagementOS -Name <VirtualNetworkAdapterName> -StaticMacAddress <MacAddress>

  • Используя динамический MAC-адрес:

    Set-VMNetworkAdapter –ManagementOS -Name <VirtualNetworkAdapterName> -DynamicMacAddress

Источник: http://www.dell.com/support/article/us/en/19/sln132131/windows-server--slow-network-performance-on-hyper-v-virtual-machines-with-virtual-machine -queue - VMQ - включен языки = еп?

К сожалению, команда `` `Set-VMNetworkAdapter``` не работает для меня. Я пытался использовать имя сетевого адаптера из панели управления, из Hyper-V, также пытался переименовать, с двойными кавычками, также без. Но я всегда получаю одну и ту же ошибку: * Set-VMNetworkAdapter: сетевой адаптер с заданными критериями не найден. * (Запуск PowerShell от имени администратора также не помогает) Maris B. 6 лет назад 0
Я думаю, что это сработало для меня после перезагрузки. Я использую Minikube на Hyper-V, и мои хост-машины используют Wi-Fi. Когда после создания виртуального коммутатора для совместного использования сети хоста, мой интернет был в основном 1/10 от ожидаемого. Применил команду Powershell и не работал. Перезапустил и все заработало. VRPF 5 лет назад 0
0
Rumkex

Это не совсем правильное решение, а скорее уродливый взлом, какой вид решения проблемы:

Гостевая ОС, скорее всего, не подвержена этой проблеме, поэтому ее использование в качестве маршрутизатора (т. Е. Настройка пересылки и NAT в гостевой ОС) решит проблему - и представит кучу новых, поскольку ваша хост-машина находится за NAT сейчас.

Я почти уверен, что это ошибка, которая была введена в обновлении Fall Creators для Win10 (выпуск 1709), поскольку точно такая же настройка работала у меня до того, как я обновился. Таким образом, другой вариант будет ждать патч от Microsoft, который восстановит их порядок.

0
RichH

Обновление драйверов моего сетевого адаптера, в частности моего беспроводного драйвера Dell, устранило проблему медленной скорости интернета для меня (пока).

У меня была такая же проблема с Windows 10 v 1709, работающей на ноутбуке Dell M6800, подключенном к моему локальному маршрутизатору через WiFi. Я только что установил Windows 10 пару месяцев назад, поэтому я подумал, что все мои драйверы были обновлены.

После создания внешнего виртуального коммутатора скорость интернета снизилась примерно до 10% от нормальной скорости.

Я пытался использовать статические настройки DNS IPV4 в сетевых адаптерах, и это не решало медленную скорость.

Наконец, в диспетчере устройств я обновил драйверы сетевого адаптера, и это решило мою проблему.

Надеюсь это поможет.

0
iceflow19

Я боролся с этой проблемой некоторое время теперь сам. Тот же сценарий, та же самая дилемма. Не так много помощи онлайн, пришлось экспериментировать (даже было несколько голубых экранов), пока я не нашел решение.

Выпустив обновление Fall Creators, Microsoft объединила всех и заставила всех нас использовать их новый «переключатель по умолчанию». Проблема заключается в том, что указанный коммутатор монополизирует один из ваших сетевых адаптеров, создав NAT через службу «Общий доступ к подключению к Интернету». Если у вас был только один сетевой адаптер, вам не повезло подключить внешний виртуальный коммутатор. Хотя это позволит вам сделать это, это приводит к скорости загрузки, которую вы видите. Внутренне что-то странное происходит с NAT, но что касается того, чего я не знаю.

Следующее действительно работает, хотя, чтобы получить намеченный конечный результат:

  1. Создать внутренний переключатель
  2. Назначить доц. виртуальный адаптер Ethernet для коммутатора со статическим IP-адресом вне диапазона DHCP (например 192.168.1.1:) и маской подсети.
  3. На шаге 2 выберите сетевой адаптер и адаптер и добавьте их в мост.

Конечным результатом будет то, что ваши виртуальные машины находятся во внешней сети и получают IP-адреса от DHCP, в то время как ваш хост не должен быть поврежден каким-либо образом, насколько я могу судить.

Если вы хотите добавить больше «псевдо-внешних» коммутаторов, просто выполните шаги № 1 и № 2 и добавьте их в существующий мост.

Я попробовал этот подход, но, похоже, я сталкиваюсь с той же проблемой после последнего обновления (Win 10 Pro 64 обновление 1809). Пару дней назад любая внешняя сеть или внутренняя сеть с мостовым соединением вызывает такое же замедление. Klemen Slavič 5 лет назад 0
@ KlemenSlavič Я еще не обновился до 1809, но в целом я слышал кучу ошибок. Поэтому я не сомневаюсь, что это может сломать это. Спасибо за внимание. iceflow19 5 лет назад 0
0
Marc Durdin

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/setup-nat-network предоставляет хороший шаг за шагом по настройке NAT для внутреннего Hyper-V сетей.

TLDR, например:

PS C:\> New-VMSwitch -SwitchName "SwitchName" -SwitchType Internal  PS C:\> Get-NetAdapter  Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- -------------------- ------- ------ ---------- --------- "SwitchName" Hyper-V Virtual Ethernet Adapter 40 Up 00-15-5D-00-6A-01 10 Gbps Wi-Fi Marvell AVASTAR Wireless-AC Net... 18 Up 98-5F-D3-34-0C-D3 300 Mbps Bluetooth Network ... Bluetooth Device (Personal Area... 21 Disconnected 98-5F-D3-34-0C-D4 3 Mbps  PS C:\> New-NetIPAddress -IPAddress 192.168.99.1 -PrefixLength 24 -InterfaceIndex 40 PS C:\> New-NetNat -Name HyperVNat -InternalIPInterfaceAddressPrefix 192.168.99.0/24 

Машины во внутренней сети не получат адреса, назначенные DHCP, поэтому вам необходимо настроить их самостоятельно. Я использовал Google DNS (8.8.8.8/8.8.4.4) в качестве DNS-серверов для внутренних машин.

0
Rare Solutions

Для меня, прежде чем я сделаю что-нибудь еще, после создания коммутатора в диспетчере Hyper-V перезагрузите машину, все перезагрузится. Теперь я вижу одинаковую скорость с обоих концов.

0
ManuD

Та же проблема для меня, и, похоже, она вернется после обновлений.

Я пользователь VMWare, и меня «заставили» работать с Hyper-V. Первая заметная вещь, которая отсутствует при создании виртуального коммутатора, - это отсутствие опции NAT. Поэтому я в конечном итоге использовал «Внешний» для подключения своих виртуальных машин к физической сети. Моей первой проблемой была не скорость интернета, а неправильное поведение интернет-соединения. Это был факт, что я выставлял свои виртуальные машины внешней сети! Тогда проблема медленного / беспорядочного соединения возникла поверх этого!

Поэтому я использовал найденные здесь команды PS для создания адаптера NAT, и это работает как шарм!