Azure Local解决方案之iWARP网络交换机部署

适用文档:Azure Local及Windows Server 2025 HCI解决方案

范围 :以 S5248F-ON(iWARP 融合 + 非融合)为主型号做完整部署解读

配套网卡:QLogic 41262 / QL41232 / QL41262


一、iWARP 协议速览

|----------|-----------------------------------------------|
| 维度 | iWARP(QLogic 41262) |
| 传输层 | TCP(MPA / iWARP 跑在 TCP 之上) |
| 丢包容忍 | 天然容忍(TCP 自带重传 / 拥塞控制) |
| 交换机需要做什么 | 只开全局 Pause Flow → 拥塞时让对端停一下 |
| 关键命令 | flowcontrol receive on 一行 |
| 推荐场景 | 混合存储 / 中型 HCI / 不愿配 DCB |
| 文档脚注 | "For high I/O, such as all-NVMe, see RoCE 文档" |

设计哲学 :iWARP 把"网络必须无损"的责任上抛给 TCP(拥塞控制 + 重传),交换机只需"看到拥塞时按一下暂停键"------简单到极致。

代价 :iWARP 性能天花板比 RoCE 低(TCP 重传/拥塞控制/头部开销在每个 RTT 上累计,全闪 NVMe 场景会被拖累)。所以微软的官方建议:高 I/O / NVMe 选 RoCE,传统混合存储选 iWARP


二、S5248F-ON 端口布局

|----------------------|--------------------------------|---------------------|
| 端口范围 | 角色 | 物理类型 |
| 1/1/1 -- 1/1/46 | 节点下行 25G | 46 × SFP28 25G |
| 1/1/47 -- 1/1/48 | CUSTOMER.UPLINK(Po10 LACP) | 2 × QSFP28 100G |
| 1/1/49 -- 1/1/50 | VLTi | 2 × QSFP28 100G |
| mgmt1/1/1 | OOB 管理 | 1G RJ45 |

S5248F-ON = "48 口 25G 下行 + 2×100G 上行 + 2×100G VLTi"------大型 / 超大型 HCI 集群机型。

总规模

  • 融合 1 口/节点 = 46 节点
  • 非融合 mgmt+RDMA 各 1 口 = 23 节点

备注:不考虑特殊情况,如跨数据中心双活存在4条RDMA网络,以及自定义多条管理网络场景。


三、S5248F-ON 底层通用配置(iWARP 部署)

没有 dcbx / priority-flow-control / pfc-policy / ets-policy / trust dot1p-map / class-map------这一对比 RoCE 文档少了至少 30 行配置。

复制代码
! ============================================================
! S5248F-ON  iWARP 部署 - (配置摘选)
! 模式:Pause Flow(无 DCB / 无 PFC / 无 ETS / 无 DCBX)
! ============================================================

hostname OS10-S5248F-TOR1          ! TOR2 改成 OS10-S5248F-TOR2
!
! --- 启用 SSH / LLDP ---
ip ssh server enable
lldp enable
!
! --- OOB 管理 ---
interface mgmt1/1/1
 no shutdown
 no ip address dhcp
 ip address 192.168.255.1/30       ! TOR2 用 192.168.255.2/30
 ipv6 address autoconfig
!
! --- VLTi (TOR1↔TOR2, 2×100G LACP) ---
interface range ethernet1/1/49-1/1/50
 description VLTiLink
 mtu 9216
 flowcontrol receive on            ! iWARP 唯一要做的:全局 pause
 flowcontrol transmit off
 no shutdown
 no switchport
!
interface range ethernet1/1/47-1/1/48
 description CUSTOMER.UPLINK
 no shutdown
 channel-group 10 mode active
 no switchport
 flowcontrol receive on
 flowcontrol transmit off
!
! --- VLAN: 管理 / 存储(MTU 9216 全程)---
interface Vlan 200
 description MANAGEMENT
 no shutdown
 ip address 172.18.100.124/25      ! TOR2 用 .125
 vrrp-group 200
  virtual-address 172.18.100.126
!
interface Vlan 301
 description STORAGE-1
 no ip address
 mtu 9216
 no shutdown
!
interface Vlan 302
 description STORAGE-2
 no ip address
 mtu 9216
 no shutdown
