# Hyper-V设置双网卡 LBFO Teaming技术

在 **Windows Server 2025 + Hyper-V** 环境中，微软已经不推荐在 Hyper-V 虚拟交换机场景下使用传统的 **LBFO Teaming（NIC Teaming）**，而是推荐使用 **SET（Switch Embedded Teaming）**。

SET 是 Hyper-V 虚拟交换机内置的网卡聚合技术，性能更好，也支持 SDN、VMQ、VMMQ、RDMA 等现代特性。

---

# 一、SET 架构示意

假设服务器有两块万兆网卡：

```text
Intel X710 Port1   10G
Intel X710 Port2   10G

```

连接到同一台交换机：

```text
           H3C交换机
          ┌─────────┐
10G ------│         │
10G ------│         │
          └─────────┘
                │
                │
           防火墙

```

服务器：

```text
Hyper-V Host
    │
    ├── NIC1
    ├── NIC2
    │
    └── SET Team
            │
     Hyper-V vSwitch
            │
       所有虚拟机

```

---

# 二、查看网卡名称

PowerShell：

```powershell
Get-NetAdapter

```

例如：

```text
Name          Status LinkSpeed
----          ------ ---------
NIC1          Up     10 Gbps
NIC2          Up     10 Gbps

```

---

# 三、创建 SET Team

创建 Hyper-V 虚拟交换机时直接启用 SET。

### 创建外部交换机

```powershell
New-VMSwitch `
-Name "vSwitch-SET" `
-NetAdapterName "NIC1","NIC2" `
-AllowManagementOS $true `
-EnableEmbeddedTeaming $true

```

参数说明：

```text
-AllowManagementOS $true

```

允许宿主机使用此交换机。

```text
-EnableEmbeddedTeaming $true

```

启用 SET。

---

创建后查看：

```powershell
Get-VMSwitch

```

结果类似：

```text
Name          SwitchType
----          ----------
vSwitch-SET   External

```

---

# 四、验证 SET 是否成功

查看 Team 成员：

```powershell
Get-VMSwitchTeam

```

结果：

```text
Name         NetAdapterInterfaceDescription
----         ------------------------------
vSwitch-SET  NIC1
vSwitch-SET  NIC2

```

---

# 五、配置负载均衡模式

查看：

```powershell
Get-VMSwitchTeam

```

设置：

```powershell
Set-VMSwitchTeam `
-Name "vSwitch-SET" `
-LoadBalancingAlgorithm Dynamic

```

推荐：

```text
Dynamic

```

不要使用：

```text
HyperVPort

```

除非特殊需求。

---

# 六、给宿主机分配管理IP

创建后会生成：

```text
vEthernet (vSwitch-SET)

```

查看：

```powershell
Get-NetAdapter

```

例如：

```text
vEthernet (vSwitch-SET)

```

配置IP：

```powershell
New-NetIPAddress `
-InterfaceAlias "vEthernet (vSwitch-SET)" `
-IPAddress 192.168.1.10 `
-PrefixLength 24 `
-DefaultGateway 192.168.1.1

```

DNS：

```powershell
Set-DnsClientServerAddress `
-InterfaceAlias "vEthernet (vSwitch-SET)" `
-ServerAddresses 192.168.1.2,8.8.8.8

```

---

# 七、配置 VLAN（推荐）

如果交换机划分 VLAN：

例如：

```text
VLAN 10 管理
VLAN 20 服务器
VLAN 30 存储

```

宿主机管理网络：

```powershell
Set-VMNetworkAdapterVlan `
-ManagementOS `
-VMNetworkAdapterName "vEthernet (vSwitch-SET)" `
-Access `
-VlanId 10

```

---

# 八、虚拟机连接

虚拟机网卡：

```text
VM01
VM02
VM03
...

```

全部连接：

```text
vSwitch-SET

```

即可。

---

# 九、交换机配置

如果接入的是 H3C 交换机，建议：

### 方式1：普通 Trunk（推荐）

交换机：

```text
Ten-GigabitEthernet1/0/1
Ten-GigabitEthernet1/0/2

```

配置：

```text
port link-type trunk

```

允许：

```text
vlan 10
vlan 20
vlan 30

```

通过。

---

### 方式2：LACP 聚合（可选）

SET 不要求 LACP。

微软官方推荐：

```text
Switch Independent

```

模式。

因此交换机无需：

```text
Bridge-Aggregation

```

也能工作。

---

# 十、性能优化参数

查看：

```powershell
Get-NetAdapterAdvancedProperty

```

开启：

### VMQ

```powershell
Enable-NetAdapterVmq NIC1
Enable-NetAdapterVmq NIC2

```

---

### RSS

```powershell
Enable-NetAdapterRSS NIC1
Enable-NetAdapterRSS NIC2

```

---

### Jumbo Frame

```powershell
Set-NetAdapterAdvancedProperty `
-Name NIC1 `
-DisplayName "Jumbo Packet" `
-DisplayValue "9014 Bytes"

```

NIC2 同样配置。

交换机端也要同步开启 MTU 9000。

---

# 十一、针对您的环境建议

如果您的服务器：

```text
Windows Server 2025 Datacenter

Hyper-V
20+ VM

MySQL
MongoDB
Tomcat
Wazuh
文件服务器
ERP系统

```

建议配置：

```text
2 × 10G 网卡
      ↓
SET Team
      ↓
vSwitch
      ↓
万兆交换机
      ↓
H3C F1000-750-HI

```

网络划分：

<table id="bkmrk-vlan-%E7%94%A8%E9%80%94-vlan-10-%E7%AE%A1%E7%90%86%E7%BD%91%E7%BB%9C"><thead><tr><th>VLAN</th><th>用途</th></tr></thead><tbody><tr><td>VLAN 10</td><td>管理网络</td></tr><tr><td>VLAN 20</td><td>虚拟机业务网络</td></tr><tr><td>VLAN 30</td><td>存储网络</td></tr><tr><td>VLAN 40</td><td>备份网络</td></tr><tr><td>VLAN 50</td><td>Hyper-V Live Migration</td></tr></tbody></table>

这样既能获得双万兆链路冗余，又能避免单网卡故障导致所有虚拟机中断，同时具备后续扩展第二台 Hyper-V 主机和 Hyper-V 集群的能力。