从2节点到8节点集群spark-vllm-docker的DGX Spark组网拓扑完全指南直连、3节点Mesh、交换机【免费下载链接】spark-vllm-dockerDocker configuration for running VLLM on dual DGX Sparks项目地址: https://gitcode.com/gh_mirrors/sp/spark-vllm-dockerspark-vllm-docker 是一个专为 DGX Spark 打造的 vLLM Docker 集群方案覆盖从单节点、双机直连、3 节点 Mesh 到 8 节点交换机组网的完整拓扑内置 RDMA/RoCE 加速与集群自动发现。本指南帮你按机器数量选对组网方式并一步步完成配置。一、先搞清楚DGX Spark 的网卡有什么特殊体质组网之前必须先理解 DGX Spark 的 ConnectX 网卡结构这是所有配置的地基详见 docs/NETWORKING.md想要200G 链路速度ConnectX 网卡需要约 x8 条 PCIe 5.0 通道但 Spark 的 SOC 硬件限制每个设备最多 x4 通道因此一个物理 QSFP 口由两对双胞胎接口共享以太网孪生口如enp1s0f1np1和enP2p1s0f1np1RoCE 孪生口如rocep1s0f1和roceP2p1s0f1每一对孪生口各提供约100G带宽两个 RoCE 口同时用才能跑满 NCCL RDMA 模式的全带宽。两个实用结论IP 只需配在一个以太网上vLLM 走 RoCE以太网速率不重要但NCCL_IB_HCA必须同时指定两个 RoCE 口——好消息是 launch-cluster.sh 会自动完成这件事。双机直连不需要插两根线两根线不会带来可感知的带宽提升而 3 台机器串联daisy-chain后每对机器之间只能维持 100G。 选型口诀2、4、8 节点2 的幂最适合张量并行TP3 节点主要服务于流水线并行PP或数据并行DP。二、2 节点直连一条线搞定双机集群这是最经典的起步配置只需一根 QSFP 网线连接两台 Spark 的右侧从背面看QSFP 口。第一步配置网络netplan。在spark上创建/etc/netplan/40-cx7.yamlnetwork: version: 2 ethernets: enp1s0f1np1: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.177.11/24] enP2p1s0f1np1: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.178.11/24]spark2同理IP 改为192.168.177.12/24和192.168.178.12/24。每台机器执行sudo chmod 600 /etc/netplan/40-cx7.yaml sudo netplan apply⚠️切勿给两对孪生口配置相同网段——会搞乱自动发现和路由。第二步免密 SSH。在首台 Spark 上运行 NVIDIA 官方提供的discover-sparks脚本即可自动完成节点发现与密钥分发。第三步验证带宽。用 perftest 包的ib_write_bw分别收/发双口叠加可跑到约 200 Gb/s单 RoCE 口约 111 Gb/s延迟约 1.5 微秒。配好之后在头节点上克隆仓库即可开始跑模型git clone https://gitcode.com/gh_mirrors/sp/spark-vllm-docker cd spark-vllm-docker ./run-recipe.sh recipes/deepseek-v4-flash-vision-exp.yaml --setup--setup会自动完成镜像分发、模型下载与集群拉起。三、3 节点 Mesh无交换机的环形组网3 台 Spark 可以不用交换机但接线方式与双机直连完全不同完整说明见 docs/NETWORKING.md连线规则A 的 Port 0 接 B 的 Port 1B 的 Port 0 接 C 的 Port 1C 的 Port 0 接 A 的 Port 1形成环三台机器还需通过10G RJ-45 以太网或无线网不推荐接入同一局域网用于带外管理通信。每台机器需要为四个接口分别配置静态 IP四台子网两两错开例如spark1network: version: 2 ethernets: enp1s0f0np0: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.177.11/24] enP2p1s0f0np0: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.178.11/24] enp1s0f1np1: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.187.11/24] enP2p1s0f1np1: dhcp4: no dhcp6: no link-local: [] mtu: 9000 addresses: [192.168.188.11/24]spark2、spark3按同样规则错开 IP每对直连链路一个独立网段。配置后运行sudo netplan apply。3 节点怎么跑模型-tp 3基本不被主流模型支持所以三节点的标准玩法是并行方式适用场景--pipeline-parallel-size 3跑双机装不下的超大模型如 Qwen3.5-397B INT4不提升单请求速度--data-parallel 3可加--enable-expert-parallel单机能装下的模型提升并发吞吐-tp 2只用前两个节点第三个闲置仓库已内置 3 节点配方例如流水线并行的 recipes/3x-spark-cluster/qwen3.5-397b-int4-autoround.yaml./run-recipe.sh --discover # 强制重新发现识别 Mesh 拓扑 ./run-recipe.sh recipes/3x-spark-cluster/qwen3.5-397b-int4-autoround.yaml --setup --no-rayMesh 模式下自动发现会识别出 4 个活跃的 CX7 接口并配置对应的 NCCL 参数3 节点 OOB 通信必须走 10G 以太网同时COPY_HOSTS会自动改为直连 IB 接口让镜像和模型走更快的直连链路分发。四、4–8 节点QSFP 交换机组网超过 2 台 Spark 且不是 Mesh 拓扑时就需要一台 RoCE 交换机文档中推荐 MikroTik CRS812-DDQ8 口或 CRS804-DDQ4 口。好消息是每台 Spark 的网络配置和 2 节点直连完全一样双口静态 IP MTU 9000只是所有端口都接交换机。NVIDIA 官方论坛有 6–8 节点 Spark 集群的完整搭建实例可参考。对应配方已就绪4 节点recipes/4x-spark-cluster/ 目录下的qwen3.5-397b-int4-autoround.yamlTP4实测单用户约 37 tok/s、4 并发约 103 tok/s、recipes/4x-spark-cluster/minimax-m2.5.yaml 等8 节点recipes/8x-spark-cluster/glm-5.2-nvfp4.yaml用vllm-node-b12x镜像跑 GLM-5.2-NVFP4TP8。./run-recipe.sh recipes/8x-spark-cluster/glm-5.2-nvfp4.yaml五、自动发现与一键拉起组网之后的自动化流程组网完成后日常操作几乎不用碰网络细节核心是这两条链路自动发现autodiscover.sh 会扫描网段、验证每台可达机器确实是 GB10Spark硬件后写入.envCLUSTER_NODES与COPY_HOSTS并区分 Mesh / 非 Mesh 两种模式交互式确认节点清单集群拉起launch-cluster.sh 自动检测ETH_IF/IB_IF接口、注入NCCL_IB_HCA等环境变量、按并行度自动裁剪节点数tp×pp×dp并自动分发镜像与模型。常用开关./launch-cluster.sh --setup exec vllm serve ... # 强制重新自动发现 ./run-recipe.sh --list # 查看所有模型配方 ./run-recipe.sh qwen3.5-122b-fp8 --no-ray # 无 Ray 多节点默认模式更多操作细节镜像构建、模型下载、内存调优可参考 docs/AGENT_RUNBOOK.md 与 recipes/README.md。六、拓扑选型速查表节点数推荐拓扑并行方式需要交换机参考配方1单机--soloTP1否recipes/qwen3.6-35b-a3b-nvfp4.yaml2QSFP 直连TP2否recipes/deepseek-v4-flash.yaml3环形 Mesh 10G 带外PP3 / DP3否recipes/3x-spark-cluster/qwen3.5-397b-int4-autoround.yaml4 / 8RoCE QSFP 交换机TP4 / TP8是recipes/4x-spark-cluster/、recipes/8x-spark-cluster/七、小结2 节点一条 QSFP 线 双口静态 IP MTU 9000 免密 SSH即可享受近 200G RDMA 带宽3 节点环形 Mesh 免交换机但需为 4 个接口规划 4 个子网并保留 10G 带外网络4 节点及以上上 RoCE QSFP 交换机节点配置复用双机方案配合 2 的幂次节点数获得最佳 TP 性能组网完成后--setup/--discover让 spark-vllm-docker 的自动发现与配方系统接管其余工作——你只需要选配方、跑命令。祝你的 Spark 集群早日跑起大模型 【免费下载链接】spark-vllm-dockerDocker configuration for running VLLM on dual DGX Sparks项目地址: https://gitcode.com/gh_mirrors/sp/spark-vllm-docker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考