Обновлено 02.10.2019
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами разобрали вопрос, что такое cookie, их использование и удаление в случае необходимости. Сегодня я хочу написать пост на тему системного администрирования, а именно мы разберем, как производится объединение сетевых карт в Windows Servwer 2019, разберемся с понятием Nic Teaming, каких видов он может быть и какие сценарии его использования. Думаю, что эта информация окажется полезной.
Что такое Nic Teaming
Сейчас когда бизнес уже очень сильно зависит от доступности его сервисов, таких как корпоративная почта, файловый сервер, сайт с веб приложениями и CRM, и многое другое очень сильно встает вопрос по организации отказоустойчивости на разных уровнях. Одним из таких уровней является сетевой. В данной статье нам нужно рассмотреть про организацию отказоустойчивой сети в вашем Windows Server 2019. Сейчас уже себе сложно представить сервер, у которого было бы сетевых интерфейсов меньше двух, чаще всего их четыре и более. Раз они есть, то было бы здорово их объединить и использовать, как одно целое решая тем самым:
- Отказоустойчивость сетевой доступности
- Увеличение пропускной способности
Microsoft начиная с Windows Server 2012 услышала администраторов и внедрила в свою операционную систему функционал Nic Teaming. Объединение сетевых карт (Nic Teaming Network Interface Card Teaming (Load Balancing/Fail Over (LBFO))) — это технология группировки физических или виртуальных сетевых карт в один или несколько программных сетевых адаптеров, решающих проблемы в случае сбоя оборудования.
На текущий момент вы можете спокойно объединить в Windows Server 2019 от двух до 32 сетевых карт в один или несколько пулов.
Предположим, что у нас вышел из строя один сетевой адаптер, в результате прохождение трафика перестроилось.
Ранее Nic Teaming мог быть реализован только посредством установки специальных драйверов на ваши сетевые карты. Эти драйвера позволяли вам через свойства сетевых адаптеров собирать пулы. Бывало так, что у вас на физическом сервере могли быть сетевые карты разных производителей, и в таком сценарии вы могли иметь проблемы с объединением сетевых карт. Благодаря встроенной возможности Windows Server 2019 эта проблема минимизируется.
Хочу отметить, что данная технология не нова и давно уже реализована и используется на сетевом оборудовании, там она называется LACP, или на системах хранения, например у Synology, там она называется Bonding, в Linux то же Bonding.
Требования и ограничения к Nic Teaming в Windows Server 2019
Как сказано в документации Microsoft драйвер сетевой карты должен иметь цифровую подпись Windows Hardware Qualification and Logo (WHQL). Если WHQL имеется, то вы может объединять адаптеры разных производителей.
https://docs.microsoft.com/ru-ru/windows-server/networking/technologies/nic-teaming/nic-teaming
Нужно учитывать, что для работы Nic Teaming сетевые карточки должны иметь одинаковую пропускную способность, если вы используете объединение от других производителей, то не используйте их совместно с инструментом Microsoft.
Так же вы не сможете объединить в группу карточки которые работают не по технологии Ethernet, такие как WWAN, Wi-FiInfiniband, сетевые адаптеры отладки ядра (KDNIC). Так же есть ряд технологий, которые не поддерживаются технологией объединения сетевых карт:
- TCP Chimney. TCP Chimney не поддерживается, так как TCP Chimney разгружает весь сетевой стек непосредственно к сетевому адаптеру.
- Для SR-IOV данные доставляются непосредственно на сетевой Адаптер без передачи через стек сети в виртуализации. Таким образом он не поддерживается для сетевых карт, для проверки или перенаправлять данные на другой маршрут в объединении.
- При настройке Qos, когда вы активируете политику качества обслуживания, тут могут быть проблемы из-за ограничения полосы пропускания
Методы настройки объединения сетевых интерфейсов
Существует три метода и два подхода по настройке ваших сетевых карт в общую сетевую группу:
- Первый метод, это локальный непосредственно на вашем сервере
- Второй метод, это удаленный подразумевает, что вы используете инструменты позволяющие вам выполнить настройку на удаленной системе.
Из инструментов я могу выделить:
- Использование оснастки «Диспетчер серверов»
- Командлеты PowerShell
Настройка Nic Teaming в Windows Server 2019
Производить настройку Nic Teaming я буду в моем тестовом домене Active Directory root.pyatilistnik.org. У меня есть виртуальная машина с установленной Windows Server 2019, где выполнена базовая настройка перед вводом в эксплуатацию. Так как я этот сервер использую, как хост управления Windows Admin Center и WDS сервер ,то мне хочется, чтобы он был более отказоустойчивый и производительный в плане пропускной способности.
Использование диспетчера серверов
Данный метод самый простой и часто используемый, так как подходит большинству системных администраторов, он позволит вам производить настройки тиминга и на серверах Windows Core. Открываем диспетчер серверов, в моем примере на сервере SVT2019S01, у него есть четыре гигабитные сетевые карты intel 82574L. Как видно по умолчанию в Windows Server 2019 объединение сетевых карт отключено, щелкаем по настройке.
В статье по настройке сети в Windows Server 2019 я вам показывал команду PowerShell показывающую вам сетевые настройки:
В результате видно, что мои адаптеры имеют 4 разных Ip-адреса, один статический 192.168.31.3 и три динамических, полученных от DHCP-сервера. Я сделаю пул состоящий из четырех сетевых адаптеров и назначу ему IP-адрес 192.168.31.3.
В результате у вас должно открыться окно «Объединение сетевых карт«, оно будет разбито на три раздела:
- Раздел серверы — тут вы можете добавлять удаленные сервера для управления тимингом
- Раздел группы — тут вы создаете группы «Windows Nic Teaming»
- Адаптеры и интерфейсы — список ваших сетевых адаптеров, которые вы будите добавлять в группы
Объединение сетевых карт у нас начинается с создания новой группы. В разделе группы, нажмите кнопку «Задачи» и выберите пункт «Создать группу».
Откроется окно создания группы. Тут вам нужно выбрать под себя и свои задачи ряд параметров, а именно:
- Задайте удобное для вас имя Nic Teaming, отмечу, что оно ни на что не влияет
- Выберите адаптеры участники — это те сетевые адаптеры которые вы хотели бы видеть у себя в группе интерфейсов, я пока выберу два, остальные добавлю в момент, когда группа уже создана
Нажмите кнопку «Дополнительные свойства«, в ней весь сок. Тут вы сможете настроить:
-
- Режим поддержки групп
- Режим балансировки нагрузки
- Резервный адаптер — это если вы хотите какой-то сетевой интерфейс держать про запас и если кто-то из группы будут не доступны, то он включится в дело и всех спасет, Нужно учитывать, что он не будет участвовать в передачи данных.
- Основной групповой интерфейс
Режимы поддержки групп
Режим поддержки групп (Teaming Mode) — это два режима, которые задают как у вас будет работать ваше объединение сетевых карт. Как я писал выше у вас три варианта: «Не зависит от коммутатора (Switch Independent)», «Статическая поддержка групп (Static Teaming) (IEEE 802.3ad draft v1)» и LACP (Link Aggregation Control Protocol (LACP, IEEE 802.1ax)).
- Не зависит от коммутатора (Switch Independent) — данный режим позволяет вам подключать сетевые адаптеры сервера к разным коммутаторам, добиваясь тем самым отказоустойчивости. Независимые от коммутатора опции означают, что нам не нужно вносить какие-либо изменения конфигурации на стороне коммутатора. Использование «Не зависит от коммутатора» означает, что исходящий трафик будет сбалансирован по нагрузке с использованием выбранного нами алгоритма, но поскольку коммутаторы не знают о балансировке нагрузки, входящий трафик не будет сбалансирован по нагрузке. Входящий трафик получает основной сетевой интерфейс, в случае если он сбоит, его функции перейдут другому адаптеру.
- Статическая поддержка групп (Static Teaming) (IEEE 802.3ad draft v1) — данный режим требует настройки коммутатора, чтобы он мог работать с командами Nic Teaming Windows Server 2019, и сетевые адаптеры должны быть подключены к одному и тому же коммутатору. Еще раз, цитируя официальную документацию : «Команды, зависящие от коммутатора, требуют, чтобы все члены объединения были подключены к одному и тому же физическому коммутатору или коммутатору с несколькими шасси, который разделяет идентификатор коммутатора между несколькими шасси». При статической поддержке групп вам необходимо в ручном режиме произвести настройки на вашем коммутаторе, вы выделяете под это дело статические порты и формируете группу. Этот режим обычно поддерживается коммутаторами серверного класса.
В режиме «Статическая поддержка групп» исходящий трафик при режиме балансировки (Хэш адреса «Address Hash») будет распределяться между всеми активными адаптерами в группе объединенных сетевых карт. Входящий трафик так же будет перенаправлен в соответствии с заданным алгоритмом нагрузки, который задан на коммутаторе.
- LACP (Link Aggregation Control Protocol (LACP, IEEE 802.1ax)) — данный режим требует настройки коммутатора, режим намного более динамичен. Мы настраиваем коммутатор, а не отдельные порты, что означает, что мы можем перемещать кабели, и мы все равно получим сценарий с балансировкой нагрузки. Когда коммутатор настроен, он узнает о вашей сетевой группе и обрабатывает динамическое согласование портов.
Режим балансировки нагрузки
При объединении сетевых карт вам не только нужно выбрать режим поддержки, но и еще необходимо задать режим балансировки, коих целых три:
- Хэш адреса (Address Hash)
- Порт Hyper-V (Hyper-V Port)
- Динамический (Dynamic)
Ниже я расскажу про каждый из них.
- Хэш адреса (Address Hash) — как можно догадаться из названия в данном режиме балансировки происходит вычисление хэш на основе адреса отправителя и получателя. Вычисленный хэш будет ассоциироваться с каким либо сетевым адаптером, и пакеты с таким хэшем будут прилетать именно ему. Хэш может вычисляться на основе следующих значений (Задаются через PowerShell):
- MAC-адрес отправителя и получателя;
- IP-адрес отправителя и получателя (2-tuple hash);
- TCP-порт отправителя и получателя и IP-адрес отправителя и получателя (4-tuple hash).
Если вы выбираете режим на основе портов, то это равномерное распределение трафика, но если у вас трафик не TCP/UPD, то применяться будет режим IP-адреса, если трафик не IP, то будет хэш на основе MAC-адреса.
- Порт Hyper-V (Hyper-V Switch Port) — Балансировка нагрузки порта Hyper-V связывает виртуальную машину с конкретным сетевым адаптером в группе, что может хорошо работать для хоста Hyper-V с многочисленными виртуальными машинами, так что вы распределяете их сетевой адаптер между несколькими сетевыми картами в вашей группе. Весь исходящий трафик данной ВМ всегда передается через этот сетевой адаптер. В данном режиме такой вид балансировки назначает независимые MAC-адреса виртуальным машинам. Этот режим очень хорошо работает в сценариях, где вы объединяете много виртуальных машин на физическом хосте Hyper-V, но ни одна из них не генерирует сетевую нагрузку, превышающую пропускную способность одного сетевого адаптера в группе. Объединение сетевых карт использует порт коммутатора Hyper-V Virtual в качестве идентификатора, вместо того чтобы использовать MAC-адрес источника, так как в некоторых случаях виртуальные машины могут быть настроены с использованием более одного MAC-адреса на порту коммутатора.
- Динамический (Dynamic) — это опция по умолчанию, представленная в Server 2012 R2, которая рекомендована Microsoft и дает вам преимущества обоих ранее упомянутых алгоритмов: он использует хеширование адресов для исходящего трафика и балансировку портов Hyper-V для входящего с дополнительной встроенной логикой для балансировки в случае сбоев/затыков
Разобравшись с основными понятиями, можно продолжить объединение сетевых карт. В своем примере я для начала объединю в NIC Teaming два сетевых интерфейса «Ethernet0» и «Ethernet1». Дополнительные настройки я выберу:
- Режим поддержки групп — Не зависит от коммутатора
- Режим балансировки нагрузки — Хэш адреса
- Резервный адаптер — нет (все адаптеры активны)
Применяем настройки, в итоге первый сетевой адаптер у вас сразу будет в зеленом, активном состоянии, дополнительный сетевой адаптер, может легко иметь статус «Неисправный, ожидает подключения». Связано это с тем, что идет сборка NIC Teaming, так что можете не беспокоиться.
Через пару секунд мы видим, что оба адаптера имеют статус «Активный» и все зелененькое.
В левой части вы будите видеть вашу группу объединенных сетевых интерфейсов и ее текущие настройки. Если необходимо их поменять, то кликаем по группе правой кнопкой мыши и из контекстного меню выберите пункт «Свойства«.
В результате у вас откроется знакомое вам окно со всеми свойствами группы.
Теперь давайте мы с вами откроем окно «Сетевые подключения», обратите внимание, что у вас появился новый виртуальный адаптер (Microsoft Network Adapter Multiplexor Driver). У него своеобразный значок, отличный от обычных карт, открыв его свойства вы сразу можете увидеть, что его скорость стала 2 Гбит/с, это логично, у нас же произошло сетевое объединение двух адаптеров по 1 Гбит/с. Открыв свойства подключения, я вижу, что получил динамический IP-адрес от моего DHCP сервера, при желании вы можете задать статические настройки.
Если вы теперь попытаетесь посмотреть свойства любого из сетевых адаптеров участвующих в тиминге, то у них уже не будет своего IP-адреса, так как он выступает в роли силинка (Это можно сравнить с обычным патч кордом подключенным от коммутатора к серверу)
Убедиться в том, что это силинк можно. так же увидев, что в свойствах адаптера отключены пункты IP версии 4 и 6.
Так же это можно проверить, через команду IPCONFIG, которая выведет три сетевых интерфейса.
Еще хочу обратить внимание, что на интерфейсе NIC Teaming появился новый драйвер «Microsoft Load Balancing/Failover Provider«, он и участвует в алгоритме балансировки трафика.
Добавление и исключение сетевых адаптеров из NIC Teaming
Давайте я в свою группу teaming-pyatilistnik добавлю третий сетевой адаптер. Для этого в диспетчере серверов в свойствах группы поставьте галки на против нужных. Я добавлю сетевые адаптеры «Ethernet2» и «Ethernet3», последний у меня будет, как резервный. Применяем.
Так же ждем настройки.
В итоге мы расширили наше объединение сетевых адаптеров, три активных и один резервный.
Проверяем утилитой IPCONFIG, видим, что в моей Windows Server 2019 один сетевой интерфейс, но 4-ре физических адаптера. Тиминг готов.
Благодаря этому, я добился пропускной способности в 3 Гбит/с и с одним резервным адаптером.
Для того, чтобы удалить один из сетевых адаптеров из NIC Teaming, в свойствах просто снимаем галку.
Удаление происходит практически моментально.
Добавление группового интерфейса в нужный VLAN
Я уверен, что у вас не плоская сеть и вы используете VLAN для разделения трафика. Настроить номер VLAN можно в диспетчере задач, вкладка «Групповые интерфейсы«, вызовите свойства вашей группы сетевых адаптеров.
Ставим галку «Конкретная виртуальная ЛС», где в определенном поле нужно указать номер VLAN, обратите внимание, что данный номер будет дописан в название NIC Teaming.
- Перед включением объединения сетевых карт настройте порты физического коммутатора, подключенные к узлу Teaming, для использования режима магистрали (неизбирательного). Физический коммутатор должен передавать весь трафик на узел для фильтрации без изменения трафика.
- Не настраивайте фильтры VLAN на сетевых адаптерах с помощью параметров дополнительных свойств сетевого адаптера. Разрешите программе объединения сетевых карт или виртуальному коммутатору Hyper-V (при наличии) выполнить фильтрацию виртуальных ЛС.
Если вы планируете использовать VLAN внутри виртуальной машины Hyper-V, то настраивать виртуальную ЛС нужно на виртуальном коммутаторе, а не на группе объединения сетевых карт. Если у вас стоит задача в виртуальной машине использовать несколько виртуальных сетей, то вы каждый порт коммутатора настраиваете на нужный VLAN, никогда не делайте это внутри виртуальной машины. Если же вы используете виртуальные функций SR-IOV (VFs), то обязательно проверьте, что они находятся в одном VLAN, перед тем как их будите объединять.
Создание NIC Teaming через PowerShell
Чтобы создать сетевое объединение интерфейсов через командлеты, вам нужно открыть PowerShell от имени администратора. Первым делом вам нужно посмотреть список физических адаптеров, для этого введите:
Get-NetAdapter | FT -auto
В моем примере их 4-ре. Предположим, что я хочу объединить в NIC Teamin первые два адаптера «Ethernet1» и «Ethernet2».
Для создания мы будем использовать командлет New-NetLbfoTeam.
New-NetLbfoTeam -Name teaming-pyatilistnik -TeamMembers Ethernet1, Ethernet0 -TeamingMode SwitchIndependent -LoadBalancingAlgorithm TransportPorts
- -Name -Мы задаем имя нашего объединения сетевых карт
- -TeamMembers — указываем, какие сетевые адаптеры мы будем объединять
- -TeamingMode — режим поддержки групп
- -LoadBalancingAlgorithm — Режим балансировки
Ключи TeamingMode
- LACP (Link Aggregation Control Protocol (LACP, IEEE 802.1ax))
- Static (Статическая поддержка групп (Static Teaming) (IEEE 802.3ad draft v1))
- SwitchIndependent (Не зависит от коммутатора (Switch Independent))
Ключи LoadBalancingAlgorithm
- TransportPorts — это Хэш адреса (Address Hash)
- HyperVPort — это Порт Hyper-V (Hyper-V Port)
- Dynamic — это Динамический (Dynamic)
- IPAddresses — Использует IP-адреса источника и назначения для создания хэша, а затем назначает пакеты, которые имеют совпадающее значение хэша, одному из доступных интерфейсов. При указании этого алгоритма с TeamingMode параметром и значением SwitchIndependent весь входящий трафик поступает на основной интерфейс группы.
- MacAddresses — Использует исходные и целевые MAC-адреса для создания хэша, а затем назначает пакеты, которые имеют совпадающее значение хэша, одному из доступных интерфейсов. При указании этого алгоритма с TeamingMode параметром и значением SwitchIndependent весь входящий трафик поступает на основной интерфейс группы.
Вас спросят, действительно ли вы хотите создать объединенную группу сетевых интерфейсов, говорим «Y». Сразу вы увидите статус «Degraded», через некоторое время уже «Up».
Хочу отметить, что если вы явным образом не задаете статические настройки сетевого адреса, то вы получите его от DHCP, если же стоит задача задать конкретный IP-адрес, то это можно сделать командой
New-NetIPAddress -InterfaceAlias teaming-pyatilistnik -IPAddress 192.168.31.31 -PrefixLength 24 -DefaultGateway 192.168.31.1
Set-DnsClientServerAddress -InterfaceAlias teaming-pyatilistnik -ServerAddresses 192.168.31.1
Дополнительные примеры New-NetLbfoTeam https://docs.microsoft.com/en-us/powershell/module/netlbfo/new-netlbfoteam?view=win10-ps
Если нужно изменить поменять настройки вашей тиминговой группы, то для этого есть командлет Set-NetLbfoTeam. Допустим я хочу, чтобы режим поддержки групп был LACP, команда будет выглядеть вот так:
Set-NetLbfoTeam -Name teaming-pyatilistnik -TeamingMode LACP
Хочу отметить, что если вы попытаетесь, как и в моем примере сделать, это на виртуальной машине, то получите ошибку;
Set-NetLbfoTeam : ‘SwitchIndependent’ is the only TeamingMode value supported in a Virtual Machine
Она вам прямым текстом скажет, что на виртуалках можно использовать только режим SwitchIndependent, на железных серверах все будет работать. Теперь давайте поменяем режим балансировки на IPAddresses, для этого пишем:
Set-NetLbfoTeam -Name teaming-pyatilistnik -LoadBalancingAlgorithm IPAddresses
Дополнительную информацию, о командлете Set-NetLbfoTeam можете посмотреть по ссылке https://docs.microsoft.com/en-us/powershell/module/netlbfo/set-netlbfoteam?view=win10-ps
Добавление сетевых адаптеров из NIC Teaming через PowerShell
Предположим, что вы решили добавить еще один сетевой адаптер в объединение сетевых интерфейсов, как видим у меня NIC Teaming состоит из адаптеров «Ethernet0» и «Ethernet1», я добавлю «Ethernet2»
Пишем команду:
Add-NetLbfoTeamMember -Team teaming-pyatilistnik -Name Ethernet2 -AdministrativeMode Active (Или Standby)
Удаление сетевых адаптеров из NIC Teaming через PowerShell
Если стоит задачу удалить сетевой адаптер из вашей группы объединенных сетевых интерфейсов, то выполним команду:
Remove-NetLbfoTeamMember -Team teaming-pyatilistnik -Name Ethernet2
Настройка VLAN на NIC Teaming через PowerShell
Если нужно указать определенную виртуальную сеть (VLAN), то вы можете этого добиться командой:
Add-NetLbfoTeamNIC -Team teaming-pyatilistnik -VlanID 2
Изменить командой Set-NetLbfoTeamNIC -Name «teaming-pyatilistnik — VLAN 2« -VlanID 3 (Меняем VLAN 2 на 3)
Обратите на имя главного интерфейса в группе «teaming-pyatilistnik — VLAN 2«
Вернуть VLAN по умолчанию, обязательно смотрите «Primary» интерфейс
Set-NetLbfoTeamNic -Name «teaming-pyatilistnik« -Default
Удаление группы сетевых интерфейсов через PowerShell
Для удаления есть команда:
Remove-NetLbfoTeam -Name teaming-pyatilistnik
Чтобы удалить все тиминги, введите Get-NetLbfoTeam | Remove-NetLbfoTeam
На этом у меня все. Мы разобрали создание, настройку, редактирование, удаление объединения сетевых интерфейсов в операционной системе Windows Server 2019. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Технология NIC Teaming (или Load Balancing/Failover – LBFO, или NIC bonding) позволяет объединить несколько физических сетевых адаптеров (NIC) в одну логическую сетевую карту. В этой статье мы рассмотрим, как настроить NIC Teaming в Windows Server 2019/2016/2012R2 и в десктопых версиях Windows 10 и 11.
Содержание:
- Настройка NIC Teaming в Windows Server 2019
- Используем PowerShell для настройки NIC Teaming в Windows Server
- Создаем группу сетевых адаптеров NIC Teaming в Windows 10 и 11
Для чего может понадобится объединять сетевые адаптеры в группу NIC Teaming?
- Увеличение пропускной способности. Например, объединив две сетевые 1 Гб сетевые карты в одну группу NIC Teaming, вы получите общую полосу пропускания на логическом адаптере 2 Гбит/с;
- Управление балансировкой нагрузки на сетевые карты – можно управлять распределением трафика между NIC сервера;
- Отказоустойчивость – при выходе из строя любой из сетевых карт, добавленных в группу NIC teaming, остальные подхватывают ее функции, и связь с сервером не прерывается. Для критически важных серверов этот механизм может защитить от простоя сервиса во время выхода из строя сетевого коммутатора или Ethernet порта на нем, сетевого кабеля (которым ваш хост подключен к коммутатору). Для реализации такой возможности, достаточно подключить сетевые карты в разные физические коммутаторы.
В Windows Server 2012R2/2016/2019/2022 технология NIC Teaming не совместима с Single-root I/O virtualization (SR-IOV), TCP Chimney и Remote Direct Memory Access (RDMA).
Настройка NIC Teaming в Windows Server 2019
Вы можете настроить NIC Teaming в Windows Server начиная с версии 2012. Рассмотрим, как объединить несколько сетевых адаптеров в Windows Server 2019 в одну группу NIC Teaming. Режим NIC Teaming по умолчанию отключен в Windows Server.
Чтобы включить его, откройте консоль Server Manager, выберите локальный сервер (Local Server) и в его свойствах выберите пункт “NIC Teaming: Disabled“.
В появившемся окне в левой нижней панели выберите пункт Tasks -> New Team (Создать группу).
Далее нужно указать имя группы (Team Name) и выбрать сетевые адаптеры, которые будут входить в эту группу.
В Windows Server 2019 в одну NIC Teaming групп можно объединить до 32 физических сетевых адаптеров, главное, чтобы они работали на одной скорости.
Ниже можно настроить специальные параметры группы. От данных параметров зависит правила и эффективность NIC Teaming. Рассмотрим эти настройки подробнее.
Режим поддержки групп (Teaming Mode). Данный параметр определяет способ взаимодействия группы с сетевым оборудованием (коммутатором)
- Static Teaming (IEEE 802.3ad)— статический режим работы с зависимостью от сетевого оборудования. Все адаптеры группы должны быть подключены к одному коммутатору, Ethernet порты которого настроены на использование статической агрегации каналов (требуется настройка на коммутаторе);
- Switch Independent (режим по-умолчанию) – группа работает независимо от коммутатора, для реализации не нужно дополнительно настраивать сетевое оборудование. В этом режиме разные сетевые адаптеры группы можно подключить к разным коммутаторам для повышения отказоустойчивости (защита от сбоев в коммутаторах);
- LACP (Link Aggregation Control Protocol, LACP, IEEE 802.1ax) – режим также зависит от сетевого оборудования. Нужно включить и настроить на коммутаторе динамическую агрегацию каналов по протоколу LACP.
Режим балансировки нагрузки (Load Balancing mode) – задает как распределяется сетевой трафик по NIC в группе.
- Address Hash — для каждого из адаптеров вычисляется специальный хэш (на основании MAC или IP-адресов отправителя и получателя) и привязывается определенному физическому адаптеру. Весь трафик от данного отправителя будет идти через этот NIC;
- Hyper-V Port — режим можно использовать для сервера с ролью Hyper-V. Позволяет привязать конкретный адаптер группу NIC teaming к конкретному порту на виртуальном коммутаторе Hyper-V;
- Dynamic – опция по умолчанию, совмещает оба типа балансировки нагрузки.
Один из адаптеров в группе можно назначить резервным (Standby adapter). В обычном режиме работы данная NIC не используется для передачи трафика. При неполадке на любом другом адаптере в группе NIC Teaming, он тут-же занимает его место. В общем случае и без данной функции при выходе из строя любой сетевой карты, не будет простоя сервиса, т.к. ее нагрузка автоматически распределится между оставшимися картами в группе.
Выберите нужные параметры, нажмите ОК и новая группа Nic Teaming будет создана.
Откройте список сетевых подключения в панели управления Windows. Убедитесь, что в Windows Server появился новый сетевой адаптер Microsoft Network Adapter Multiplexor Driver (его иконка немного отличается). Это и есть виртуальный адаптер группы NIC Teaming.
Дальнейшая настройка параметров сетевой карты (протоколы, IPv4/v6 адрес) осуществляется теперь в свойствах этого адаптера.
У всех остальных сетевых адаптеров, которые вы добавили в группу NIC Teaming уже не будет собственных IP адресов.
При удалении группы NIC Teaming предыдущие настройки сетевых адаптеров восстанавливаются.
В дальнейшем вы можете добавить или удалить сетевые адаптеры в группу NIC Teaming.
Вы можете использовать группу NIC Teaming для настройки нескольких VLAN интерфейсов в Windows Server. Для этого можно даже создать группу NIC Teaming из одного сетевого адаптера.
Используем PowerShell для настройки NIC Teaming в Windows Server
Вы можете создавать и управлять группами NIC Teaming не только из графического интерфейса Windows, но и с помощью PowerShell. Вы можете использовать PowerShell для настройки NIC Teaming в Windows Server Core
В Windows Server для управления MIC Teaming есть встроенный модуль NetLbfo. Выведите список сетевых адаптеров на сервере:
Get-NetAdapter
Создайте новую группу с Team0 из адаптеров с именами Ethernet1 и Ethernet3. Выберите режим работы NIC Teaming: Switch Independent с динамической балансировкой.
New-NetLbfoTeam -Name Team0 -TeamMembers Ethernet1,Ethernet3 -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic
Доступные параметры:
- TeamingMode:
Static
,
SwitchIndependent
,
Lacp
- LoadBalansingAlgorithm:
TransportPorts
,
IPAddresses
,
MacAddresses
,
HyperVPort
,
Dynamic
Информацию о группах NIC Teaming на сервере можно вывести с помощью команды:
Get-NetLbfoTeam Name : Team0 Members : {Ethernet3, Ethernet1} TeamNics : Team0 TeamingMode : SwitchIndependent LoadBalancingAlgorithm : Dynamic Status : Up
Можно настроить IP адрес интерфейса NIC Teaming с помощью PowerShell:
New-NetIPAddress -InterfaceAlias team0 -IPAddress 192.168.13.100 -PrefixLength 24 -DefaultGateway 192.168.13.1
Set-DnsClientServerAddress -InterfaceAlias team0 -ServerAddresses 192.168.13.10
Выполните команду
Get-NetAdapter
. Обратите внимание, что LinkSpeed сетевого адаптера группу NIC Teaming — 2 Гбит/с.
Чтобы изменить настройки группы NIC Teaming используется командлет Set-NetLbfoTeam:
Set-NetLbfoTeam -Name team0 -TeamingMode LACP
Если выполнить эту команду в ВМ, появится ошибка
Set-NetLbfoTeam : 'SwitchIndependent' is the only TeamingMode value supported in a Virtual Machine
Чтобы через NIC Teaming добавить отдельный VLAN интерфейс, используйте команду:
Add-NetLbfoTeamNIC -Team Team0 -VlanID 10
Удалить группу NIC Team можно командой:
Remove-NetLbfoTeam -Name Team0
Создаем группу сетевых адаптеров NIC Teaming в Windows 10 и 11
Вы можете использовать NIC Teaming для объединения сетевых карт не только в Windows Server, но и в клиентских версиях Windows 10 и 11. Главное, чтобы производитель вашей сетевой карты поддерживал для нее режим Link aggregation / NIC teaming/ LBFO.
Например, NIC Teaming работает из коробки с драйверами картами Realtek PCIe GbE Family Controller ( 10.35.510.2019) или Intel(R) 82574L Gigabit Network Connection.
Чтобы собрать группу NIC Teaming в Windows 10 (в этом примере это Windows 10 20H2), откройте консоль PowerShell и выведите список сетевых адаптеров:
Get-NetAdapter
Соберем группу NIC Team из адаптеров Ethernet0 и Ethernet1.
New-NetSwitchTeam -Name "MyNICTeam" -TeamMembers "Ethernet0","Ethernet1"
Проверьте, что в системе появился новый интерфейс NIC Teaming.
Get-NetSwitchTeam
Не забудьте задать для него сетевые настройки. Теперь у вас появился новый интерфейс с пропускной способностью 2 Гбит/с.
Для удаления созданной группы NIC Team, также нужно использовать PowerShell:
Remove-NetSwitchTeam -Name "MyNICTeam"
NIC Teaming (or Load Balancing/Failover – LBFO, or NIC bonding) allows joining multiple physical network adapters (NICs) into a single logical network card. In this article, we’ll show how to configure NIC Teaming on Windows Server 2019/2016/2012R2 and on Windows 10/11 desktop computers.
Contents:
- Configuring a NIC Teaming on Windows Server 2019
- How to Create NIC Teaming on Windows Server with PowerShell?
- How to Enable NIC Teaming on Windows 10 and 11?
Why may you need to combine multiple network adapters into a NIC Team?
- Increase throughput. For example, by joining two 1GB network cards into a NIC Team, you will get a 2Gbit/s bandwidth on a logical adapter;
- Manage network card load balancing. You can balance the network traffic across active NICs.
- Fault tolerance. If any of your network cards in a NIC Team fails, the rest cards take their functions and the connection with the server is not interrupted. For critical servers, the mechanism protects a service against downtime if a network switch or an Ethernet port on it fails, or if a network cable (connecting your host and switch) is damaged. To implement this feature, it is enough to connect network cards to different physical switches.
In Windows Server 2022/2019/2016/2012R2, NIC Teaming is not compatible with Single-Root I/O Virtualization (SR-IOV), TCP Chimney, and Remote Direct Memory Access (RDMA).
Configuring a NIC Teaming on Windows Server 2019
You can configure NIC Teaming on Windows Server 2012 or newer. Let’s see how to combine multiple network adapters into a NIC Team interface on Windows Server 2019. NIC Teaming is disabled by default on Windows Server.
To enable it, open the Server Manager, select Local Server, and click NIC Teaming: Disabled in its properties.
In the next window, select Tasks -> New Team in the left bottom pane.
Then enter a Team name and select the network adapters you want to add to the group.
In Windows Server 2019, you can add up to 32 physical network adapters to a NIC Team. The only requirement is the same connection speed on the team adapters.
You can select special team options. The options set NIC Teaming rules and performance. Let’s take a closer look at these settings.
Teaming Mode. The option sets how the group interacts with the network switches:
- Static Teaming (IEEE 802.3ad) is a static operation mode depending on your network hardware. All team adapters must be connected to the same switch, which Ethernet ports are configured to use static channel aggregation (additional switch configuration is required);
- Switch Independent (a default mode) — the NIC Team works independently of the switch; no additional configuration of network hardware is needed. If this mode is on, you can connect different network adapters to different switches to improve fault tolerance (protection against switch failure);
- LACP (Link Aggregation Control Protocol, LACP, IEEE 802.1ax) is the mode that depends on your network hardware as well. You need to enable and configure the dynamic link aggregation using the LACP on your switch.
Load Balancing mode sets how network traffic is distributed between NICs in the team.
- Address Hash — a special hash is assigned to each physical adapter (based on sender and recipient MAC or IP addresses). All traffic from a specific sender will go through this NIC;
- Hyper-V Port — you can use this mode on a server with the Hyper-V role. It allows you to bind an adapter from your NIC Team to a specific port on a Hyper-V virtual switch;
- Dynamic is a default option combining both load balancing types.
You can make one of the adapters in the group a Standby adapter. In a normal operation mode, this NIC is not used to process traffic. If any other adapter in your NIC Team fails, it will be replaced by a standby one. Actually, if this function is not enabled, there will be no service downtime when any network adapter fails, since its load will be automatically distributed among other cards in the group.
Select the settings you need, click OK and a new NIC Team will be created.
Open the list of network connections in the Control Panel. Make sure that a new device labeled Microsoft Network Adapter Multiplexor Driver (it has a different icon) has appeared. This is the NIC Teaming virtual adapter.
Further configuration of the network card (protocols, IPv4/v6 address) is performed in the properties of the NICTeam adapter.
Network adapters that you add to a NIC group will no longer have their own IP addresses.
If you remove a NIC Team, the previous network adapter settings will be restored.
Later you can add or remove network adapters to your NIC Team.
You can use the NIC Teaming to configure multiple VLAN interfaces on Windows Server. To do it, you can even create a NIC Teaming group from a single network adapter.
How to Create NIC Teaming on Windows Server with PowerShell?
You can create and manage NIC Teams both through the Windows graphical interface and PowerShell. PowerShell can be used to set up NIC Teaming on Windows Server Core.
You can use the built-in NetLbfo module on Windows Server to manage NIC Teaming. Display a list of network adapters on your server:
Get-NetAdapter
Create a new Team0 from the adapters named Ethernet1 and Ethernet3. Select NIC Teaming mode: Switch Independent with dynamic load balancing.
New-NetLbfoTeam -Name Team0 -TeamMembers Ethernet1,Ethernet3 -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic
Available options:
- TeamingMode: Static SwitchIndependent, Lacp
- LoadBalansingAlgorithm: TransportPorts, IPAddresses, MacAddresses, HyperVPort, Dynamic
To get information about NIC Teams on a server, use the command below:
Get-NetLbfoTeam
Name : Team0 Members : {Ethernet3, Ethernet1} TeamNics : Team0 TeamingMode : SwitchIndependent LoadBalancingAlgorithm : Dynamic Status : Up
You can use PowerShell to configure an IP address of your NIC Teaming interface and other network settings:
New-NetIPAddress -InterfaceAlias team0 -IPAddress 192.168.13.100 -PrefixLength 24 -DefaultGateway 192.168.13.1
Set-DnsClientServerAddress -InterfaceAlias team0 -ServerAddresses 192.168.13.10
Run the Get-NetAdapter
command. Note that the LinkSpeed of the NIC Teaming network adapter is 2 Gbit/s.
To change the NIC Teaming group settings, use the NetLbfoTeam cmdlet:
Set-NetLbfoTeam -Name Team0 -TeamingMode LACP
If you run this command in a VM, the following error appears:
Set-NetLbfoTeam : 'SwitchIndependent' is the only TeamingMode value supported in a Virtual Machine
To add an additional VLAN interface via NIC Teaming, run the command below:
Add-NetLbfoTeamNIC -Team Team0 -VlanID 44
You can remove a NIC Team using this command:
Remove-NetLbfoTeam -Name Team0
How to Enable NIC Teaming on Windows 10 and 11?
You can use NIC Teaming to combine network adapters both in Windows Server and in desktop versions of Windows 10 and 11. The main thing is that your network card must support Link aggregation, NIC teaming, or LBFO.
For example, NIC Teaming works out of the box with Realtek PCIe GbE Family Controller (10.35.510.2019) or Intel(R) 82574L Gigabit Network Adapter.
To create a NIC Team on Windows 10 (in this example, it is Windows 10 20H2), open your PowerShell console and list network adapters:
Get-NetAdapter
Let’s create a NIC Team of Ethernet0 and Ethernet1 adapters.
New-NetSwitchTeam -Name "MyNICTeam" -TeamMembers "Ethernet0","Ethernet1"
Make sure that a new NIC Teaming interface has appeared on the computer:
Get-NetSwitchTeam
Don’t forget to set its network settings. Now you have got a new 2 Gbit/s interface.
To remove a NIC Team, use PowerShell:
Remove-NetSwitchTeam -Name "MyNICTeam"
Hello and welcome to another Windows Server 2019 tutorial. In this article, we will configure NIC teaming in Windows Server 2019.
NIC Teaming feature was initially introduced with windows server 2012. It is also known as Load Balancing/Fail Over (LBFO), NIC Teaming allows you to group between one and 32 physical Ethernet network adapters into one or more software-based virtual network adapters.
These virtual network adapters provide fast performance and fault tolerance in the event of a network adapter failure. After configuring NIC Teaming all the traffic from the OS will pass through that virtual network interface.
NIC teaming in Windows Server 2019 supports two modes:
- Switch Independent Mode: In this mode, you can connect your all network interfaces to different switches.
- Switch Dependent Mode: In this mode, you can connect your all network interfaces to the same switch.
The only requirement to create NIC Teaming is, Windows Server 2019 must have two or more physical network adapters.
Now let’s configure NIC Teaming so we can see how all of this works in Windows Server 2019.
Create a NIC Teaming in Windows Server 2019:
First, Open Server Manager and then click on Local Server. As you can notice that we have two network adapter on this server and both are set to obtain IP address automatically.
Here we can see that NIC teaming is disabled. To configure NIC teaming click on Disabled link. The NIC Teaming dialog box appears.
Go to Tasks pane and click New Team.
In the Team name box, type MYLAB-TEAM1, and select the adapter you want to include in this NIC Team.
In my case, I am going to select, Ethernet and Ethernet 2.
Click on Additional properties. Select values for Teaming mode, Load balancing mode, and Standby adapter.
Teaming Mode: Switch Independent
Load balancing mode: Dynamic
Standby adapter: None
If you want to configure or assign a VLAN number to the NIC Team, click the link to the right of Primary team interface.
But for this tutorial, we are going to use default VLAN. So I am not going to change anything.
Once you are ready with all the settings, click on OK.
Now NIC team “MYLAB-TEAM1” is ready. We can verify the member network adapters of the NIC Team and can also check which network adapter is active or not.
Assign an IP address to the NIC Team:
Open Run menu by pressing Windows Key and R from the keyboard. Type ncpa.cpl and press enter to open Network connection console.
In this console, we can see all the networks Adapters and the NIC team which we have created.To open the properties of New NIC Team (MYLAB-TEAM1), Right click on MYLAB-TEAM1 then click on properties.
Select IPv4 option and then click on properties.
Select the option of Use the following IP address and type an IP address, subnet mask, gateway address, and DNS server address as per your network setup.
In our case, it will be,
IP Address: 172.18.72.7
Subnet Mask: 255.255.255.0
Gateway: 172.18.72.1
DNS server: 172.18.72.5
Now, click on Ok to apply the settings and to close the console.
Right click on “MYLAB-TEAM1” and select status. You can see the speed of NIC team (It will be 2 Gbps, as we have used two adapter). Now click on details as well.
To verify current IP configuration, Let’s open command prompt
Type ipconfig command to check the newly assigned IP address.
Now let’s check network connectivity with domain controller by pinging 172.18.72.5.
Steps to configure NIC teaming in Windows Server 2019 is very easy and straight forward. That’s all for now.
Thank you for taking the time to read this article. See you all in the next Windows Server 2019 tutorial.
Post Views: 4,904
Содержание
- Записки IT специалиста
- Настраиваем сеть в Hyper-V.
- Внешняя сеть
- Внутренняя сеть
- Внутренняя сеть c NAT
- Частная сеть
- Параметры объединения сетевых карт
- Режимы объединения
- Не зависит от коммутатора
- Зависимый от коммутатор
- Режимы балансировки нагрузки
- Хэш адреса
- Порт Hyper-V
- Динамический
- Параметр резервного адаптера
- Свойство основного интерфейса группы
- Объединение сетевых карт windows 2019 hyper v
- Что такое Nic Teaming
- Требования и ограничения к Nic Teaming в Windows Server 2019
- Методы настройки объединения сетевых интерфейсов
- Настройка Nic Teaming в Windows Server 2019
- Использование диспетчера серверов
- Режимы поддержки групп
- Режим балансировки нагрузки
- Добавление и исключение сетевых адаптеров из NIC Teaming
- Добавление группового интерфейса в нужный VLAN
- Создание NIC Teaming через PowerShell
- Ключи TeamingMode
- Ключи LoadBalancingAlgorithm
- Добавление сетевых адаптеров из NIC Teaming через PowerShell
- Удаление сетевых адаптеров из NIC Teaming через PowerShell
- Настройка VLAN на NIC Teaming через PowerShell
- Удаление группы сетевых интерфейсов через PowerShell
- Популярные Похожие записи:
- 4 Responses to Объединение сетевых карт (Nic Teaming) в Windows Server 2019
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
Настраиваем сеть в Hyper-V.
Продолжая цикл статей посвященный виртуализации, сегодня мы поговорим о настройке сети в Hyper-V. Основное внимание мы уделим теории, а именно разберем как устроены виртуальные сети и как они взаимодействуют с реальными. Потому что, как показывает практика, многие администраторы, в отсутствие простых и понятных материалов по данному вопросу, вынуждены осваивать настройку сети в Hyper-V методом «научного тыка».
С одной стороны, ничего сложного в настройке сетей для виртуальных машин нет, с другой многие начинают путаться во всех этих адаптерах, с трудом понимая, где реальный, где виртуальный, и чем они друг от друга отличаются. Постараемся внести ясность.
За настройку сетей в Hyper-V отвечает Диспетчер виртуальных коммутаторов, если мы откроем его, то увидим следующую картину:
Как видим, нам доступно создание трех типов сетей: внешней, внутренней и частной. Разберемся подробнее, для чего нужны эти сети и в чем разница между ними.
Внешняя сеть
Самый распространенный тип сети, который позволяет виртуальным машинам взаимодействовать с внешними сетями и хостом. При ее создании необходимо выбрать один из физических сетевых адаптеров, через который данная виртуальная сеть будет соединяться с внешними сетями.
Как мы уже писали, основу виртуальной сети составляет виртуальный коммутатор. При создании внешней сети, Hyper-V создает виртуальный коммутатор, к которому через виртуальные сетевые адаптеры (vNIC) подключаются как виртуальные машины, так и хост. Физический адаптер отключается от хоста и по сути становится физическим портом виртуального коммутатора, через который он подключается к внешней сети.
В этом нетрудно убедиться, после создания внешней сети на хосте появляется Адаптер Ethernet для виртуальной сети Hyper-V, на который переносятся все настройки с физического адаптера.
А в свойствах физического адаптера остался только Расширяемый виртуальный сетевой коммутатор в Hyper-V.
В случае с внешней сетью следует четко понимать, что хост, точно также как и виртуальные машины, подключается к виртуальному коммутатору через виртуальный сетевой адаптер. Физический сетевой адаптер, после создания внешней сети становится портом виртуального коммутатора, через который он подключается к внешней сети. Поэтому все сетевые настройки хоста следует производить только на виртуальном сетевом адаптере.
Также имеется возможность создания внешних сетей, изолированных от хоста, в этом случае виртуальный сетевой адаптер не создается, а физический интерфейс отключается от хоста, обслуживая только виртуальный коммутатор. Для этого при создании внешней сети необходимо снять галочку Разрешить управляющей операционной системе предоставлять общий доступ к этому сетевому адаптеру.
Данная конфигурация позволяет успешно виртуализировать пограничные сетевые устройства, надежно отвязав их от внутренней сети и хоста. Например, мы можем создать две внешних сети, одна из которых будет подключена к локальной сети, вторая к интернет и осуществлять выход во внешнюю сеть через роутер на виртуальной машине, при этом и хост, и локальная сеть будут надежно изолированы от интернет, несмотря на то, что кабель внешней сети физически будет подключен к сетевому адаптеру хоста.
Внутренняя сеть
Как следует из ее названия, внутренняя сеть предназначена для подключения виртуальных машин и хоста и не предусматривает соединения с внешними сетями. При ее создании также создается виртуальный сетевой адаптер для хоста, который оказывается подключен к виртуальному коммутатору внутренней сети и должен быть сконфигурирован в соответствии с настройками виртуальной сети.
К внешней сети хост остается подключен через физический адаптер, настройки которого не затрагиваются. Данная конфигурация чаще всего используется для учебных и исследовательских целей, позволяя создавать и моделировать различной сложности сетевые конфигурации не затрагивая рабочие сети предприятия.
Внутренняя сеть c NAT
Данная возможность появилась начиная с Windows Server 2016, Hyper-V Server 2016 и Windows 10. Подробнее читайте в нашей статье: Настраиваем сеть NAT в Hyper-V
Частная сеть
Частная сеть отличается от внутренней тем, что виртуальный коммутатор может быть подключен только к виртуальным машинам и изолирован от хоста.
Данный вид сетей может быть использован также в учебных и исследовательских целей, а также для создания изолированных участков сети, например DMZ.
В этом случае связь между внешней и частной сетью будет осуществляться через одну из виртуальных машин, которая должна быть подключена к обеим сетям.
Как видим, Hyper-V дает в руки администратора весьма гибкий и мощный инструмент, позволяющий создавать весьма сложные сетевые конфигурации и управлять ими.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Источник
Параметры объединения сетевых карт
В этом разделе дается обзор свойств группы сетевых адаптеров, таких как объединение и режим балансировки нагрузки. Кроме того, мы предоставляем подробные сведения о параметре адаптера ожидания и свойстве основного интерфейса группы. Если у вас есть по крайней мере два сетевых адаптера в группе сетевых адаптеров, не нужно назначать резервный адаптер для отказоустойчивости.
Режимы объединения
Параметры режима объединения переключаются независимо друг от друга и переключаются. Режим, зависимый от коммутатора, включает статические объединение и протокол управления агрегированием связи (LACP).
Для лучшей производительности группы сетевых адаптеров рекомендуется использовать режим балансировки нагрузки динамического распределения.
Не зависит от коммутатора
В режиме независимого переключения коммутатор или коммутаторы, к которым подключены члены группы сетевых карт, не знают о наличии команды сетевого интерфейса и не определяют, как распределять сетевой трафик между членами группы сетевой карты. вместо этого Группа сетевых адаптеров распределяет входящий сетевой трафик между членами группы сетевой карты.
При использовании независимого режима с динамическим распределением нагрузка на сетевой трафик распределяется на основе хэша адреса TCP-портов, измененного алгоритмом динамической балансировки нагрузки. Алгоритм динамической балансировки нагрузки перераспределяет потоки, чтобы оптимизировать использование пропускной способности членов группы, чтобы отдельные передачи потоков можно было перемещать от одного активного члена группы к другому. В алгоритме учитывается небольшая вероятность того, что распределение трафика может привести к неупорядоченному доставке пакетов, так что для этого нужно свести к минимуму возможность.
Зависимый от коммутатор
При использовании режимов, зависящих от переключения, коммутатор, к которому подключены члены группы сетевых карт, определяет способ распределения входящего сетевого трафика между членами группы сетевой карты. С помощью коммутатора можно определить, как распределять сетевой трафик между членами группы сетевой карты.
Для переключения между зависимыми командами необходимо, чтобы все члены группы были подключены к одному физическому коммутатору или коммутатору с несколькими корпусами, который использует идентификатор коммутатора в нескольких корпусах.
Статическая объединение. Для статического объединения необходимо вручную настроить коммутатор и узел, чтобы определить, какие связи формируют команда. Так как это решение статически настроено, не существует дополнительного протокола, помогающего коммутатору и узлу обнаруживать неправильно подключенные кабели или другие ошибки, которые могут привести к сбою команды. Этот режим обычно поддерживается коммутаторами серверного класса.
Протокол управления агрегированием связи (LACP). В отличие от статических групп, режим объединения LACP динамически определяет связи, подключенные между узлом и коммутатором. Это динамическое подключение позволяет автоматически создавать команды и, теоретически, но редко на практике, расширять и сокращать группу просто путем передачи или получения пакетов LACP из одноранговой сущности. Все коммутаторы Server-Class поддерживают LACP, и для всех требуется, чтобы оператор Network был администратором включил LACP на порте коммутатора. При настройке режима объединения LACP объединение сетевых карт всегда работает в активном режиме LACP с коротким таймером. В настоящее время нет доступных параметров для изменения таймера или изменения режима LACP.
При использовании режима «зависимые» с динамическим распределением нагрузка на сетевой трафик распределяется на основе хэша адреса Транспортпортс, измененного алгоритмом динамической балансировки нагрузки. Алгоритм динамической балансировки нагрузки перераспределяет потоки для оптимизации использования пропускной способности членов команды. Отдельные передачи могут перемещаться от одного активного члена группы к другому как часть динамического распределения. В алгоритме учитывается небольшая вероятность того, что распределение трафика может привести к неупорядоченному доставке пакетов, так что для этого нужно свести к минимуму возможность.
Как и для всех конфигураций, зависящих от коммутатора, параметр определяет способ распределения входящего трафика между членами группы. Ожидается, что этот параметр выполняет разумное задание распределения трафика между членами группы, но полностью зависит от того, как это делает.
Режимы балансировки нагрузки
Параметры режима распределения балансировки нагрузки: хэш адреса, порт Hyper-V и динамический.
Хэш адреса
При использовании хэш-адреса этот режим создает хэш на основе компонентов адреса пакета, который затем назначается одному из доступных адаптеров. Обычно только этот механизм достаточно для создания разумного баланса между доступными адаптерами.
используйте Windows PowerShell, чтобы указать значения для следующих компонентов функции хэширования.
Только исходный и конечный IP-адреса.
Только исходный и конечный MAC-адреса.
Хэш портов TCP создает наиболее детализированное распределение потоков трафика, что приводит к уменьшению количества потоков, которые могут быть независимо перемещены между членами группы сетевой карты. Однако нельзя использовать хэш портов TCP для трафика, не основанного на TCP или UDP, или в том случае, если порты TCP и UDP скрыты из стека, например с трафиком, защищенным с помощью IPsec. В этих случаях хэш автоматически использует хэш IP-адреса или, если трафик не является IP-трафиком, используется хэш MAC-адреса.
Порт Hyper-V
при использовании порта hyper-v Teams сетевых адаптеров, настроенных на узлах Hyper-v, предоставляют независимые от виртуальных машин MAC-адреса. Для разделения сетевого трафика между членами группы сетевой карты можно использовать MAC-адрес виртуальных машин или виртуальную машину, подключенную к коммутатору Hyper/V. вы не можете настроить Teams NIC, созданные в виртуальных машинах с помощью режима балансировки нагрузки портов Hyper-V. Вместо этого используйте режим хэширования адреса.
Так как смежный коммутатор всегда видит конкретный MAC-адрес на одном порту, коммутатор распределяет нагрузку входящего трафика (трафик от коммутатора на узел) по нескольким каналам на основе адреса узла MAC (VM MAC). Это особенно удобно при использовании очередей виртуальных машин (ВМКС), так как очередь может быть размещена на конкретном сетевом адаптере, где ожидается поступление трафика.
Однако если узел содержит только несколько виртуальных машин, этот режим может оказаться недостаточно детализированным, чтобы обеспечить сбалансированное распределение. Этот режим также всегда ограничивает одну виртуальную машину (т. е. трафик с одного порта коммутатора) на пропускную способность, доступную в одном интерфейсе. При объединении сетевых карт в качестве идентификатора используется порт виртуального коммутатора Hyper-V, а не MAC-адрес источника, поскольку в некоторых случаях виртуальная машина может быть настроена с несколькими MAC-адресами на порте коммутатора.
Динамический
Благодаря динамической нагрузке исходящие нагрузки распределяются на основе хэша TCP-портов и адресов IP. Динамический режим также обеспечивает повторную балансировку нагрузки в режиме реального времени, чтобы заданный исходящий поток мог перемещаться между членами группы. Входящие нагрузки, с другой стороны, распределяются так же, как порт Hyper-V. В двух словах, динамический режим использует лучшие аспекты хэш-адреса и порта Hyper-V, а также самый высокий режим балансировки нагрузки.
Исходящие нагрузки в этом режиме динамически сбалансированы в зависимости от концепции фловлетс. Так же, как человеческий голос имеет естественные перерывы в конце слов и предложений, TCP-потоки (коммуникационные TCP-потоки) также естественным образом нарушают работу. Часть TCP-потока между двумя такими разрывами называется фловлет.
Когда алгоритм динамического режима обнаруживает, что фловлет граница была обнаружена, например, когда в потоке TCP произошла недостаточная длина, алгоритм автоматически перераспределяет поток в другой член команды, если это уместно. В некоторых обстоятельствах алгоритм также может периодически перераспределять потоки, которые не содержат фловлетс. По этой причине сходство между потоком TCP и участником команды может измениться в любое время, так как алгоритм динамической балансировки работает для балансировки рабочей нагрузки членов группы.
Независимо от того, настроена ли команда с переключением на независимый или один из режимов переключения, для лучшей производительности рекомендуется использовать динамический режим распределения.
Существует исключение из этого правила, когда группа сетевых адаптеров состоит только из двух членов группы, настраивается в независимом режиме и включает режим «активный/ждущий», при этом одна сетевая карта активна, а другая настроена для резервирования. С этой конфигурацией группы сетевых адаптеров адресное распределение адресов обеспечивает немного более высокую производительность, чем динамическое распространение.
Параметр резервного адаптера
Для параметра «резервный адаптер» задано значение «нет» (все адаптеры активны) или выбор определенного сетевого адаптера в группе сетевых адаптеров, который выступает в качестве резервного адаптера. При настройке сетевой карты в качестве резервного адаптера все остальные невыбранные члены группы активны, и сетевой трафик не отправляется или не обрабатывается адаптером до тех пор, пока не произойдет сбой активного сетевого адаптера. После сбоя активного сетевого адаптера резервный сетевой адаптер станет активным и обработает сетевой трафик. Когда все члены группы восстанавливаются в службу, член Рабочей группы Standby возвращается в состояние Standby.
Если у вас есть команда с двумя СЕТЕВыми адаптерами и вы решили настроить один сетевой адаптер в качестве резервного, будут потеряны преимущества статистической обработки пропускной способности, существующие в двух активных сетевых картах. Для достижения отказоустойчивости не нужно назначать резервный адаптер. отказоустойчивость всегда присутствует при наличии по крайней мере двух сетевых адаптеров в группе сетевых адаптеров.
Свойство основного интерфейса группы
Чтобы открыть диалоговое окно интерфейс основной группы, необходимо щелкнуть ссылку, выделенную на рисунке ниже.
При использовании виртуальных ЛС можно использовать это диалоговое окно, чтобы указать номер виртуальной ЛС.
Независимо от того, используете ли вы виртуальные ЛС, можно указать имя сетевой карты для группы сетевых адаптеров.
Источник
Объединение сетевых карт windows 2019 hyper v
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами разобрали вопрос, что такое cookie, их использование и удаление в случае необходимости. Сегодня я хочу написать пост на тему системного администрирования, а именно мы разберем, как производится объединение сетевых карт в Windows Servwer 2019, разберемся с понятием Nic Teaming, каких видов он может быть и какие сценарии его использования. Думаю, что эта информация окажется полезной.
Что такое Nic Teaming
Сейчас когда бизнес уже очень сильно зависит от доступности его сервисов, таких как корпоративная почта, файловый сервер, сайт с веб приложениями и CRM, и многое другое очень сильно встает вопрос по организации отказоустойчивости на разных уровнях. Одним из таких уровней является сетевой. В данной статье нам нужно рассмотреть про организацию отказоустойчивой сети в вашем Windows Server 2019. Сейчас уже себе сложно представить сервер, у которого было бы сетевых интерфейсов меньше двух, чаще всего их четыре и более. Раз они есть, то было бы здорово их объединить и использовать, как одно целое решая тем самым:
Предположим, что у нас вышел из строя один сетевой адаптер, в результате прохождение трафика перестроилось.
Ранее Nic Teaming мог быть реализован только посредством установки специальных драйверов на ваши сетевые карты. Эти драйвера позволяли вам через свойства сетевых адаптеров собирать пулы. Бывало так, что у вас на физическом сервере могли быть сетевые карты разных производителей, и в таком сценарии вы могли иметь проблемы с объединением сетевых карт. Благодаря встроенной возможности Windows Server 2019 эта проблема минимизируется.
Хочу отметить, что данная технология не нова и давно уже реализована и используется на сетевом оборудовании, там она называется LACP, или на системах хранения, например у Synology, там она называется Bonding, в Linux то же Bonding.
Требования и ограничения к Nic Teaming в Windows Server 2019
Как сказано в документации Microsoft драйвер сетевой карты должен иметь цифровую подпись Windows Hardware Qualification and Logo (WHQL). Если WHQL имеется, то вы может объединять адаптеры разных производителей.
Нужно учитывать, что для работы Nic Teaming сетевые карточки должны иметь одинаковую пропускную способность, если вы используете объединение от других производителей, то не используйте их совместно с инструментом Microsoft.
Так же вы не сможете объединить в группу карточки которые работают не по технологии Ethernet, такие как WWAN, Wi-FiInfiniband, сетевые адаптеры отладки ядра (KDNIC). Так же есть ряд технологий, которые не поддерживаются технологией объединения сетевых карт:
Методы настройки объединения сетевых интерфейсов
Существует три метода и два подхода по настройке ваших сетевых карт в общую сетевую группу:
Из инструментов я могу выделить:
Настройка Nic Teaming в Windows Server 2019
Использование диспетчера серверов
Данный метод самый простой и часто используемый, так как подходит большинству системных администраторов, он позволит вам производить настройки тиминга и на серверах Windows Core. Открываем диспетчер серверов, в моем примере на сервере SVT2019S01, у него есть четыре гигабитные сетевые карты intel 82574L. Как видно по умолчанию в Windows Server 2019 объединение сетевых карт отключено, щелкаем по настройке.
В статье по настройке сети в Windows Server 2019 я вам показывал команду PowerShell показывающую вам сетевые настройки:
В результате видно, что мои адаптеры имеют 4 разных Ip-адреса, один статический 192.168.31.3 и три динамических, полученных от DHCP-сервера. Я сделаю пул состоящий из четырех сетевых адаптеров и назначу ему IP-адрес 192.168.31.3.
В результате у вас должно открыться окно «Объединение сетевых карт«, оно будет разбито на три раздела:
Объединение сетевых карт у нас начинается с создания новой группы. В разделе группы, нажмите кнопку «Задачи» и выберите пункт «Создать группу».
Откроется окно создания группы. Тут вам нужно выбрать под себя и свои задачи ряд параметров, а именно:
Нажмите кнопку «Дополнительные свойства«, в ней весь сок. Тут вы сможете настроить:
Режимы поддержки групп
В режиме «Статическая поддержка групп» исходящий трафик при режиме балансировки (Хэш адреса «Address Hash») будет распределяться между всеми активными адаптерами в группе объединенных сетевых карт. Входящий трафик так же будет перенаправлен в соответствии с заданным алгоритмом нагрузки, который задан на коммутаторе.
Режим балансировки нагрузки
При объединении сетевых карт вам не только нужно выбрать режим поддержки, но и еще необходимо задать режим балансировки, коих целых три:
Ниже я расскажу про каждый из них.
Если вы выбираете режим на основе портов, то это равномерное распределение трафика, но если у вас трафик не TCP/UPD, то применяться будет режим IP-адреса, если трафик не IP, то будет хэш на основе MAC-адреса.
Разобравшись с основными понятиями, можно продолжить объединение сетевых карт. В своем примере я для начала объединю в NIC Teaming два сетевых интерфейса «Ethernet0» и «Ethernet1». Дополнительные настройки я выберу:
Применяем настройки, в итоге первый сетевой адаптер у вас сразу будет в зеленом, активном состоянии, дополнительный сетевой адаптер, может легко иметь статус «Неисправный, ожидает подключения». Связано это с тем, что идет сборка NIC Teaming, так что можете не беспокоиться.
Через пару секунд мы видим, что оба адаптера имеют статус «Активный» и все зелененькое.
В левой части вы будите видеть вашу группу объединенных сетевых интерфейсов и ее текущие настройки. Если необходимо их поменять, то кликаем по группе правой кнопкой мыши и из контекстного меню выберите пункт «Свойства«.
В результате у вас откроется знакомое вам окно со всеми свойствами группы.
Теперь давайте мы с вами откроем окно «Сетевые подключения», обратите внимание, что у вас появился новый виртуальный адаптер (Microsoft Network Adapter Multiplexor Driver). У него своеобразный значок, отличный от обычных карт, открыв его свойства вы сразу можете увидеть, что его скорость стала 2 Гбит/с, это логично, у нас же произошло сетевое объединение двух адаптеров по 1 Гбит/с. Открыв свойства подключения, я вижу, что получил динамический IP-адрес от моего DHCP сервера, при желании вы можете задать статические настройки.
Если вы теперь попытаетесь посмотреть свойства любого из сетевых адаптеров участвующих в тиминге, то у них уже не будет своего IP-адреса, так как он выступает в роли силинка (Это можно сравнить с обычным патч кордом подключенным от коммутатора к серверу)
Убедиться в том, что это силинк можно. так же увидев, что в свойствах адаптера отключены пункты IP версии 4 и 6.
Так же это можно проверить, через команду IPCONFIG, которая выведет три сетевых интерфейса.
Еще хочу обратить внимание, что на интерфейсе NIC Teaming появился новый драйвер «Microsoft Load Balancing/Failover Provider«, он и участвует в алгоритме балансировки трафика.
Добавление и исключение сетевых адаптеров из NIC Teaming
Давайте я в свою группу teaming-pyatilistnik добавлю третий сетевой адаптер. Для этого в диспетчере серверов в свойствах группы поставьте галки на против нужных. Я добавлю сетевые адаптеры «Ethernet2» и «Ethernet3», последний у меня будет, как резервный. Применяем.
Так же ждем настройки.
В итоге мы расширили наше объединение сетевых адаптеров, три активных и один резервный.
Проверяем утилитой IPCONFIG, видим, что в моей Windows Server 2019 один сетевой интерфейс, но 4-ре физических адаптера. Тиминг готов.
Благодаря этому, я добился пропускной способности в 3 Гбит/с и с одним резервным адаптером.
Для того, чтобы удалить один из сетевых адаптеров из NIC Teaming, в свойствах просто снимаем галку.
Удаление происходит практически моментально.
Добавление группового интерфейса в нужный VLAN
Я уверен, что у вас не плоская сеть и вы используете VLAN для разделения трафика. Настроить номер VLAN можно в диспетчере задач, вкладка «Групповые интерфейсы«, вызовите свойства вашей группы сетевых адаптеров.
Ставим галку «Конкретная виртуальная ЛС», где в определенном поле нужно указать номер VLAN, обратите внимание, что данный номер будет дописан в название NIC Teaming.
Если вы планируете использовать VLAN внутри виртуальной машины Hyper-V, то настраивать виртуальную ЛС нужно на виртуальном коммутаторе, а не на группе объединения сетевых карт. Если у вас стоит задача в виртуальной машине использовать несколько виртуальных сетей, то вы каждый порт коммутатора настраиваете на нужный VLAN, никогда не делайте это внутри виртуальной машины. Если же вы используете виртуальные функций SR-IOV (VFs), то обязательно проверьте, что они находятся в одном VLAN, перед тем как их будите объединять.
Создание NIC Teaming через PowerShell
Чтобы создать сетевое объединение интерфейсов через командлеты, вам нужно открыть PowerShell от имени администратора. Первым делом вам нужно посмотреть список физических адаптеров, для этого введите:
В моем примере их 4-ре. Предположим, что я хочу объединить в NIC Teamin первые два адаптера «Ethernet1» и «Ethernet2».
Для создания мы будем использовать командлет New-NetLbfoTeam.
Ключи TeamingMode
Ключи LoadBalancingAlgorithm
Вас спросят, действительно ли вы хотите создать объединенную группу сетевых интерфейсов, говорим «Y». Сразу вы увидите статус «Degraded», через некоторое время уже «Up».
Если нужно изменить поменять настройки вашей тиминговой группы, то для этого есть командлет Set-NetLbfoTeam. Допустим я хочу, чтобы режим поддержки групп был LACP, команда будет выглядеть вот так:
Хочу отметить, что если вы попытаетесь, как и в моем примере сделать, это на виртуальной машине, то получите ошибку;
Она вам прямым текстом скажет, что на виртуалках можно использовать только режим SwitchIndependent, на железных серверах все будет работать. Теперь давайте поменяем режим балансировки на IPAddresses, для этого пишем:
Добавление сетевых адаптеров из NIC Teaming через PowerShell
Предположим, что вы решили добавить еще один сетевой адаптер в объединение сетевых интерфейсов, как видим у меня NIC Teaming состоит из адаптеров «Ethernet0» и «Ethernet1», я добавлю «Ethernet2»
Удаление сетевых адаптеров из NIC Teaming через PowerShell
Если стоит задачу удалить сетевой адаптер из вашей группы объединенных сетевых интерфейсов, то выполним команду:
Настройка VLAN на NIC Teaming через PowerShell
Если нужно указать определенную виртуальную сеть (VLAN), то вы можете этого добиться командой:
Вернуть VLAN по умолчанию, обязательно смотрите «Primary» интерфейс
Удаление группы сетевых интерфейсов через PowerShell
Для удаления есть команда:
Чтобы удалить все тиминги, введите Get-NetLbfoTeam | Remove-NetLbfoTeam
На этом у меня все. Мы разобрали создание, настройку, редактирование, удаление объединения сетевых интерфейсов в операционной системе Windows Server 2019. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Популярные Похожие записи:
4 Responses to Объединение сетевых карт (Nic Teaming) в Windows Server 2019
добрый день! А где вы такие сообщения видите, на DHCP сервере или на сервере с тимингом? Какой код ID сообщения?
Доброе время суток.
Я сделал все по вашей статье, за исключением того, что у меня две сетевых адаптера и нет резервного. В итоге, в окне состояния сетевых подключений написано 2 Гбит/с, но на практике таких скоростей не наблюдаю. Проверял копированием файла из одного сервера на другой.
рижим поддержки групп стоит LACP
режим балансировки — Dynamic
подключены сетевые адаптеры к свитчу HP 1910-24, на котором настроил Link aggregation.
Тигран, LACP не позволяет при соединениях хост-хост забирать всю полосу пропускания. Только одна физика. Вот если будет другая пара серверов, что погонят трафик через LACP, то они смогут забрать себе другую физику.
Грубо говоря 2G LACP делится 1+1 для разных хостов.
Источник
Would you like servers to seamlessly stay available even when a core switch dies at work? Do you want to have your server access multiple VLANs without depending on a specific vendor’s particular drivers? Want to simplify your networking configuration for physical and virtual hosts in your environment? If you answered yes to any of these questions, then this article is for you. Let NIC Teaming do that.
Not a reader? Watch this related video tutorial!
Not seeing the video? Make sure your ad blocker is disabled.
NIC Teaming can improve fault tolerance for your machines, better utilize network resources (load balancing), configure VLANs for the machine to use, and simplify your networking configuration.
In this article, you will learn what NIC teaming is, special considerations that exist for using NIC Teaming in Virtual Machines, and how to deploy it in your organization.
Prerequisites
You don’t need to be an expert in Windows or Network Administration to understand NIC teaming. But, you do need a few technical and knowledge prerequisites to understand and apply this article. These items are:
- Understanding of how networks function (mac addresses, IP addresses, VLANs)
- Access to Windows Server 2016 (or 2019) with two or more network adapters available – almost everything you see also equally applies to Windows Server 2016, 2012R2, and Windows Server 2012
Understanding NIC Teaming
In a traditional networking setup for a physical server, you provide fault tolerance by plugging multiple network cables from the server into multiple physical switches (possibly part of a single switch stack). Thus, the server has multiple IP addresses active at all times, and load balancing is non-existent.
By deploying a NIC team on your server, you can maintain a connection to multiple physical switches but only use a single IP address. Load balancing becomes readily available. Fault tolerance becomes instant instead of waiting for DNS records to timeout/update and management becomes simpler.
NIC Teaming is a capability in Windows Server that allows you to group NICs into “teams”. Each team consists of one or more team members (NICs that are in the team) and one or more virtual NICs that are available for use.
Team members are the network adapters that the team uses to communicate with the switch. Team interfaces are the virtual network adapters that are created when you make the team. It can be hard to remember which is which since the team interfaces receive an IP address.
What is the difference between NIC teaming and bonding?
NIC Teaming is synonymous with NIC Bonding.
NIC Teaming is available in all editions of Windows Server starting with Windows Server 2012. This capability is extremely flexible and gives administrators a much simpler solution for Link Aggregation/Load Balancing, Failover, and Software Defined Networking (VLANs).
There are similar solutions on certain hardware from certain vendors, however, Microsoft’s implementation of NIC teaming aims to provide these features in a hardware and vendor-agnostic manner.
What is the difference between NIC teaming and bridging?
NIC Teaming allows you to create a NIC interface that spans one or more NIC adapters that are all on the same subnet. NIC Bridging allows you to pair NIC adapters from different subnets to enable communication between the two subnets.
When configuring a NIC Team, you will set the Teaming mode, Load balancing mode, Standby adapter, and Team interface VLAN. Each of these components is explained below.
Teaming Mode
When you create a NIC Team, you must select what Teaming Mode to use. The Teaming Mode determines how the server and switch(es) will split traffic between the multiple links. There are three types of Teaming modes: Switch independent, LACP, and Static.
Switch Independent
Switch independent teaming allows you to connect team members to multiple, non-stack switches. The Switch independent mode is the only teaming mode that uses no configuration changes on the switches that you connect it to. This mode only uses MAC addresses to control what interface incoming data should be sent to.
There are a few situations where you may choose to use Switch Independent Teaming Mode like. This could be when:
- you won’t make configuration changes on your connected switches
- using multiple non-stack switches for the team members
- making a NIC Team inside a VM (more on that in the Considerations for Use in Virtual Machines section below)
If you prefer to use one adapter for traffic and only fail-over to a standby adapter during physical link failure, you must use Switch independent teaming mode and configure a Standby adapter.
A standby adapter is not used often because it reduces the total bandwidth that is available for communicating with the server. The default setting is “None (all adapters Active)”.
Static
Static teaming requires that you manually configure ports on the switch that connect with the NIC team into a Link Aggregation Group (LAG). The server and switch will split traffic between all links that are up.
If a port on either end is connected to some other device, traffic will be split down this link that isn’t expecting it. Thus, it provides no help to isolate errors like incorrectly plugged cables.
You should only use the Static teaming mode when your switches cannot support LACP.
Link Aggregation Control Protocol (LACP)
LACP teaming is similar to Static teaming but it also tracks that each active cable in the link is actually connected to the intended LAG. LACP will not send data through links that are not connected to the expected LAG.
You should use LACP when you want to make the switch aware of the NIC team in order to load balance data that the switch sends to the NIC team.
Important: Static and LACP Teaming modes require you to connect the host to only a single switch or a single switch stack.
Load Balancing Mode
Load balancing mode determines how the team will present interfaces for incoming data and determine what adapters to use for outgoing data. The available options are Address Hash, Hyper-V Port, and Dynamic.
Unlike a “load balancing appliance”, incoming traffic is not going to be evenly split between each link in use by team members.
Address Hash
Address Hash mode will attempt to use the source and destination IP addresses and ports to create an effective balance between team members. If no ports are part of a connection, it will only use IP addresses to determine how to load balance. For cases that there’s no IP addresses are part of a connection, it will use MAC addresses.
When creating a NIC team, you can force the team to use IP+Port, IP only, or MAC address only. IP+Port is the default and provides the best balance among team members. To use IP only or MAC address only, you’ll have to create your NIC team via PowerShell.
While the Address Hash load balancing mode does a good job at splitting outbound traffic between team members, it is unable to adapt to over/under-utilized team members. Also, all inbound traffic uses the MAC address of the primary team interface. This though is limited to a single link if using the Switch Independent teaming mode.
You must use Address Hash when creating a team inside of a virtual machine.
Hyper-V Port
Hyper-V Port mode is intended only for use on Hyper-V virtual machine hosts. This mode will assign a MAC address to each machine on the virtual machine host and then assign a team member to each of the MAC addresses. This allows for a specific VM to have a predictable team member under normal operation.
Predictable team members for each VM means that a VM’s bandwidth is limited to the max of the single link that it operates over. When a Hyper-V host has few VMs on it, using the Hyper-V Port load balancing mode is likely to not be very well-balanced.
You normally don’t need to use Hyper-V Port mode, but may find it beneficial if you must make sure that each VM uses the same link at all times.
Dynamic
Dynamic mode uses the best features from Address Hash and Hyper-V port modes to balance the outbound and inbound network traffic. Like Hyper-V, inbound traffic is split by assigning team members to different MAC addresses. Like Address Hash, outbound traffic is split by a combination hash derived from IP/Port. This mixture provides better balancing compared to either of the above methods.
Dynamic balancing mode comes with one important improvement: dynamic monitoring of traffic. When the dynamic mode algorithm determines that certain team members are over/under-utilized, it will re-balance outbound traffic to other team members as needed.
TCP streams have a natural cadence that makes it possible to predict future traffic amounts/breaks in the TCP; Microsoft calls these flowlets. Dynamic load balancing mode can also anticipate, through flowlets, what team members will become over/under-utilized and re-balance outbound traffic to prepare.
Dynamic mode is almost always the best load balancing option to use.
The Team Interface VLAN
When you create a team, by default, it will create a single team interface. The team interface has a VLAN setting to tag traffic on an interface to a specific VLAN. Setting the team interface VLAN to a tagged VLAN is typically only done when the team members that the NIC Team is made from use the ‘trunk’ mode.
After you create the team, you can create additional team interfaces on different VLANs.
Warning: Microsoft recommends that you never set the VLAN for an interface inside a VM. Instead, use the Hyper-V switch advanced option “VLAN ID” to define VLANs for a VM.
NIC Teaming in Virtual Machines
Setting up NIC teams in a VM comes with some limitations. Microsoft specifically calls out that using “Teams on Teams” (host level teams and VM level teams) can be very unpredictable and cause connection loss.
Traditionally providing fault tolerance for a VM required that the VM must be connected to multiple external virtual switches. You had to plan which VMs would share each virtual switch to ensure none became too congested. Load balancing issues were further complicated with the possibility of congestion from the other VM’s on the host.
Nowadays, you can deploy an NIC team on the VM host with a single network adapter to each VM. All VMs gain full fault tolerance from a physical port or switch failures. All VM’s can have their traffic balanced across team members for much better overall throughput and congestion handling. Your configuration now can look like this:
NIC teaming in a VM is sometimes used to enable SR-IOV for reducing CPU overhead of the networking stack. You also need BIOS support and NIC support for SR-IOV to be functional.
Requirements
Using NIC teaming within a VM includes these requirements to be a “supported configuration”:
- You must be using multiple adapters in the VM.
- The adapters must connect to two virtual switches that are both “external” type.
- If connecting to physical switches, switches must be on the same L2 subnet.
- The VM NIC Team mode must be set to Switch Independent and the load balancing mode must be set to *Address Hash.*
In Hyper-V, you also need to enable NIC Teaming for the VM from each network adapters’ Advanced Features tab that will be part of a team. You can see an example below of what this setting looks like.
Maximizing Performance
While NIC Teaming has good performance out of the box, there are various scenarios where you may need to focus on improving performance. The specifics of these scenarios are out of the scope of this article but if you’d like to learn more about how to performance, focus on the following terms:
- Remote Direct Memory Access (RDMA)
- Switch Embedded Teaming (SET)
- Receive Side Scaling (RSS)
- Single-Root I/O Virtualization (SR-IOV)
Generally, these additional settings reduce some CPU overhead for the networking stack and latency between connections. You can learn more about improving performance in the Software and Hardware technologies explained and Higher performance through RDMA with SET articles.
Creating a NIC Team on Windows Server
Armed with a knowledge of how NIC teaming works and a vision for simplifying your networking, you should now prepared to create a NIC team!
For this demonstration, a NIC team will be created on a VM due to demo environment constraints. Setting up a NIC team on a physical server is the same but if any VM-specific steps are needed, they will be called out.
How do you check if NIC teaming is enabled?
NIC Teaming is enabled in all versions of Windows Server since 2012 (Server 2012, 2012R2, 2016, and 2019).
Deploying NIC Teaming via GUI
To get started, bring up Server Manager on a Windows Server machine. Ensure you are connected to the machine you’d like to configure the NIC team on.
- First, right-click the server name to create the NIC team on and select Configure NIC Teaming.
2. From the Adapters and Interfaces panel, select the NICs to add to the new team. Next, right-click on the selected adapters and select Add to New Team.
Note: You can configure NIC Teaming with any combination of one or many adapters (max: 32) and one or more team interfaces.
3. Type a descriptive Team name and configure Additional Properties as needed and click OK to create the team.
In this example, the NIC team is being set up on a VM. As a result, the Teaming mode or the Load balancing mode cannot be used. If this demo were on a physical server, you’d probably use Switch Independent or LACP if using a LAG on the switch.
The NIC team should now be created on the Windows Server.
Adding More NICs or Interfaces to the NIC Team
Once created, you can add NICs to a configured team from the same NIC Teaming window. To do so, right-click on an available NIC and select Add to Team “<Team name>”.
You can also add more interfaces to a team by selecting the Team Interfaces tab and then click TASKS —> Add Interface as shown below.
Once the input comes up, type in the VLAN to use and optionally, a name as shown below.
Deploying NIC Teaming via Windows PowerShell
Now that you know how to set up a NIC team the GUI, let’s now check out how to do this via PowerShell.
Finding NIC Names
First, you must decide which NICs you will add to the team. More specifically, you will need to figure out the NIC names.
To find the NIC names, use the Get-Adapter
cmdlet. Run this cmdlet and notice your options as shown below.
Once you have noted the names, you can now create the team with PowerShell! For this demo, we’ll be using the NICs Ethernet 3 and 4 for the new NIC Team.
Creating the NIC Team
Now that you have the adapter names in hand, you only have one more cmdlet (New-NetLbfoTeam
) to run. You can see an example of running the New-NetLbfoTeam
cmdlet and it’s output below.
For the TeamMembers
parameter, you’ll use the names of the NICs gathered earlier.
In this example, the TeamingMode
is set to SwitchIndependent
. If you are configuring the switch ports into a LAG, you’ll probably want to use the LACP
value. If you aren’t using a LAG on the switch, you would probably choose to use SwitchIndependent
.
The LoadBalancingAlgorithm
parameter value of Dynamic
is used because this mode provides the most even load balancing across team members.
New-NetLbfoTeam -TeamMembers <NIC Names> -Name "<Desciptive Name>" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm TransportPorts
Once completed, you’ll now see a new virtual NIC appear in the adapter list from Get-NetAdapter
:
NIC Team on a VM Notes:
– You must use the ‘SwitchIndependent’ TeamingMode.
– You must use one of the Address Hash types for the LoadBalancingAlgorithm (TransportPorts).
– Dynamic load balancing would be used on a physical server instead of TransportPorts.*
Adding More NICs or Interfaces to the NIC Team
Once you have the NIC team build, you can then add NICs and interface to it just like the GUI. To add more NICs to the team, use the Add-NetLbfoTeamMember
cmdlet*.*
Add-NetLbfoTeamMember -Name NIC1 -Team Team1
You can also add more team interfaces with the cmdlet Add-NetLbfoteamNIC
.
Add-NetLbfoTeamNIC -Team Team1 -VlanID 42
Summary
You have now learned what NIC Teaming is, how it relates to performance/VM use/simplifying your networking, and how to deploy it via GUI or PowerShell.
-
bonding, lacp, windows, networking, windows server 2016, windows server 2019
- 6
After installing Windows Server 2016/2019, LACP can be configuring by following the steps in this tutorial.
The Server Manager
application should already be running, in case it is not, start it.
Step 1 — Opening the NIC teaming Interaface:
- Inside
Server Manager
, navigate to Local Server (this option can be found in the left sidebar). - Proceed by clicking on the blue
Disabled
link next toNIC Teaming
.
Step 2 — Set up the LACP interface
- In the top right corner of the
NIC Teaming
window, click onTASKS
and selectNew Team
. - In the new interface that poped up, enter a name for the team (example: bond) and select the interfaces you want to use for the bond you are setting up by checking the checkboxes that appeared next to them.
- Proceed by clicking on
Additional properties
and selecting LACP as theTeaming mode
. - After selecting LACP in the Teaming mode, click on OK and the interface will be created.
Step 3 — Configuring an IP address
This will not be covered in this guide, now you can go ahead and configure an IP address in on the bond interface like you would normally do on the standard interface in a server.
After this is done, your server should have internet connectivity.
In case you are running into issues, feel free to contacting our support department by creating a ticket or sending an e-mail to support@novoserve.com.
Was this answer helpful?
The browser version you are using is not recommended for this site.
Please consider upgrading to the latest version of your browser by clicking one of the following links.
- Safari
- Chrome
- Edge
- Firefox
Setting up NIC Teaming for Windows Server 2012*/2012 R2*/2016*/2019*
Documentation
Content Type
Install & Setup
Article ID
000022706
Last Reviewed
01/29/2020
To create a NIC Team:
- In Server Manager, click Local Server.
- In the Properties pane locate NIC Teaming, and then click the link Disabled to the right. The NIC Teaming dialog box opens.
- In Adapters and Interfaces, select the network adapters that you want to add to a NIC Team.
- Click TASKS, and then click Add to New Team.
- The New team dialog box opens and displays network adapters and team members. In Team name, type a name for the new NIC Team.
- If needed, in Additional properties, select values for Teaming mode, Load balancing mode, and Standby adapter. In most cases, the highest-performing load balancing mode is Dynamic.
- If you want to configure or assign a VLAN number to the NIC Team, click the link to the right of Primary team interface. The New team interface dialog box opens.
- To configure VLAN membership, click Specific VLAN. Type the VLAN information in the first section of the dialog box
-
Click OK.
PowerShell* Instruction
Note | We recommend using Microsoft Teaming on operating systems 2012 and higher. |
Creating the Network Team using PowerShell
See the Microsoft TechNet article that details NIC Teaming (NetLBFO) cmdlets in Windows PowerShell*.
- Open an elevated PowerShell prompt. In the Windows® 10 taskbar search, type PowerShell. Press the W and S keys to open Search.
- You should now see the result Windows PowerShell at the top. Right-click Windows PowerShell and select Run as Administrator.
- If you are presented with the User Account Control prompt, click Yes.
- Enter the command new-NetLBFOTeam [TEAMNAME] “[NIC1]”, “[NIC2]” and press the Enter Key.
[TEAMNAME] – the name you want to give to the team of network adapters
[NIC1] – the name of the first network adapter found from above
[NIC2] – the name of the second network adapter found from above - Open the Network Connections by going to Control Panel > Network and Internet > Network Connections.
Related Products
This article applies to 214 products.
Discontinued Products
Need more help?
Give Feedback
A blog reader commented on one of my previous posts about the Converged Network Fabric in VMM
The comment was:
LACP vs. Switch Independent, I know that Microsoft recommends Switch Independent / Dynamic mode, however, I can’t find what their pros and cons are. Network administrators always prefer using LACP.
I had a discussion recently about the same topic with one of my colleagues at work, I thought this is the right time to talk about NIC teaming options in the Host and Switch(es) with LACP and Switch Independent mode. The NIC teaming in general is a confusing topic for some people.
In today’s blog post, I will deep dive into Microsoft NIC Teaming options starting from Windows Server 2012, 2012 R2, 2016 and what’s coming in Windows Server 2019, I always hear people saying that Microsoft recommends Switch Independent / Dynamic mode in all cases, and why people are still using LACP, the answer is they are cases where one is a little better than the other and has more options which the other doesn’t, I will address that by the end of this post.
So without further ado, let’s start from the basics and then move into the advanced topics.
The Five Biggest Sports Clubs In Th…
Please enable JavaScript
Table of Contents
What is NIC Teaming?
NIC Teaming is also referred to as NIC Bonding called by some people, Load Balancing and Failover (LBFO).
In short, the combining of two or more network adapters so that the software above the team perceives them as a single adapter as one pipe that incorporates failure protection and bandwidth aggregation.
NIC teaming solutions historically have also provided per-VLAN interfaces for VLAN traffic segregation, and Microsoft teaming solution of course does the same thing, I will get to this shortly.
- Vendor agnostic – anyone’s NICs can be added to the team.
- Fully integrated with Windows Server 2012 R2 / 2016 / 2019 / 2022.
- You can configure your teams to meet your needs.
- Server Manager-style UI that manages multiple servers at a time.
- Microsoft is fully supported! so no more calls to NIC vendors for teaming support or getting told to turn off teaming.
- Many vendors on the market have dropped down the teaming business.
- Team management is easy using PowerShell, System Center Virtual Machine Manager, and Server Manager.
Microsoft’s NIC Teaming Vocabulary Lesson
-
- pNICs = physical NICs on the host or Network Adapters.
- tNICs = Team Interfaces exposed by the team, Team NICs, or tNICs.
- vNICs = Interfaces exposed by the Hyper-V Virtual Switch to the Management OS (host partition).
- vmNICs = Interfaces exposed by the Hyper-V Virtual Switch into a Virtual Machine.
Four Terms to be added to your dictionary: (pNICs, tNICs, vNICs and vmNICs).
Teaming Modes / Load Distribution Methods
Teaming Modes
- Switch independent mode
- The host is not dependent on the switch (No configuration is required on the physical switch).
- Protects against adjacent switch failures (do not cause the team to break).
- Easy to configure and it’s the easiest one to not mess up when you deploy it.
- Switch dependent modes
- Static Teaming (or Generic teaming) which is switch-dependent teaming without protocol, there is not a lot of value in using Switch dependent teaming without the protocol.
- LACP (802.1ax teaming, also known as 802.3ad). The 802.1ax is the IEEE standard that defines the Link Aggregation control protocol.
- Requires configuration of the adjacent switch (very dependent on the configuration of the switch).
- If you are looking at switch-dependent mode, you should really look at LACP (I will get to Why LACP shortly).
Load Distribution Modes
- Address Hash – comes in 3 flavors
- 4-tuple hash: (Default distribution mode) uses the RSS hash if available, otherwise hashes the TCP/UDP ports and the IP addresses. If ports are not available use 2 tuples instead.
- 2-tuple hash: hashes the IP addresses. If not IP traffic uses MAC-address hash instead.
- MAC address hash: hashes the MAC addresses.
- All of the traffic for the host arrives on one NIC, this is not very useful in a Hyper-V case, but quite useful in a native teaming case, because in a native teaming case you generally have only one MAC address visible to the network from the tNIC anyway.
- Hyper-V Port
- Hashes on the port number of the Hyper-V switch that the traffic is coming from (All traffic from a given VM to a given team member-only, and of course when you have too many VMs, then multiple VMs will be mapped to each team member).
- Recommend using Hyper-V 2012, 2016, 2019, and 2022.
- Dynamic
- Recommend using Hyper-V 2012 R2.
- Dynamic distribution is Address Hash on the outbound side, and Hyper-V Port on the inbound side (are you confused yet? probably).
- What this means is that the outgoing traffic will be spread across the team members on a per-flow basis, and then watch the ARP and manage the ARPs coming from the VMs (ARP responses) in a way that ensures that each of the VM has their incoming traffic mapped to various different team members, so if you have a lot of team members, for example, you have a team of 8X1Gig NICs, this means that will take the VMs and distribute them across all incoming team members, although each VM will be mapped to exactly one NIC per incoming purposes, that means that a given VM traffic cannot exceed the bandwidth of a single team member. However, on the outbound side, the distribution is actually on a per-flow basis, so a given VM can generate more than 1 team member’s worth of traffic, and will break down into flows and distribute them across the team members.
- And because Dynamic is based on Flowlet technology, Microsoft keeps checking gaps in the flows, and after each gap has occurred in the flow, they look at whether the flow should continue on the same NIC or whether there is a less used NIC that can move that flow to, in order to balance that outbound traffic across all of the NICs.
Teaming Modes and Load Distribution Methods (Summary)
Active/Standby
- A frequently used mode with NO real value.
- Available only in Switch Independent / Address Hash operation.
- Only one team member can be set to standby.
I like to give the analogy of building a four lanes highway, that’s a freeway with two lanes in each direction, and then taking one lane in each direction out of service till the other lane is broken.
You already have the infrastructure investment made that your company paid for, you have already got all of the connections and everything in place, and you are not using half of it because you want to be there in case you need it when the other one brakes.
It makes a lot better sense to use Active/Active, such that you are always using all of the infrastructures that you already bought and paid for.
Windows Server 2012 Switch / Load Interactions
Windows Server 2012 R2 Switch / Load Interactions
Team Interfaces (tNICs)
- Team interfaces can be in one of two modes:
- Default mode: passes all traffic that doesn’t match any other team interface’s VLAN id.
- VLAN mode: passes all traffic that matches the VLAN.
- Inbound traffic is always passed to at most one team interface only.
The Hyper-V team has said loud and clear, that if you are using Hyper-V Virtual Switch on top of a team, the team must only expose the default interface (interface a default mode) and no others. The Hyper-V virtual switch manages all of the VLAN configurations, it’s perfectly capable of that.
- Team interfaces created after initial team creation must be VLAN mode team interfaces.
- Team interfaces created after initial team creation can be deleted at any time (using server manager UI or PowerShell). The primary interface cannot be deleted except by deleting the team.
- It is a violation of Hyper-V rules to have more than one team interface on a team that is bound to the Hyper-V Switch.
- A team with only one member (one pNIC) may be created for the purpose of disambiguating VLANs.
- A team of one has no protection against failure (of course).
Frequently Asked Questions
- Any physical Ethernet adapter can be a team member and will work as long as the NIC meets the Windows Logo requirements.
- Teaming of RDMA adapters is not supported in Windows Server 2012 and 2012 R2, but supported in Windows Server 2016 (I’ll get to this shortly).
- Teaming of WiFi, WWAN, etc, adapters are not supported.
- Teams of teams are not supported as well.
- Teaming in a Virtual Machine is supported, but limited to:
- Switch Independent, Address Hash mode only.
- Teams of two team members are supported.
- Intended/optimized to support teaming of SR-IOV Virtual Functions (VFs) but may be used with any interfaces in the VM.
- Requires configuration of the Hyper-V Virtual or failovers may cause loss of connectivity.
- Maximum number of NICs in a team: 32
- Maximum number of team interfaces: 32
- Maximum teams in a server: 32
- Not all maximums may be available at the same time due to other systems constraints.
NIC Teaming Manageability
- Easy-to-use NIC Teaming UI with Server Manager (lbfoadmin.exe)
- Intuitive and Powerful.
- UI operates completely through PowerShell – uses PowerShell cmdlets for all operations.
- Manages Servers (including Server Core) remotely from Windows 8.1, 10, and Windows 11 clients.
- Powerful PowerShell cmdlets
- Object: NetlbfoTeam (New, Get, Set, Rename, Remove).
- Object: NetLbfoTeamNic (Add, Get, Set, Remove).
- Object: NetlbfoTeamMember (Add, Get, Set, Remove).
- System Center Virtual Machine Manager
- Deployment through predefined templates and profiles.
- Consistent deployment across all hosts.
Which NIC Teaming Mode Shall I Choose?
- Switch Independent
- Doesn’t depend on the switch configuration.
- Balances outbound traffic especially in Dynamic distribution mode.
- Maps inbound traffic to different team members based on per vPort basis
- Limits inbound traffic to a given vPort to the bandwidth of a single team member (more of an issue in 1G interfaces than 10G, 40G, or 100G interfaces).
- Switch Dependent (LACP)
- All interfaces in Link Aggregation Group (LAG) are treated as single pipe except:
- Packets in the same flow are placed on the same team member to reduce the opportunity for misordering.
- The host manages outbound packet placement, Switch determines inbound packet placement.
- LAGs and MLAGs:
- Many people are using multi-chassis switches (a.k.a Stacked Switches).
- Link Aggregation Group (LAG) Versus Multi-chassis Link Aggregation Group (MLAG).
- Every Switch vendor does it differently and depending on what vendors are you using, you may have better or worse results.
- All interfaces in Link Aggregation Group (LAG) are treated as single pipe except:
Advantages and Disadvantages (Switch Independent vs. LACP)
- Switch Independent
- The main one is (No switch configuration is required).
- Less opportunity for misconfiguration
- Does a good job of load spreading.
- Adequate for the vast majority of deployments.
- Works with Windows Server 2016 RDMA teaming since the host determines which interface traffic arrives on.
- Detect cable faults, NIC faults, adjacent switch power issues, etc. but doesn’t detect dead switch port logic (This is an extremely rare failure, this is the case where a switch is still electrically alive, but the logic on the port has hung or failed. The switch independent is looking at the electric interface and won’t detect that the switch has quick passing traffic on a given port).
- The main one is (No switch configuration is required).
- Why LACP
- Because it maintains a heartbeat between the switch port logic and the host, this heartbeat allows the detection of switch port logic errors or failure, because if the switch port logic goes down, it will not send any heartbeat, it does not process the heartbeat, it does not send back the response, and the result is that NIC teaming on the host will detect that the switch port is not alive anymore, then they will take that particular link out of the LAG for the duration time the switch port is not responding.
- Allows the switch to load balance ingress flows across the team members.
- Integrate well with Equal-cost multi-path (ECMP) through Multi-chassis switches.
- Does not work with Windows Server 2016 (RDMA) teaming, because stateful offloads like RDMA require all the traffic for that engine to arrive on a given NIC, so LACP won’t work.
What’s New for NIC Teaming in Windows Server 2016/2019?
- Switch-embedded Teaming (SET) where the teaming will be integrated into the Hyper-V Virtual Switch.
- SET is an alternative NIC Teaming solution that you can use in environments that include Hyper-V and the Software-Defined Networking (SDN) stack in Windows Server 2016/2019/2022.
- The Switch-embedded Teaming (SET) mode will support RDMA and SR-IOV teaming.
- Supporting SDN-switch capabilities (Packet Direct, Converged vNIC, and SDN Quality of Service).
- The Switch-embedded Teaming (SET) will be limited to:
- Switch Independent teaming mode only.
- Dynamic and Hyper-V Port mode only for load distribution.
- Managed by SCVMM or PowerShell only, but not with Server Manager or (lbfoadmin.exe).
- Only teams have identical ports (same manufacturer, same model, same firmware, and driver).
- The Switch must be created in SET mode. (you cannot change it later).
- Up to eight physical Ethernet network adapters into one or more software-based virtual network adapters.
- The use of SET is only supported in Hyper-V Virtual Switch in Windows Server 2016/2019. You cannot deploy SET in Windows Server 2012 R2.
- In another article, I’ll demonstrate how to configure and use Switch-embedded Teaming (SET) in Windows Server 2016.
Congratulations! You have completed the Microsoft® Black Belt NIC Teaming Certificate!
Thanks for reading!
Cheers,
-Charbel
About the Author
Charbel Nemnom
Charbel Nemnom is a Senior Cloud Architect, Swiss Certified ICT Security Expert, Certified Cloud Security Professional (CCSP), Certified Information Security Manager (CISM), Microsoft Most Valuable Professional (MVP), and Microsoft Certified Trainer (MCT).
He has over 20 years of broad IT experience serving on and guiding technical teams to optimize the performance of mission-critical enterprise systems with extensive practical knowledge of complex systems build, network design, business continuity, and cloud security.