Azure Local解决方案之RoCE(v2)网络交换机部署

Azure Local或Windows Server 2025 HCI解决方案中如何部署TOR网络交换机?下面的实例以DELL S5232F-ON以及服务器网卡为Mellanox CX5/6 25GB网卡为例。(下文端口规划可根据实际节点数量与客户建议自行调整)

一、S5232F-ON 的端口布局规划

端口范围 角色 物理接口类型 备注
1/1/1 -- 1/1/16 节点下行 16 个 SFP28(25G/10G) NodeDCB / NodeManagement / Storage 都在这一段
1/1/17 -- 1/1/30 备用(文档未指定) SFP28 默认进 vlan 2 关闭
1/1/31 -- 1/1/32 VLTi 2 个 QSFP28(100G) 实际部署时常用 100G DAC/光模块直连
1/1/33 -- 1/1/34 CUSTOMER.UPLINK(Po10 LACP) 2 个 QSFP28(100G)→ 100G 上行 这就是 S5232F-ON 的"杀手锏"
mgmt1/1/1 OOB 管理 1G RJ45

S5232F-ON 是 "16 口 25G 下行 + 2×100G 上行 + 2×100G VLTi" 的设计------上行和 VLTi 全部 100G。


二、底层 QoS/PFC/ETS 配置

所有基于 RoCE RDMA的TOR 交换机都要使用以下命令:

复制代码
trust dot1p-map trust_map
 qos-group 0 dot1p 0-2,4,6-7   ! 管理 / TCP 普通流量
 qos-group 3 dot1p 3            ! SMB Direct (RDMA) ← 唯一受 PFC 保护
 qos-group 5 dot1p 5            ! 心跳

qos-map traffic-class queue-map
 queue 0 qos-group 0-2,4,6-7
 queue 3 qos-group 3
 queue 5 qos-group 5

policy-map type queuing ets-policy
 class Q0  bandwidth percent 48
 class Q3  bandwidth percent 50    ! RDMA 50%
 class Q5  bandwidth percent 2     ! 心跳 2%

policy-map type network-qos pfc-policy
 class SmbStorage
  pause
  pfc-cos 3                       ! 只有 COS3 无损

dcbx enable

三、融合场景(Converged)

管理 + 计算 + RDMA 存储共用一对 TOR 的 1/1/1--16 全部 16 个 25G 口。

拓扑

复制代码
                  ┌───────────────────────────────────────────┐
                  │            TOR1  S5232F-ON                │
                  │                                           │
                  │   1/1/1 ─── Node1 (25G)                   │
                  │   1/1/2 ─── Node2 (25G)                   │
                  │   1/1/3 ─── Node3 (25G)                   │
                  │   1/1/4 ─── Node4 (25G)                   │
                  │   1/1/5 ─── Node5 (25G)                   │
                  │   1/1/6 ─── Node6 (25G)                   │
                  │   1/1/7 ─── Node7 (25G)                   │
                  │   1/1/8 ─── Node8 (25G)                   │
                  │   1/1/9 ─── Node9 (25G)                   │
                  │   1/1/10 ─── Node10 (25G)                 │
                  │   1/1/11 ─── Node11 (25G)                 │
                  │   1/1/12 ─── Node12 (25G)                 │
                  │   1/1/13 ─── Node13 (25G)                 │
                  │   1/1/14 ─── Node14 (25G)                 │
                  │   1/1/15 ─── Node15 (25G)                 │
                  │   1/1/16 ─── Node16 (25G)                 │
                  │                                           │
                  │   1/1/31 ───┐                             │
                  │   1/1/32 ───┴─ VLTi (2×100G)              │
                  │   1/1/33 ───┐                             │ 
                  │   1/1/34 ───┴─ Uplink (2×100G → Spine)    │
                  │                                           │
                  │   mgmt1/1/1 ─── OOB 192.168.255.1/30      │
                  └───────────────────────────────────────────┘
                                          ║
                              2×100G VLTi ║  2×100G Uplink
                                          ║
                  ┌──────────────────────────────────────────┐
                  │            TOR2  S5232F-ON               │
                  │   (同样 16 口下行到 Node1--8               │
                  │    镜像到 TOR1 形成 VLT pair)             │
                  └──────────────────────────────────────────┘
                                          │
                                          └──→ Spine (上联)

关键配置(两台 TOR 一样)

节点下行口(1/1/1--16)------全 DCB:

