Заметки о Windows и других программных продуктах Microsoft...

Технология NIC Teaming в Windows Server 2012

Технология NIC Teaming в Windows Server 2012

Технология объединения сетевых адаптеров NIC Teaming заключается в том, что несколько физических адаптеров (NIC) объединяются в группу, в результате чего получается один единственный логический адаптер. Процесс объединения называют teaming. NIC Teaming решает две основные задачи:

Увеличение полосы пропускания — полоса увеличивается пропорционально количеству адаптеров в группе. Например, если объединить в NIC Teaming четыре сетевых адаптера со скоростью 1 Гбит/с, то общая полоса пропускания составит 4 Гбит/с;
Отказоустойчивость —  когда один адаптер выходит из строя, остальные берут на себя его функции и связь не прерывается.

NIC Teaming технология не новая, но раньше ее реализация целиком зависела от производителей сетевого оборудования. Возможность объединять сетевые адаптеры в группу средствами операционной системы появилась только в  Windows Server 2012.  NIC Teaming в Server 2012 позволяет объединять в группу адаптеры разных производителей, единственное ограничение — все они должны работать на одной скорости. Объединить в NIC Teaming можно до 32 сетевых адаптеров.

Включение и настройка

По умолчанию режим NIC Teaming отключен. Чтобы его активировать открываем Server Manager, заходим в свойства сервера и нажимаем ссылку Объединение сетевых карт (NIC Teaming).

активация NIC Teaming в Server Manager

 

В открывшемся окне жмем на кнопку Задачи (Tasks) и выбираем пункт Создать группу (New Team).

создаем группу адаптеров в NIC Teaming

 

Даем группе название и выбираем добавляемые адаптеры.

добавление адаптеров в группу

 

Затем настраиваем дополнительные свойства группы. Поскольку от этих параметров зависит эффективность работы NIC Teaming, стоит рассмотреть их поподробнее.

Режим поддержки групп (Teaming mode) определяет режим взаимодействия группы с сетевым оборудованием:

• Не зависит от коммутатора (Switch Independent) — группа работает независимо от коммутатора, никакой дополнительной настройки сетевого оборудования не требуется. Этот режим позволяет подключать адаптеры одной тиминговой группы к разным свичам для защиты от сбоя одного из них. Выбирается по умолчанию;
• Статическая поддержка групп (Static Teaming) —  режим с зависимостью от сетевого оборудования. Все адаптеры группы должны быть подключены к одному коммутатору. Порты коммутатора, к которым подключены адаптеры группы, настраиваются на использование статической агрегации каналов;
• LACP — также зависит от сетевого оборудования. Коммутатор настраивается на использование динамической агрегации каналов с использованием протокола Link Aggregation Control Protocol (LACP).

Режим балансировки нагрузки (Load Balancing mode) определяет, каким образом распределять сетевой трафик между адаптерами группы:

• Хэш адреса (Address Hash) — при передаче сетевого трафика на основании MAC или IP-адресов отправителя и получателя вычисляется хеш (число). Это число привязывается к определенному физическому адаптеру и в дальнейшем весь трафик от этого отправителя будет идти через этот адаптер;
• Порт Hyper-V (Hyper-V Port) — в этом режиме осуществляется привязка адаптера тиминговой группы к определенному порту виртуального свича в Hyper-V. Этот режим используется в том случае, если на сервере активирована роль Hyper-V.

Резервный адаптер (Standby adapter) позволяет назначить один из адаптеров группы в качестве резервного.  В нормальном состоянии резервный адаптер не используется для передачи трафика, но при выходе любого адаптера группы из строя сразу занимает его место и трафик продолжает передаваться без перерывов. Впрочем, даже без резервирования выход из строя одного адаптера в NIC Teaming не приведет к прерыванию сетевых операций, т.к. нагрузка будет автоматически распределена по оставшимся адаптерам.

настройка параметров группы в NIC Teaming

 