!
interface Vlan 303                    ! 可选:第 3 个 RDMA 网段
 description STORAGE-3
 no ip address
 mtu 9216
 no shutdown
!
interface Vlan 304                    ! 可选:第 4 个 RDMA 网段
 description STORAGE-4
 no ip address
 mtu 9216
 no shutdown

通用基础设施速记

  • VLAN 200:管理(172.18.100.124/25,VRRP 虚拟 126)
  • VLAN 301:STORAGE-1(必备);VLAN 302--304:可选
  • MTU 9216 全程(巨型帧,SMB Direct 关键)
  • VLT:TOR1/TOR2 之间 2 根 100G LACP 互连 + 心跳,两台 TOR 表现成一台

备注:上述配置非完整配置,但有完整体现iWARP的需求配置。


四、S5248F-ON 融合场景(Converged)

所有 46 个 25G 下行口都是 NodeDCB------管理 + VM + RDMA 全部跑同一根线。

4.1 节点下行口配置(两台 TOR 一样)

复制代码
! ============================================================
! 融合模式: 1/1/1 - 1/1/46 全部 46 个 25G 口接节点
! 每个节点占 1-2 个口做 NIC Teaming
! VLAN 200/301/302/303/304 共享 trunk
! iWARP 模式: 一行 flowcontrol receive on
! ============================================================

interface range ethernet1/1/1-1/1/46
 description NodeDCB
 no shutdown
 switchport mode trunk
 switchport access vlan 1
 switchport trunk allowed vlan 200,301,302,303,304
 mtu 9216
 flowcontrol receive on            ! iWARP 唯一开关
 flowcontrol transmit off
 spanning-tree bpduguard enable
 spanning-tree port type edge
!
end
write memory

4.2 物理拓扑

复制代码
                  ┌────────────────────────────────────────────┐
                  │       TOR1  S5248F-ON (iWARP 融合)         │
                  │                                            │
                  │  1/1/1   Node 1                            │
                  │  1/1/2   Node 2                            │
                  │  1/1/3   Node 3                            │
                  │  1/1/4   Node 4                            │
                  │  ...                                       │
                  │  1/1/45                                    │
                  │  1/1/46                                    │
                  │                                            │
                  │  1/1/49 ──┐                                │
                  │  1/1/50 ──┴── VLTi (2×100G → TOR2)         │
                  │                                            │
                  │  1/1/47 ──┐                                │
                  │  1/1/48 ──┴── Uplink Po10 (2×100G → Spine) │
                  │                                            │
                  └────────────────────────────────────────────┘
                                          ║
                              2×100G VLTi ║  2×100G Uplink
                                          ║
                  ┌────────────────────────────────────────────┐
                  │       TOR2  S5248F-ON (iWARP 融合)         │
                  └────────────────────────────────────────────┘

每节点 2 根 25G → TOR (SET)
TOR1 ↔ TOR2 → 2 根 100G VLTi
TOR1/TOR2 → Spine → 2 根 100G LACP Po10

4.3 融合模式逻辑

  1. 每个节点到 TOR:1 根 25G 线,两台TOR,共计2根。
  2. 同一条 trunk 上跑 3 个 VLAN:管理 + 2 段存储
  3. iWARP 不需要 PFC/ETS 隔离 ------TCP 自带拥塞控制,所以即便管理流量和 RDMA 流量共用一根线,iWARP 也不会让 RDMA 风暴挤掉管理流量(TCP 一旦感知到拥塞会自动降速,而不是 UDP 那种"要么发要么丢")
  4. 上行 2×100G = TOR→Spine 200G 带宽 。iWARP 实际峰值 ~20Gbps/口,23 节点 × 2 口 × 25G 即使全打满也才 ~46Gbps 总入站,上行永远不是瓶颈
  5. VLTi 2×100G 让跨 TOR 流量也几乎不会成为瓶颈
  6. 对比 RoCE 融合 :RoCE 需要在每端口配 priority-flow-control mode on + pfc-policy + ets-policy + dcbx enableiWARP 融合就一行 flowcontrol receive on ------配置简单 80%,故障面也少 80%

五、S5248F-ON 非融合场景(Non-converged)

管理/心跳 走 1/1/1-23,RDMA 存储 走 1/1/24-46,两段物理口 + 两套 VLAN 列表

