Я установил Windows Server 2016 Datacenter на Dell T620, а затем установил роль Hyper-V. Затем я создал группу сетевых адаптеров, состоящую из 2 физических сетевых адаптеров 1 Гбит / с. Команда называется LANTeam. Настройки: Teaming Mode - Switch Independent, Load Balancing Mode - Dynamic, Standby Adapter - None (все адаптеры активны).
На панели управления сетевыми подключениями этого сервера я вижу все свои физические сетевые адаптеры, а также еще одно подключение, называемое «LANTeam». Это имя подключения, но имя устройства - «Драйвер мультиплексора сетевого адаптера Microsoft».
Если я дважды щелкну это сетевое соединение, оно показывает скорость 2,0 Гбит / с, что имеет смысл, поскольку это соединения 2 x 1 Гбит / с, объединенных вместе.
Вот где мне становится немного пасмурно:
Я открываю Hyper-V Manager и нажимаю Virtual Switch Manager. Я создаю новый виртуальный коммутатор (внешний) и выбираю «Драйвер мультиплексора сетевого адаптера Microsoft» из раскрывающегося списка.
Я называю этот коммутатор LAN vSwitch
Далее я создаю свою первую виртуальную машину. В его окне свойств я выбираю «LAN vSwitch» из раскрывающегося списка.
Когда я запускаю эту виртуальную машину (я установил Windows 2016 Server), перехожу в раздел «Сетевые подключения» и дважды щелкаю один (и единственный) сетевой адаптер (который просто называется «Ethernet», он показывает скорость всего 1,0 Гбит / с.
Почему не 2,0 Гбит / с? Моя цель - создать несколько виртуальных машин, каждая из которых будет иметь соединение Ethernet 2,0 Гбит / с.
Несоответствие, которое вы видите, заключается только в заявленной скорости сетевой карты. Сначала немного предыстории:
Windows немного лжет, когда сообщает вам, что объединенные сетевые адаптеры работают со скоростью 2 Гбит / с, поскольку на самом деле это не так, как работает объединение или объединение. Используя объединение, вы можете сбалансировать нагрузку дискретных подключений между двумя сетевыми адаптерами. Одно соединение может заполнить только одну сетевую карту. Объединение становится эффективным только при работе с несколькими конечными точками сети, поэтому обычно это хороший вариант для установки на хосте виртуальной машины. Установление связей или команд внутри виртуальных машин, а не на хосте, может иметь странные последствия на различных платформах, и вам следует избегать этого, если вообще возможно. В общем, лучше всего размещать связь в том месте, где будет наибольшее количество подключений, и это обычно как можно ближе к магистрали сети.
Вернемся к проблеме с отчетами о скорости в вашей виртуальной машине - это не ложь. У вас есть сетевые карты со скоростью 1 Гбит / с, подключенные к вашему хосту и подключенные к vswitch, обеспечивающему сеть для ваших экземпляров. Это снижает скорость всего этого vswitch до 1 Гбит / с, и это известное ограничение управления потоком HyperV. Vswitch игнорирует заявленную емкость облигации, поскольку она не имеет значения для управления потоком. Вы по-прежнему можете передавать 2 Гбит / с с хоста, но не на одну виртуальную машину.
Если вам по-прежнему требуется сетевое соединение между виртуальными машинами со скоростью системной шины хоста, вы можете создать «пустой» vswitch, который не подключается ни к какому физическому сетевому адаптеру, а только к каждой виртуальной машине и хосту. Это может быть полезно, если у вас большой трафик между виртуальными машинами Восток-Запад.
Основываясь на приведенном выше примере, вы можете почти полностью обойти эту проблему, отключив уровень 2 на гипервизоре. Вы можете присоединить все свои виртуальные машины к этому пустому коммутатору vswitch, чтобы обеспечить скорость передачи данных по шине. После того, как это установлено, вы можете использовать хост Hyperv в качестве шлюза, направляя трафик уровня 3 от полностью виртуального vswitch к группе адресов 3 уровня на хосте. Это привело бы к некоторым сложностям netowrk, таким как необходимость переадресации портов и использования NAT. Однако в Hyperv для этого есть очень удобные элементы управления.