搭建方案
<!-- 图片缺失:gpu5090-hpn-weka-final-topology.svg -->GPU:20 台 8 卡 RTX 5090,合计 160 GPU
CPU:3 台控制面
存储:6 台 WEKA 存储节点
GPU 单机:2TB 内存,4 x 200G RDMA
存储网:WEKA Storage Fabric,2 x 200G 交换机
训练网:HPN 双 Plane,Plane A/B 物理隔离
**最终配置**
每台 GPU 服务器:
BMC:1 x 1G -> OOB
Mgmt/Service:2 x 25G -> MLAG/堆叠交换机
WEKA Storage:2 x 200G -> WEKA 存储交换机
HPN RDMA:4 x 200G
rdma0/mlx5_0 -> Plane A rail 0
rdma2/mlx5_2 -> Plane A rail 1
rdma1/mlx5_1 -> Plane B rail 0
rdma3/mlx5_3 -> Plane B rail 1
**网络分层**
OOB:
1 x 48口 1G,接所有服务器 BMC
Mgmt + Service:
2 x 48口 25G,MLAG/堆叠
VLAN10:K8s 管理、SSH、监控
VLAN20:Ingress、API、业务 Pod 流量
WEKA Storage:
2 x 200G 交换机
GPU/CPU/WEKA 存储节点双上联
跑数据集、模型权重、checkpoint
HPN Training:
Plane A/B 物理隔离
每台 GPU 4 张 RDMA,两个 rail 到 A,两个 rail 到 B
NCCL 走 mlx5_0,mlx5_1,mlx5_2,mlx5_3
**NCCL 分流**
训练时可以配置:
export NCCL_NET=IB
export NCCL_IB_HCA=mlx5_0,mlx5_1,mlx5_2,mlx5_3
NCCL 会把 AllReduce/AllGather 拆成多个 channel,分摊到 4 张 RDMA 卡上。存储流量不走 HPN,WEKA 单独走 Storage Fabric,这样 checkpoint 和数据读取不会干扰训练通信。