5.1 节点下行口配置(两台 TOR 一样)

复制代码
! ============================================================
! 非融合模式:
!   1/1/1  - 1/1/23  → NodeManagement   (VLAN 200)
!   1/1/24 - 1/1/46  → Storage          (VLAN 301-304)
! 每个节点占 1 mgmt + 1 storage 口(Teaming 时 ×2)
! 最大支持 23 节点单口 或 11 节点 4 口
! ============================================================

! --- A 段: 管理/心跳 (23 个 25G 口) ---
interface range ethernet1/1/1-1/1/23
 description NodeManagement
 no shutdown
 switchport mode trunk
 switchport access vlan 1
 switchport trunk allowed vlan 200
 mtu 9216
 flowcontrol receive on
 flowcontrol transmit off
 spanning-tree bpduguard enable
 spanning-tree port type edge
!

! --- B 段: 存储 RDMA (23 个 25G 口) ---
interface range ethernet1/1/24-1/1/46
 description Storage
 no shutdown
 switchport mode trunk
 switchport access vlan 1
 switchport trunk allowed vlan 301,302,303,304
 mtu 9216
 flowcontrol receive on            ! iWARP 唯一要做的(和 A 段一样!)
 flowcontrol transmit off
 spanning-tree bpduguard enable
 spanning-tree port type edge
!

end
write memory

5.2 物理拓扑

复制代码
                  ┌────────────────────────────────────────────┐
                  │       TOR1  S5248F-ON (iWARP 非融合)       │
                  │                                            │
                  │  === A 段: 管理 ===                        │
                  │  1/1/1    Node 1-Mgmt                      │
                  │  1/1/2    Node 2-Mgmt                      │
                  │  1/1/3    Node 3-Mgmt                      │
                  │  1/1/4    Node 4-Mgmt                      │
                  │  ...                                       │
                  │  === B 段: 存储 ===                        │
                  │  1/1/24   Node 1-RDMA                      │
                  │  1/1/25   Node 2-RDMA                      │
                  │  1/1/26   Node 3-RDMA                      │
                  │  1/1/27   Node 4-RDMA                      │
                  │  ...                                       │
                  │  1/1/49 ──┐                                │
                  │  1/1/50 ──┴── VLTi (2×100G → TOR2)         │
                  │  1/1/47 ──┐                                │
                  │  1/1/48 ──┴── Uplink Po10 (2×100G → Spine) │
                  └────────────────────────────────────────────┘
                                          ║
                              2×100G VLTi ║  2×100G Uplink
                                          ║
                  ┌────────────────────────────────────────────┐
                  │       TOR2  S5248F-ON (iWARP 非融合)       │
                  │  (同样 1/1/1-23 Mgmt, 1/1/24-46 RDMA)      │
                  └────────────────────────────────────────────┘

每节点: 1 根 25G Mgmt + 1 根 25G RDMA → TOR
TOR1 ↔ TOR2 → 2 根 100G VLTi
TOR1/TOR2 → Spine → 2 根 100G LACP Po10

5.3 非融合模式逻辑

  1. **A 段(1/1/1-23)和 B 段(1/1/24-46)**是物理上完全独立的两组口,VLAN 列表互不重叠
    1. A 段只放 vlan 200(管理)
    2. B 段只放 vlan 301-304(存储)
  2. iWARP 这里 A 段和 B 段的配置完全相同 ------都是 flowcontrol receive on不像 RoCE 非融合那样 B 段还要配 PFC/ETS
  3. 故障域隔离比 RoCE 更彻底 :即便 A 段或 B 段出 bug,完全不会通过流控机制污染另一段(因为没有 PFC,只有全局 pause------而全局 pause 也只会在本段口上冻,不会跨段传染)
  4. 最适合"重要生产 / 不希望 RDMA 干扰管理"的场景

六、节点侧(Windows Server)QLogic 41262 iWARP 配置

6.1 融合场景节点侧(每节点 1 张 QLogic 41262 双口)

复制代码
PowerShell(在每个 HCI 节点上执行):

# 1. 启用 RDMA
Enable-NetAdapterRdma -Name "Ethernet1","Ethernet2"