复制代码
interface range ethernet1/1/1-1/1/16
 description NodeDCB                   ! 16 口统一命名 NodeDCB
 switchport mode trunk
 switchport trunk allowed vlan 200,301,302
 mtu 9216
 flowcontrol receive off
 flowcontrol transmit off
 priority-flow-control mode on
 service-policy input type network-qos pfc-policy
 service-policy output type queuing ets-policy
 ets mode on
 qos-map traffic-class queue-map
 spanning-tree bpduguard enable
 spanning-tree port type edge

VLTi(1/1/31--32)------ 100G 全双工,是瓶颈分散点:

复制代码
interface range ethernet1/1/31-1/1/32
 description VLTiLink
 mtu 9216
 flowcontrol receive off
 flowcontrol transmit off
 priority-flow-control mode on            ! 100G 也要 PFC,因为两台 TOR 之间
 service-policy input type network-qos pfc-policy
 service-policy output type queuing ets-policy
 ets mode on
 qos-map traffic-class queue-map
 no shutdown
 no switchport

上行 Po10(1/1/33--34)------ 100G LACP:

复制代码
interface port-channel10
 description DataCenterUplink
 switchport mode trunk
 switchport trunk allowed vlan 200
 vlt-port-channel 10

interface range ethernet1/1/33-1/1/34
 description CUSTOMER.UPLINK
 channel-group 10 mode active
 no switchport
 flowcontrol receive on                   ! 上行只接收 pause,不发送
 flowcontrol transmit off                 ! 防止冻住下游

融合场景的逻辑(和 S5112F-ON 一致,规模 ×2)

  • 每节点占 1个 25G 口(统一配置Trunk)。
  • 管理 + RDMA 全部走同一根线,靠 PFC/ETS 隔离
  • **如果核心交换机有条件,上行 2×100G,**TOR→Spine 的带宽不再可能是瓶颈。
  • VLTi 2×100G------双 100G 互连允许每台 TOR 在 100G 量级跨过对端 TOR。

四、非融合场景(Non-converged)

管理/心跳RDMA 存储 走 S5232F-ON 不同的下行口,16 口对半开。

拓扑

复制代码
                  ┌───────────────────────────────────────────┐
                  │            TOR1  S5232F-ON                │
                  │                                           │
                  │   1/1/1 ─── Node1-Mgmt1 (25G)  TCP only   │
                  │   1/1/2 ─── Node2-Mgmt2 (25G)  TCP only   │
                  │   1/1/3 ─── Node3-Mgmt1 (25G)  TCP only   │
                  │   1/1/4 ─── Node4-Mgmt2 (25G)  TCP only   │
                  │   1/1/5 ─── Node5-Mgmt1 (25G)  TCP only   │
                  │   1/1/6 ─── Node6-Mgmt2 (25G)  TCP only   │
                  │   1/1/7 ─── Node7-Mgmt1 (25G)  TCP only   │
                  │   1/1/8 ─── Node8-Mgmt2 (25G)  TCP only   │
                  │                                           │
                  │   1/1/9 ─── Node1-RDMA1 (25G)  PFC+ETS    │
                  │   1/1/10 ─── Node2-RDMA2 (25G) PFC+ETS    │
                  │   1/1/11 ─── Node3-RDMA1 (25G) PFC+ETS    │
                  │   1/1/12 ─── Node4-RDMA2 (25G) PFC+ETS    │
                  │   1/1/13 ─── Node5-RDMA1 (25G) PFC+ETS    │
                  │   1/1/14 ─── Node6-RDMA2 (25G) PFC+ETS    │
                  │   1/1/15 ─── Node7-RDMA1 (25G) PFC+ETS    │
                  │   1/1/16 ─── Node8-RDMA2 (25G) PFC+ETS    │
                  │                                           │
                  │   1/1/31 ───┐                             │
                  │   1/1/32 ───┴─ VLTi (2×100G)              │
                  │   1/1/33 ───┐                             │
                  │   1/1/34 ───┴─ Uplink (2×100G → Spine)    │
                  └───────────────────────────────────────────┘
                                          ║
                              2×100G VLTi ║  2×100G Uplink
                                          ║
                  ┌──────────────────────────────────────────┐
                  │            TOR2  S5232F-ON               │
                  │   (同样 1/1/1--8 → Node1--4 Mgmt,          │
                  │    1/1/9--16 → Node1--4 RDMA,              │
                  │    镜像 VLT pair)                        │
                  └──────────────────────────────────────────┘

关键配置

A 段:管理/心跳下行口(1/1/1--8)------只用全局 pause,不上 PFC:

