Вопрос или проблема
Я настроил свою среду Hyper-V (Windows 10 Pro 64-бит, обновление 1809), чтобы внешний виртуальный переключатель был связан с моим Wi-Fi адаптером и разделялся с хост-ОС. Я использовал этот виртуальный переключатель с моей гостевой виртуальной машиной Debian для доступа в интернет и к локальной сети.
С этим все было в порядке до нескольких дней назад, когда сеть моего хоста внезапно снизила пропускную способность с 350 Мбит/с до 8 Мбит/с.
Удаление внешнего переключателя полностью устраняет замедление.
Я пытался отключить VMQ, хотя драйвер моего беспроводного адаптера не поддерживает его (это встроенный чип Wi-Fi Qualcomm на материнской плате Asus Strix z270e), но это не изменило ситуацию.
Существует ли способ иметь внешний переключатель, который делит соединение с хостом без этих проблем, или ресурс, который я могу изучить, чтобы разобраться с этими проблемами? Мне нужно, чтобы виртуальная машина была доступна для локальной сети, так как я подключаюсь к ней через тестовые устройства, подключенные к моей локальной сети.
Обновление 1
Ответ, предоставленный здесь, действительно точно описывает мою ситуацию, и я попробовал решение, выполнив следующие шаги:
- создание внутреннего виртуального переключателя,
- выбор внутреннего виртуального переключателя и моего Wi-Fi NIC в панели управления сетью и выбор “создать мост” из контекстного меню.
Это привело к тому же замедлению, что и ранее с внешним виртуальным переключателем.
Внешние ссылки
https://win10.guru/hyper-v-external-switches-killing-networking-in-insider-builds
Итак, я сам боролся с этой проблемой несколько часов на своем новом ноутбуке, и, кажется, я нашел комбинацию настроек, которая, похоже, восстановила большую часть моего соединения.
Так как у меня есть Intel NIC, я не уверен, поможет ли это, но мне любопытно, и я хотел бы, чтобы вы попробовали, если у вас еще не получилось разобраться с этим.
Проблема №1: Медленная загрузка
Отключите объединение на Wi-Fi адаптере. Это полностью восстановило мою скорость загрузки и решило проблемы, которые я наблюдал с прерывистым подключением в хост-ОС и на виртуальных машинах.
Проблема №2: Медленная загрузка
Отключите Large Send Offload на виртуальном адаптере, представляющем внешний переключатель. В моем случае это называется vEthernet(WAN)
У меня есть Intel Killer WiFi на XPS 15 9570 и XPS 17 9700, и у них аналогичные проблемы с Hyper-V. Я дам конкретную конфигурацию, которая восстановила полную производительность для меня:
-
Адаптер vEthernet, настроенный для внешнего доступа с указанием на Wi-Fi адаптер
- Установите “Объединение сегментов (IPv4)” на “Отключено”
- Установите “Объединение сегментов (IPv6)” на “Отключено”
- Установите “Large Send Offload Version 2 (IPv4)” на “Отключено”
- Установите “Large Send Offload Version 2 (IPv6)” на “Отключено”
-
Wi-Fi адаптер
- Установите “D0 PacketCoalescing” или “Packet Coalescing” на “Включить” (или “Отключить” — иногда изменение этой настройки делает вещи быстрее, хотя одна настройка была лучше — это не кажется последовательным). Эта настройка может не иметь значения. Сначала попробуйте пропустить этот шаг и посмотрите, достаточно ли изменений vEthernet выше.
Внутри самой виртуальной машины я также обнаружил, что мне нужно:
- Эфирный адаптер
- Установите “Large Send Offload Version 2 (IPv4)” на “Отключено”
- Установите “Large Send Offload Version 2 (IPv6)” на “Отключено”
Вместе эти настройки восстановили скорость соединения моей хост-системы с 7 Мбит/с до 60 Мбит/с, что является производительностью, которую я получал, если бы у меня не было настроен Hyper-V вообще. Я также по-прежнему получаю почти такую же производительность на своих гостях.
Обратите внимание, что в последней версии Windows 11 вам, возможно, придется перейти в Диспетчер устройств, чтобы открыть свойства оборудования для ваших сетевых адаптеров, поскольку они, похоже, больше не доступны из центра “Сеть и общий доступ” панели управления.
Отключение Large Send Offload Version 2 в свойствах внешнего адаптера vEthernet помогло мне с этой проблемой.
Я не знаю, сможет ли мое предложение удовлетворить то, что вы действительно спрашиваете, но то, что я сделал, вместо использования внешних переключателей, я создал внутренний и настроил его как NAT виртуальный переключатель… таким образом, мне не нужно иметь дело с внешними vSwitches… если вы хотите предоставить интернет-доступ гостевым виртуальным машинам, это работает отлично. Вот ссылка, если вы хотите реализовать это… это относительно легко. Надеюсь, это поможет!
Моя скорость загрузки через Wi-Fi составляет 300 Мбит/с до создания внешнего виртуального переключателя. После этого, и без каких-либо настроек, скорость упала до однозначных чисел. Отключение Packet Coalescing на Wi-Fi адаптере увеличило скорость до примерно 50 Мбит/с. Однако включение Throughput Booster полностью восстановило скорость до 300 Мбит/с.
Добавляю еще одну возможную причину и решение для виртуального переключателя, вызывающего очень медленную скорость загрузки для всей системы (гостей и хоста). Это на Windows 11. Расширение Microsoft NDIS Capture было включено по умолчанию. Просто отключив его (убрав галочку), я восстановил свою нормальную сетевую производительность.
Я просто добавляю скриншоты, чтобы это было немного проще.
Я отключил tcp-segmentation-offload
в VM с ethtool -K eth0 tcp-segmentation-offload off
. Я думаю, вы также можете использовать ethtool -K eth0 tso off
https://kb.vmware.com/s/article/2055140
Отключение этой настройки улучшило мою скорость загрузки и выгрузки.
У меня есть хост HYPER-V (Server 2019 1809 & 1903), который я тестировал. У гостя Windows 10 была быстрая SMB сеть, но крайне медленные скорости интернет-серфинга/загрузки. Мой пост не связан с Wi-Fi, может помочь в любом случае.
Мои Linux гости получали быстрые скорости загрузки.
Мои Windows 10 были настроены как Gen2 VM. Я создал виртуальную машину Windows 10 как Gen1 VM, я назову это W10G1.
W10G1 по-прежнему имела плохую интернет-производительность, используя “Сетевой адаптер” в конфигурации.
W10G1 имела отличную интернет-производительность, используя “Устаревший сетевой адаптер”. Других изменений не было.
Похоже, что есть проблема в коде “Сетевого адаптера” хоста или “Сетевого адаптера” гостя Windows 10.
Я был бы рад, если бы кто-то перепроверил мои результаты, проведя аналогичный тест.
Мой сценарий решения этого:
- Удалить все внешние карты.
- Создать внутреннюю карту vEthernet.
- Поделиться интернетом с моего Wi-Fi соединения с этой внутренней картой.
- Внутри виртуальной машины установить LAN карту на DHCP-auto. Так вы настраиваете NAT и получаете случайный IP (192.168.137.45 в моем случае).
- Порт пересылки для моих рабочих нужд.
- В админ-консоли: netsh interface portproxy set v4tov4 listenport=180 connectaddress=192.168.137.45 connectport=80
- Это позволит вашему ПК слушать 180 и пересылать его на 80 виртуальных машин. Вы можете настроить любое переадресацию портов таким образом.
Ответ или решение
Причины медленной сети в Hyper-V при использовании внешнего виртуального коммутатора и решения проблемы
При создании внешнего виртуального коммутатора в среде Hyper-V, подключённого к адаптеру Wi-Fi, пользователи могут столкнуться с неожиданным снижением скорости сети на хост-машине, что в вашем случае выражается в падении пропускной способности с 350 Мбит/с до 8 Мбит/с. Эта проблема может быть вызвана множеством факторов, связанных как с настройками самой сети, так и с характеристиками используемого оборудования.
1. Конфликт настроек адаптера
Часто медленный интернет на хосте при включённом внешнем коммутаторе может быть связан с конфликтом в конфигурации сетевого адаптера. В частности, некоторые функции управления потоком, такие как "Large Send Offload" и "Receive Segment Coalescing", могут вызывать снижении производительности. Рекомендуется отключить следующие параметры для вашего виртуального адаптера vEthernet и физического адаптера Wi-Fi:
- Large Send Offload Version 2 (IPv4 и IPv6) – отключите эту опцию в свойствах внешнего виртуального адаптера, чтобы предотвратить разделение крупных пакетов на более мелкие.
- Receive Segment Coalescing (IPv4 и IPv6) – отключите эти функции на обоих адаптерах, так как они могут увеличивать задержки и снижать скорость.
2. Проблемы с пакетом данных
Если включена функция пакетного объединения (Packet Coalescing), это может негативно сказаться на производительности сети. Рекомендуется попробовать разные настройки для улучшения ситуации:
- Отключите пакетное объединение на адаптере Wi-Fi через диспетчер устройств.
- Поэкспериментируйте с параметрами "D0 PacketCoalescing": иногда переключение между включенной и выключенной настройкой может дать облегчение.
3. Настройка NAT вместо внешнего коммутатора
Если цель использования внешнего виртуального коммутатора заключается в предоставлении интернет-доступа виртуальным машинам, рассмотрите возможность использования внутреннего коммутатора с NAT. Это позволит избежать проблем, свойственных внешним коммутаторам, и улучшить скорость. Для этого следуйте следующим шагам:
- Создайте внутренний виртуальный коммутатор.
- Поделитесь интернет-соединением с внутренним адаптером.
- Настройте DHCP в вашем виртуальном окружении, что позволит автоматически предоставлять IP-адреса.
4. Проверка обновлений драйверов и системы
Убедитесь, что драйверы вашего сетевого оборудования (особенно Wi-Fi адаптера) и сама операционная система обновлены до последних версий. Иногда обновления могут включать в себя исправления ошибок, которые влияют на функциональность сетевых функций.
5. Отключение NDIS Capture
В последних версиях Windows, для улучшения производительности, рекомендуется отключить опцию NDIS Capture в параметрах виртуального коммутатора. Это изменение может значительно повысить скорость вашей сети.
Заключение
Проблемы с сетью в Hyper-V могут быть вызваны множеством факторов, включая настройки адаптеров, функции управления потоком и настройки Windows. Применение предложенных решений может значительно улучшить производительность сети вашего компьютера и виртуальных машин. Регулярное обновление драйверов и изучение новых технологий и функций Hyper-V также помогут сохранить стабильность и высокую производительность вашей виртуальной инфраструктуры.
Если указанные методы не помогли, возможно, стоит обратиться в техническую поддержку или на специализированные форумы для получения более конкретной помощи, основанной на вашей конфигурации и требованиях к виртуальной среде.