# 2. 启用 SMB Multichannel (iWARP RDMA 走这个)
Set-NetAdapterAdvancedProperty -Name "Ethernet1","Ethernet2" `
    -DisplayName "SMB Direct" -DisplayValue "Enabled" `
    -RegistryKeyword "SmbDirect" -RegistryValue 1

# 3. 关闭 VMQ(避免和 RDMA 抢资源;Azure Local推荐)
Set-NetAdapterVmq -Name "Ethernet1","Ethernet2" -Enabled $false

# 4. Jumbo Frame (MTU 9014 = 9216 - 802.1Q - 2)
netsh interface ipv4 set subinterface "Ethernet1" mtu=9014 store=persistent
netsh interface ipv4 set subinterface "Ethernet2" mtu=9014 store=persistent

# 5. 验证 RDMA 已就绪
Get-NetAdapterRdma | Format-Table Name, Enabled, RdmaRunning
# 期望: Name=... Enabled=True RdmaRunning=True

# 6. 看 iWARP (不是 RoCE)
Get-NetAdapterHardwareInfo -Name "Ethernet1" | Select Name, DriverProvider
# QLogic 41262 看到: QLogic Corporation

6.2 非融合场景节点侧(每节点 2 张网卡)

|----------------------|-----------------|------------|------------------|
| 网卡 | 角色 | 端口号 | 接 TOR 口 |
| 板载 25G (或第一张 QLogic) | Management + VM | eth1, eth2 | TOR 1/1/1-23 区段 |
| 第二张 QLogic 41262 | Storage (RDMA) | eth3, eth4 | TOR 1/1/24-46 区段 |

复制代码
PowerShell(在每个 HCI 节点上执行):

# === Management 25G (走 TOR 1/1/1-23) ===
# 不开 RDMA, 只跑 TCP 管理/SMB 客户端
Set-NetAdapterVmq -Name "Ethernet1","Ethernet2" -Enabled $false
netsh interface ipv4 set subinterface "Ethernet1" mtu=9014 store=persistent
netsh interface ipv4 set subinterface "Ethernet2" mtu=9014 store=persistent

# === Storage 25G (走 TOR 1/1/24-46) ===
Enable-NetAdapterRdma -Name "Ethernet3","Ethernet4"
Set-NetAdapterAdvancedProperty -Name "Ethernet3","Ethernet4" `
    -DisplayName "SMB Direct" -DisplayValue "Enabled" `
    -RegistryKeyword "SmbDirect" -RegistryValue 1
Set-NetAdapterVmq -Name "Ethernet3","Ethernet4" -Enabled $false
netsh interface ipv4 set subinterface "Ethernet3" mtu=9014 store=persistent
netsh interface ipv4 set subinterface "Ethernet4" mtu=9014 store=persistent

# === 验证 ===
Get-NetAdapterRdma
# Ethernet3, Ethernet4 → Enabled=True, RdmaRunning=True
# Ethernet1, Ethernet2 → Enabled=False (管理口不开 RDMA)

6.3 SMB Multichannel 配置(让 RDMA 走指定 QLogic 口)

复制代码
# 配置 SMB Multichannel: 强制 SMB 走 RDMA 优先
Set-SmbClientConfiguration -EnableMultichannel $true -Force
Set-SmbServerConfiguration -EnableMultichannel $true -Force

# (可选) 限制 SMB Multichannel 只用 RDMA 网卡
# 让 RDMA 流量不会"漂"到管理口
Set-SmbClientConfiguration -RdmaNetworkInterfaces "Ethernet3,Ethernet4" -Force
Set-SmbServerConfiguration -RdmaNetworkInterfaces "Ethernet3,Ethernet4" -Force

# 验证
Get-SmbMultichannelConnection | Format-List
# 期望看到: RDMA 状态 = True, NetworkInterface = Ethernet3 / Ethernet4

七、融合 vs 非融合 对照表(S5248F-ON iWARP)