复制代码
interface range ethernet1/1/1-1/1/8
 description NodeManagement
 switchport mode trunk
 switchport trunk allowed vlan 200         ! 只放行管理 VLAN
 mtu 9216
 flowcontrol receive on                    ! ★ 全局 pause,不用 PFC
 flowcontrol transmit off
 spanning-tree bpduguard enable
 spanning-tree port type edge

B 段:存储下行口(1/1/9--16)------全 DCB(PFC+ETS+DCBX):

复制代码
interface range ethernet1/1/9-1/1/16
 description Storage
 switchport mode trunk
 switchport trunk allowed vlan 301,302     ! ★ 只放行存储 VLAN
 mtu 9216
 flowcontrol receive off
 flowcontrol transmit off
 priority-flow-control mode on
 service-policy input type network-qos pfc-policy
 service-policy output type queuing ets-policy
 ets mode on
 qos-map traffic-class queue-map
 spanning-tree bpduguard enable
 spanning-tree port type edge

VLTi 和 Uplink 配置与融合场景完全相同。

非融合场景的逻辑

  • 8 个管理口(1/1/1--8) + 8 个存储口(1/1/9--16) = 每节点用 1 个 Mgmt + 1 个 Storage 口
  • VLAN 物理隔离:管理 VLAN 200 不会进 1/1/9--16,存储 VLAN 301/302 不会进 1/1/1--8------比融合场景"靠 PFC 隔离"更彻底。
  • 故障域更小:管理口就算有 bug / 风暴,RDMA 队列完全不受波及。

五、融合 vs 非融合 对照表

维度 融合 Converged 非融合 Non-converged
下行 25G 节点口 1/1/1--16 全是 NodeDCB(16 口) 1/1/1--8 NodeManagement(8 口)+ 1/1/9--16 Storage(8 口)
节点数 16 8(管理 8 + 存储 8)
VLAN 200/301/302 同时跑 16 口 200 只进 1/1/1--8;301/302 只进 1/1/9--16
Flow Control 节点口全 PFC(PFC 必备) 管理口 flowcontrol receive on(全局 pause);存储口 PFC on
PFC/ETS 16 口全开 只在 8 个存储口开
VLTi 链路 2×100G(1/1/31--32) 2×100G(1/1/31--32)
Uplink 链路 2×100G(1/1/33--34) 2×100G(1/1/33--34)
每节点最少网卡 2×25G(分别接2台TOR) 4×25G(mgmt + RDMA 物理分开,接2台TOR)
故障隔离 软隔离(靠 PFC/ETS) 硬隔离(VLAN + 物理口双隔离)

六、几个 S5232F-ON 专属的注意点

  1. VLTi 现在是 100G × 2 。S5112F-ON 上 2×25G VLTi 很容易被 RDMA 流量打满(8 节点 × 25G 单向就能吃掉 25G),但 S5232F-ON 上 2×100G VLTi 在 16 节点融合部署下也不会成为瓶颈------S5232F-ON 真正是为大规模 HCI 设计的。

  2. 上行 2×100G 也是同理。融合场景下 16 节点 × 双向 25G RDMA = 理论 400G 流量(不可能全打满,但峰值能到 200G),2×100G = 200G 正好顶上。

  3. 1/1/17--1/1/30 留空。文档 Table 17/18 没有指定这些口。

  4. S5232F-ON 的 QSFP28 口是 100G 模式,虽然也可以拆 breakout,但文档样例直接用 100G 模块------经济性和带宽都更优。

  5. 非融合的"管理口"和"存储口" 是同一型号交换机上的不同下行口,节点仍然要插两张 25G 网卡(Mellanox ConnectX-5/6 + 板载 25G)。

  6. DCBX 仍然要 enable。无论融合还是非融合,Mellanox CX5/CX6 网卡在节点侧要通过 DCBX 拿到对端的 PFC/ETS 参数。如果网卡 DCBX 是"willing"或"disabled",整个 RDMA 链路会变成"软无损",掉一两个包 SMB 性能就跌。


七、一句话总结

S5232F-ON = "16 口 25G 下行 + 2×100G VLTi + 2×100G 上行" 。融合场景把 16 个 25G 全开 DCB(PFC+ETS),非融合场景对半开(8 口走全局 pause 跑管理、8 口走 PFC 跑 RDMA)。所有型号共用同一套 trust-map / ETS 比例 / pfc-cos 3 / DCBX 底层配置------这份文档妙就妙在把"做事的策略"(48/50/2、COS3 无损)和"硬件的拓扑"(哪些口给谁用)解耦了,换型号只需要改 Table 8/11/14/17 那段端口范围,剩下照搬。