Настроив свойства группы, жмем ОК. Все, группа создана. Теперь в окне «Сетевые подключения» появился еще один сетевой адаптер, который как раз и является виртуальным адаптером группы.

адаптер группы в сетевых подключениях

 

Если посмотреть свойства физических сетевых адаптеров, то мы увидим, что все компоненты кроме протокола мультиплексора сетевого адаптера отключены

свойства сетевого подключения адаптера в NIC Teaming

 

А все настройки теперь производятся в свойствах виртуального адаптера.

свойства сетевого подключения адаптера группы в NIC Teaming

 

Включить и управлять  NIC Teaming можно и с помощью PowerShell. Для этого в PS есть целый модуль по имени NetLbfo.

команды модуля NetLbfo

 

К примеру, следующая команда создает группу Team1 из адаптеров Ethernet и Ethernet 2, включает режим Switch Independent и задает балансировку нагрузки по хешу адреса:

New-NetLbfoTeam -Name Team1 -TeamMembers ″Ethernet″,″Ethernet 2″ `
-TeamingMode SwitchIndependent -LoadBalansingAlgorithm TransportPorts

создание NIC Teaming в PowerShell

 Отключение NIC Teaming

Отключение NIC Teaming произойдет, если удалить тиминговую группу. Сделать это можно в Server Manager, в окне NIC Teaming.

удаление NIC Teaming в Server Manager

 

Также удалить группу можно через PowerShell командой Remove-NetLbfoTeam -Name Team1

удаление NIC Teaming в PowerShell

 

Кстати, при удалении группы восстанавливаются предыдущие настройки сетевых адаптеров.

 Заключение

Реализация технологии NIC Teaming в Windows Server 2012 откровенно порадовала. Она проста в настройке, не предъявляет специальных требований к оборудованию и может работать работает практически с любыми сетевыми адаптерами. В общем я за ее использование, однозначно.

 
 
Комментарии

При использовании режима «Не зависит от компьютера» + «Хэш адреса» и обычного свича: HP 4104GL — не понятно, а через какую из карт будут идти ответы ? (через какую карту будеиз сервера будет идти исход понятно описано)

Равно как и не понятно — как быть адаптеру станции пользователя, когда он спросит — а какой из MAC-адресов имеет IP адрес такой-то( ip-адрес сервера)… и в ответ ему прийдут 2 или более записей вида:
xx:cc:vv:bb:vv:01 172.16.0.1
xx:cc:vv:bb:vv:02 172.16.0.1
xx:cc:vv:bb:vv:03 172.16.0.1

IP и MAC только один — у виртуального адаптера группы. Подключения по идее раскидываются по разным физическим адаптерам рандомно, в зависимости от нагрузки.

Есть сервер с двумя сетевыми. Он подключается к домашней сети с несколькими компьютерами через свитч. Сейчас в сети IP-адреса раздаются роутером по МАК-адресам компьютеров плюс часть автоматом (для мобильных устройств через wi-fi). Как тогда будет работать? Что прописывать в DHCP роутера? Или надо переносить DHCP из роутера в сервер?

Не надо никуда переносить DHCP. Достаточно прописать в DHCP MAC-адрес виртуального адаптера группы.

Добрый день Кирилл.
У меня созрел вопрос. Используем виртуализацию на ESXI. Есть виртуальный хост на котором развернут DC (domain controller) и на борту присутствует файл помойка. Подхожу к самому вопросу. Если я буду использовать NIC Teaming, как думаете обращение к файлам будет быстрее?

Использовать NIC Teaming в виртуалке, на мой взгляд, бессмысленно. Все равно скорость ограничивается физическим подключением на хосте.

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

Андрей

Добрый день, Кирилл!
Есть в сети сервер на W2012 с двумя подключениями и оба включены, NIC-teming не настроен. Есть два адреса, по обоим можно зайти на сервер. Делал не я, но возникает вопрос: как себя ведет Windows с этими картами? Отсюда надеюсь нужно ли явно настраивать NIC-teming, плюсы и минусы текущей конфигурации.

То, как Windows ведет себя с этими картами, зависит от сетевого окружения, от настроек DNS, от приложений, установленных на сервере и т.п. Как именно настроены адаптеры — находятся ли они в одной сети\вилане, подключены к одному или к разным коммутаторам?

Большое спасибо) Очень понятно и подробно

Константин

Статья полезная. Спасибо автору.
Вопрос: от провайдера идёт сетевой кабель 1 Gb. Интернет поднимается PPoE. Если протянуть 2-й кабель с 1Gb как в таком случае настраивается NIC Teaming? Нужен ли 2-й логин брать у провайдера или всё можно сделать уже с существующим?
Заранее спасибо.

Я правильно понимаю — у вас кабель от провайдера приходит напрямую в сервер, а сервер используется в качестве роутера? И вы хотите от того-же провайдера взять еще гигабит, воткнуть в тот же сервер и объединить оба канала в группу?

Константин

Да всё верно.

Вообще то с таким вопросом стоит обратиться к провайдеру. Ну а с технической стороны возможно 2 варианта:
1. Настраиваете статический тиминг, для чего потребуется настройка на стороне провайдера.
2. Используете режим Swich independent, в этом случае настройка на стороне провайдера не требуется, только на сервере.

А если у меня 2 разных провайдера, две разных сети, причем один из провайдеров привязывается по MAC адресу карты. Могу ли я объединить эти карты в одну, чтобы потом использовать в службе маршрутизации и всех клиентов из внутренней сети (3 карта на этой машине) водить через этот виртуальный адаптер?

Чисто теоретически можно попробовать. Хотя что из этого получится — лично я не очень представляю 🙂

Александр

По инструкции собрал следующее:
Свитч HP1910-48G — два порта собрал в динамическую группу
Сервер HP DL180 G6 — два порта собрал в NIC Teaming group, режим группы LACP, режим балансировки Хэш адреса
Соединил свитч и сервер двумя проводами.
При копировании файла 5гб скорость не поднимается выше 112мб\с (гигабит), а в теории должна удвоиться и стать ну хотя бы около 200мб\с.
В чем может быть проблема?

А без группы, на одном порту какая скорость? Дает ли объединение какой либо прирост?

Нодир

Есть 4 сетевые карты по 1 гБ объединил их в тим.
Switch Independed+ Hyper-v
Как мне добиться скорости больше 1 гб.

Запустил репликацию между серверами-пакеты идут через 1 сетевую
Запустил копирование на вирт.сервер1- пакеты пошли через 2-ю сетевую
Запустил копирование на вирт.сервер2- пакеты пошли через 3-ю сетевую
Но общая скорость не выросла.
В чем может быть затык

попробуйте выбрать режим Sw Ind + Динамический, то что Win предлагает по умолчанию. на ESXi тим формально начинает работать на 2 Гб/с. но если добавить 4 инт в тим, то всё равно 2 Гб/с. И насколько я знаю надо ставить четное кол-во для тима, если у вас три — сделайте его Standby.

небольшое дополнение к созданию тимов PS
New-NetLbfoTeam -Name Team1 -TeamMembers ″Ethernet″,″Ethernet 2″ `
-TeamingMode SwitchIndependent -LoadBalansingAlgorithm TransportPorts

возможные TeamingMode:
Static, SwitchIndependent, Lacp

возможные LoadBalansingAlgorithm:
TransportPorts, IPAddresses, MacAddresses, HyperVPort, Dynamic

в случае когда не используется RDMA (SMB Direct) и есть два физических процессора, то можно распределить сетевые интерфейсы по процессорам
Set-NetAdapterAdvancedProperty -Name «NIC1» -RegistryKeyword ‘* NumaNodeId’ -RegistryValue ‘0’
Set-NetAdapterAdvancedProperty -Name «NIC2» -RegistryKeyword ‘* NumaNodeId’ -RegistryValue ‘1’

ну или также через Advanced GUI настройки сетевой карты

Ответить