- Обзор
- Используемые переменные
- Шаг 1: Проверка сетевых адаптеров
- Шаг 2: Создание команды (LBFO)
- Шаг 3: Настройка IP и DNS
- Шаг 4: Проверка состояния команды
- Шаг 5: Тестирование отказоустойчивости
- Шаг 6: Мониторинг и журналы событий
- Шаг 7: Изменение или удаление конфигурации
- Шаг 8: Рекомендации по проектированию отказоустойчивости
- Заключение
Обзор
В этой статье рассматриваются шаги по настройке 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: Тестирование отказоустойчивости
Проверьте, как работает переключение при отказе.
- Отключите
<<ADAPTER1>>(кабель или программно):
Disable-NetAdapter -Name "<<ADAPTER1>>" -Confirm:$false
- Проверьте состояние:
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.
