Добавление виртуального сетевого адаптера к виртуальным машинам HyperV снизило скорость моей сети

Добавление виртуального сетевого адаптера к виртуальным машинам HyperV снизило скорость моей сети

У меня довольно простая конфигурация: Windows Server 2012 Hyper V Host, с двумя виртуальными машинами (обе Server 2012), одна для IIS, одна для SQL Server. Они все подключаются через физический сетевой адаптер

Вчера вечером я попытался добавить виртуальный коммутатор и настроить виртуальные сетевые карты на двух виртуальных машинах (в дополнение к физической сетевой карте).

Я еще не переключил серверы на фактическое использование виртуальных сетевых карт, но по какой-то причине это уничтожило скорость соединения между двумя виртуальными машинами — даже несмотря на то, что виртуальные сетевые карты не использовались. Мы говорим о 200-500 миллисекундах до 30-90 секунд на запрос!

Поэтому сегодня утром, увидев, какое ужасное влияние это оказало на мой сайт, я отключил две виртуальные сетевые карты, поскольку это все, что я изменил, и, конечно же, скорость восстановилась.

В конечном итоге мне нужно перевести их на использование v-NIC, но сначала мне нужно решить эту проблему.

Что может быть причиной этого? И что я могу сделать, чтобы устранить неполадки?

Дополнительные детали:

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

У меня есть один сервер с одним (физическим) NIC. В настоящее время этот NIC используется для связи между v-host и интернетом, а также между двумя VM и интернетом. Он также используется для внутренней связи между двумя VM.

Однако я пытаюсь переключить внутреннюю связь на виртуальный коммутатор посредством vNIC, освободив физическую сетевую карту для использования только для внешней связи.

Поэтому я добавил внутренний виртуальный коммутатор к v-host, а затем добавил виртуальную сетевую карту к каждой виртуальной машине.

После этого скорость моего соединения — через физический сетевой адаптер — резко упала. Отключение vNIC (через сетевую конфигурацию виртуальных машин) восстановило скорость до нормы.

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

Еще один раунд подробностей

Если копнуть поглубже в эту проблему, то окажется, что сетевые карты Broadcom печально известны проблемами с производительностью. На этом сервере установлены две сетевые карты Broadcom BCM5716C. Вот несколько ссылок на обсуждение известных проблем:

Медленный сетевой доступ в виртуальных машинах — Broadcom и Hyper-V

Виртуальная машина Hyper-V Очень медленная сеть – VMQ – Broadcom

Поэтому я начал играть с настройками, отключая разные настройки по одной за раз. Ни одно из изменений, похоже, не повлияло на проблему — если я включаю гостевой vNIC, скорость загрузки падает до 25+ секунд. Отключаю его снова, и она возвращается к 250 мс —фактор 100!

Я также попробовал установить последние драйверы от Broadcom, никакой разницы.

На данный момент я считаю, что это проблема совместимости между сетевыми картами Broadcom и Hyper-V. Но я не хочу заказывать новые сетевые карты и тратить время на закрытие сайта, их установку и настройку, а проблема останется.

Поэтому было бы неплохо, если бы я мог окончательно решить, подходит ли NIC или нет.

Физическая конфигурация сетевого адаптера на коммутаторе-менеджере Физическая конфигурация сетевого адаптера на коммутаторе-менеджере

Конфигурация виртуального коммутатора на менеджере коммутаторов Конфигурация виртуального коммутатора на менеджере коммутаторов

Физическая конфигурация сетевого адаптера на виртуальной машине базы данных Физическая конфигурация сетевого адаптера на виртуальной машине базы данных

Конфигурация виртуальной сетевой карты на виртуальной машине базы данных Конфигурация виртуальной сетевой карты на виртуальной машине базы данных

решение1

У меня очень похожая ситуация. Я нашел ответ здесь (Крайне медленная передача файлов на виртуальную машину Hyper-V на локальном компьютере)

С чипсетом Broadcom я отключил виртуальные очереди, и вся задержка исчезла. Сделайте это изменение на физическом NIC, а не на виртуальном NIC.

решение2

AFAIK, в Hyper-V нет такой вещи, как физический сетевой адаптер. Вы создали vSwitch с именем "Physical NIC", который сопоставлен с физическим адаптером и включили использование ОС управления. На каждой виртуальной машине есть vNic, использующий этот коммутатор. Зачем вам переключаться с одного vswitch на другой? Помимо того, что "новый" не подключен ни к чему, я действительно не вижу в этом смысла.

Hyper-V достаточно умен, чтобы отправлять трафик с vswitch на физическую сетевую карту только тогда, когда трафик маршрутизируется из хоста, а это значит, что вы уже делаете то, чего пытаетесь добиться.

Связанный контент