Настройка и проектирование отказоустойчивости NIC Teaming

Обзор

В этой статье рассматриваются шаги по настройке NIC Teaming и проектированию отказоустойчивой сети в среде Windows Server. Рассматривается создание команды LBFO (Load Balancing and Failover) в режиме Switch Independent с Dynamic Load Balancing, тестирование отказоустойчивости и контроль системных журналов.

Используемые переменные

Следующие переменные следует заменить на значения, соответствующие вашей среде:

Переменная Пример Описание
<<TEAM_NAME>> Team01 Имя команды
<<ADAPTER1>> Ethernet1 Физический сетевой адаптер 1
<<ADAPTER2>> Ethernet2 Физический сетевой адаптер 2
<<TEAM_NIC>> TeamedNIC Виртуальный сетевой интерфейс команды
<<STATIC_IP>> 192.168.10.100 Статический IP-адрес
<<PREFIX_LENGTH>> 24 Длина префикса подсети
<<GATEWAY>> 192.168.10.1 Шлюз по умолчанию
<<DNS_SERVER>> 192.168.10.10 Адрес DNS-сервера

Шаг 1: Проверка сетевых адаптеров

Проверьте состояние физических NIC, которые будут объединены в команду. Рекомендуется использовать адаптеры с одинаковыми параметрами скорости, драйверами и производителями.

Get-NetAdapter | Select-Object Name, Status, LinkSpeed, InterfaceDescription, MacAddress

Для объединения подходят только адаптеры со статусом Up.


Шаг 2: Создание команды (LBFO)

Сравнение алгоритмов балансировки нагрузки

Алгоритм Поддерживаемые режимы Особенности Применение
AddressHash Switch Independent / Static / LACP Хэш по IP и портам источника/назначения Общие серверные задачи
HyperVPort Switch Independent / LACP Распределение по VM или vNIC, баланс входящего трафика Среды Hyper-V
Dynamic Switch Independent / LACP Исходящий — хэш, входящий — динамическая адаптация Рекомендуемый режим
TransportPorts Switch Independent Распределение по TCP/UDP-портам Высоконагруженные приложения
IPAddresses Switch Independent Хэш по IP-парам Среды с фиксированными IP
MACAddresses Static / LACP Простое распределение по MAC Старое или статичное оборудование

Рекомендуется использовать Switch Independent + Dynamic — не требует настройки на коммутаторе и обеспечивает двусторонний баланс.

New-NetLbfoTeam `
  -Name "<<TEAM_NAME>>" `
  -TeamMembers "<<ADAPTER1>>","<<ADAPTER2>>" `
  -TeamingMode SwitchIndependent `
  -LoadBalancingAlgorithm Dynamic `
  -TeamNicName "<<TEAM_NIC>>"

Проверка:

Get-NetLbfoTeam | Format-Table Name, TeamingMode, LoadBalancingAlgorithm, Status

Шаг 3: Настройка IP и DNS

Назначьте IP-адрес виртуальному интерфейсу команды. Для IPv6 добавьте -AddressFamily IPv6.

New-NetIPAddress -InterfaceAlias "<<TEAM_NIC>>" -IPAddress "<<STATIC_IP>>" -PrefixLength <<PREFIX_LENGTH>> -DefaultGateway "<<GATEWAY>>"
Set-DnsClientServerAddress -InterfaceAlias "<<TEAM_NIC>>" -ServerAddresses "<<DNS_SERVER>>"

Проверка настроек:

Get-NetIPAddress -InterfaceAlias "<<TEAM_NIC>>"
Get-DnsClientServerAddress -InterfaceAlias "<<TEAM_NIC>>"

Шаг 4: Проверка состояния команды

Get-NetLbfoTeamMember -Team "<<TEAM_NAME>>"

Все адаптеры должны иметь статус Active. При проблемах проверьте кабельное соединение и настройки порта коммутатора.


Шаг 5: Тестирование отказоустойчивости

Проверьте, как работает переключение при отказе.

  1. Отключите <<ADAPTER1>> (кабель или программно):
Disable-NetAdapter -Name "<<ADAPTER1>>" -Confirm:$false
  1. Проверьте состояние:
Get-NetLbfoTeamMember -Team "<<TEAM_NAME>>"
Enable-NetAdapter -Name "<<ADAPTER1>>"

Если связь сохраняется через <<ADAPTER2>>, то отказоустойчивость работает корректно.


Шаг 6: Мониторинг и журналы событий

Просмотрите события, связанные с LBFO:

Get-WinEvent -LogName "Microsoft-Windows-MsLbfoProvider/Operational" -MaxEvents 20 |
  Select-Object TimeCreated, Id, LevelDisplayName, Message

Системные события LBFO:

Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-MsLbfoSysEvtProvider'} -MaxEvents 20 |
  Select-Object TimeCreated, Id, LevelDisplayName, Message

Шаг 7: Изменение или удаление конфигурации

Set-NetLbfoTeam -Name "<<TEAM_NAME>>" -LoadBalancingAlgorithm HyperVPort
Remove-NetLbfoTeam -Name "<<TEAM_NAME>>"

После удаления настройте IP вручную для каждого адаптера.


Шаг 8: Рекомендации по проектированию отказоустойчивости

Тип конфигурации Особенности Рекомендуемое применение
Switch Independent + Dynamic Не требует настройки коммутатора, двусторонняя балансировка Малые и средние серверы
LACP Требует LAG на коммутаторе, повышает эффективность канала Среды с поддержкой LACP
Active/Standby Один активный, другой в режиме ожидания Максимальная стабильность

LBFO считается устаревшим для виртуальных сред; рекомендуется использовать SET (Switch Embedded Teaming) для Hyper-V и SDN.


Заключение

NIC Teaming с LBFO обеспечивает простую и надёжную отказоустойчивость и балансировку нагрузки.
Конфигурация Switch Independent + Dynamic наиболее удобна и стабильна для физических серверов малого и среднего уровня.
Периодически проверяйте журналы и проводите тесты отказа.
Для современных виртуальных сред предпочтительно использовать SET.