|----------------------|--------------------------|-------------------------------------------|
| 维度 | 融合 Converged | 非融合 Non-converged |
| 下行 25G 口使用 | 1/1/1-46(46 口全用) | 1/1/1-23 Mgmt(23 口)+ 1/1/24-46 RDMA(23 口) |
| 最大节点数(单口) | 46 | 23 |
| 每节点 NIC 数 | 1 张(双口 25G) | 2 张(mgmt + RDMA 各一张) |
| VLAN | 200/301-304 共存于每条 trunk | A 段只放 200;B 段只放 301-304 |
| Flow Control 命令 | flowcontrol receive on | flowcontrol receive on(一样) |
| PFC / ETS / DCBX | 不需要 | 不需要 |
| VLTi 链路 | 2×100G(1/1/49-50) | 2×100G(1/1/49-50) |
| Uplink 链路 | 2×100G Po10(1/1/47-48) | 2×100G Po10(1/1/47-48) |
| 故障隔离 | 软隔离(iWARP TCP 拥塞控制) | 硬隔离(VLAN + 物理口双隔离) |
| 配置复杂度 | 一段 range 命令 | 两段 range 命令(但配置相同) |
| 典型场景 | 通用 HCI / 追求节点密度 | 大型 / 关键生产 / 严格隔离 |


八、S5248F-ON QoS策略与分层

8.1 底层 QoS 策略(两台 TOR 通用)

复制代码
! ============================================================
! S5248F-ON  iWARP 部署 - 完整 QoS(含带宽分配百分比)
! 模式:Pause Flow + 802.1p 标记 + WRR 队列调度(无 DCB / 无 PFC / 无 ETS)
! ============================================================

hostname OS10-S5248F-TOR1
!
ip ssh server enable
lldp enable
!

! ============================================================
! 1) 队列 class-map
! ============================================================
class-map type queuing Q0
 match queue 0                          ! 管理 / VM / Live Migration
class-map type queuing Q4
 match queue 4                          ! iWARP RDMA (S2D SMB Direct)
class-map type queuing Q5
 match queue 5                          ! 集群心跳
class-map type queuing Q7
 match queue 7                          ! 网络控制
!

! ============================================================
! 2) 网络 qos class-map: 802.1p → qos-group
! ============================================================
class-map type network-qos ManagementTraffic
 match qos-group 0
class-map type network-qos RdmaTraffic
 match qos-group 4
class-map type network-qos HeartbeatTraffic
 match qos-group 5
class-map type network-qos NetworkControl
 match qos-group 7
!

! ============================================================
! 3) 802.1p → qos-group 映射
! ============================================================
trust dot1p-map trust_map
 qos-group 0 dot1p 0-3,6               ! 管理/VM/普通数据 → queue 0
 qos-group 4 dot1p 4                   ! iWARP RDMA → queue 4
 qos-group 5 dot1p 5                   ! 集群心跳 → queue 5
 qos-group 7 dot1p 7                   ! 网络控制 → queue 7
!

! ============================================================
! 4) qos-group → 队列映射
! ============================================================
qos-map traffic-class queue-map
 queue 0 qos-group 0-3,6               ! 管理/VM → queue 0
 queue 4 qos-group 4                   ! iWARP RDMA → queue 4
 queue 5 qos-group 5                   ! 集群心跳 → queue 5
 queue 7 qos-group 7                   ! 网络控制 → queue 7
!

! ============================================================
! 5) ★ WRR 带宽分配策略 (policy-map)
! ============================================================
policy-map type queuing wrr-policy
 !
 class Q7                                ! 网络控制
  bandwidth percent 5
  priority                               ! 严格优先级(控制面不能丢)
 !
 class Q5                                ! 集群心跳
  bandwidth percent 5
 !
 class Q4                                ! iWARP RDMA
  bandwidth percent 70                   ! ★ 核心: 70% 给 SMB Direct
 !
 class Q0                                ! 管理/VM
  bandwidth percent 20
!
! 注: 5+5+70+20 = 100%, iWARP 拿大头
! 注: queue 7 标了 priority, 拥塞时先发(严格优先级)
!     WRR 只对非 priority 队列生效

! ============================================================
! 6) 系统级 trust + WRR 应用
! ============================================================
system qos
 trust-map dot1p trust_map
 service-policy output type queuing wrr-policy   ! ★ 全局应用 WRR
!
! ============================================================
! VLTi (TOR1↔TOR2, 2×100G LACP)
! ============================================================
interface range ethernet1/1/49-1/1/50
 description VLTiLink
 mtu 9216
 flowcontrol receive on
 flowcontrol transmit off
 no shutdown
 no switchport
 trust dot1p-map trust_map             ! 跨 TOR 保留 802.1p
