概述
本文讲解在 Windows Server 环境中配置 NIC 团队(NIC Teaming)和设计网络冗余的方法。
通过使用 LBFO(Load Balancing and Failover)实现 Switch Independent 模式 + 动态负载均衡(Dynamic Load Balancing),并介绍故障转移(Failover)测试与事件日志监控。
变量说明
以下变量需根据实际环境替换。
| 变量名 | 示例值 | 说明 |
|---|---|---|
<<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 的网卡可用于 NIC Teaming。
步骤 2:创建团队(LBFO 模式)
负载均衡算法对比
| 算法名称 | 支持模式 | 特点 | 主要用途 |
|---|---|---|---|
| AddressHash | Switch Independent / Static / LACP | 根据源和目标 IP、端口进行哈希分配 | 通用服务器通信 |
| HyperVPort | Switch Independent / LACP | 按 VM 或虚拟网卡分配,均衡接收负载 | 适用于 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
为团队虚拟网卡配置 IPv4 地址。若使用 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:故障转移测试(Failover)
验证冗余是否生效。
- 拔掉
<<ADAPTER1>>网线或禁用网卡:
Disable-NetAdapter -Name "<<ADAPTER1>>" -Confirm:$false
- 检查状态后重新启用:
Get-NetLbfoTeamMember -Team "<<TEAM_NAME>>"
Enable-NetAdapter -Name "<<ADAPTER1>>"
若 <<ADAPTER2>> 保持 Active 并通信正常,说明故障转移功能正常。
步骤 6:事件日志与监控
查看与 LBFO 相关的事件日志:
Get-WinEvent -LogName "Microsoft-Windows-MsLbfoProvider/Operational" -MaxEvents 20 |
Select-Object TimeCreated, Id, LevelDisplayName, Message
查看系统事件:
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 已被视为 过时(deprecated),推荐使用 SET(Switch Embedded Teaming)。
总结
LBFO 模式的 NIC 团队提供了简洁但高效的冗余与负载均衡。
Switch Independent + Dynamic 是最易维护、最稳定的配置,适用于小到中型物理服务器。
请定期执行故障转移测试并监控事件日志,以确保持续稳定运行。
对于 Hyper-V 或 SDN 环境,建议迁移至 SET 方案。