!

8.2 融合场景(含 QoS 分层)

复制代码
! ============================================================
! 融合模式: 1/1/1-46 全部 46 个 25G 口
! VLAN 200/301-304 共存, 靠 802.1p + WRR 区分优先级
! ============================================================

interface range ethernet1/1/1-1/1/46
 description NodeDCB
 no shutdown
 switchport mode trunk
 switchport access vlan 1
 switchport trunk allowed vlan 200,301,302,303,304
 mtu 9216
 flowcontrol receive on
 flowcontrol transmit off
 !
 ! --- 节点口: 信任 802.1p + WRR 队列调度 ---
 trust dot1p-map trust_map
 service-policy output type queuing wrr-policy   ! ★ 关键
 qos-map traffic-class queue-map
 !
 spanning-tree bpduguard enable
 spanning-tree port type edge
!
end
write memory

8.3. 非融合场景(含 QoS分层)

复制代码
! ============================================================
! 非融合模式:
!   A 段 (1/1/1-23)  → Mgmt (queue 0, 20% 带宽)
!   B 段 (1/1/24-46) → RDMA (queue 4, 70% 带宽 + 严格 priority)
! 物理隔离 + WRR 隔离双保险
! ============================================================

! --- A 段: 管理/心跳 (23 个 25G 口) ---
interface range ethernet1/1/1-1/1/23
 description NodeManagement
 no shutdown
 switchport mode trunk
 switchport access vlan 1
 switchport trunk allowed vlan 200
 mtu 9216
 flowcontrol receive on
 flowcontrol transmit off
 !
 ! --- Mgmt 段: 走 queue 0, 20% WRR ---
 trust dot1p-map trust_map
 service-policy output type queuing wrr-policy
 qos-map traffic-class queue-map
 !
 spanning-tree bpduguard enable
 spanning-tree port type edge
!

! --- B 段: 存储 RDMA (23 个 25G 口) ---
interface range ethernet1/1/24-1/1/46
 description Storage
 no shutdown
 switchport mode trunk
 switchport access vlan 1
 switchport trunk allowed vlan 301,302,303,304
 mtu 9216
 flowcontrol receive on
 flowcontrol transmit off
 !
 ! --- RDMA 段: 走 queue 4, 70% WRR ---
 trust dot1p-map trust_map
 service-policy output type queuing wrr-policy
 qos-map traffic-class queue-map
 !
 spanning-tree bpduguard enable
 spanning-tree port type edge
!
end
write memory

8.4 iWARP 部署的 QoS 小结

  1. 硬流控 = 全局 pauseflowcontrol receive on
  2. 软 QoS = WRR 带宽分配
    1. queue 7 (网络控制): 5% + strict priority
    2. queue 5 (集群心跳): 5%
    3. queue 4 (iWARP RDMA): 70% ← SMB Direct 核心
    4. queue 0 (管理/VM): 20%
  3. 节点侧必须打 COS 4 标记(QLogic Priority=4 高级属性),否则所有流量进 queue 0,WRR 70% 形同虚设
  4. 融合 vs 非融合的差异:融合只有 WRR 软隔离;非融合物理隔离 + WRR 双保险
  5. 和 RoCE 的 48/50/2 ETS 硬性分配不同 :iWARP 的 20/70/5/5 是 WRR 建议性权重,TCP 拥塞控制会动态调整,不会"零丢包但饿死 VM"

九、总结

S5248F-ON iWARP 部署 = "46 口 25G 下行 + 2×100G VLTi + 2×100G 上行" + "一行 flowcontrol receive on "

融合模式 用一个 range 块(1/1/1-46)跑所有业务,靠 iWARP 的 TCP 拥塞控制自动协调;非融合模式用两个 range 块(1/1/1-23 + 1/1/24-46)物理隔离,靠 VLAN 列表 + 物理口双保险。

和 RoCE 同型号部署对比少了 30+ 行 DCB 配置 (pfc-policy、ets-policy、dcbx、trust-map、class-map 全砍掉),多 0 行 ------iWARP 的简单是它最大的卖点,代价是不适合全 NVMe 高 IOPS 场景

节点侧 :QLogic 41262 + 启用 RDMA + SMB Multichannel + MTU 9014,SMB 直通就完事了。