资讯动态

openrig开放多卡计算平台搭建实践:从硬件选型到AI推理调优

发布时间:2026/10/14 9:06:19 来源:尧图企业网站定制
半个月前我帮朋友搭了一台多卡计算工作站预算卡得死又要能跑大模型推理又想着以后升级方便。折腾了一圈最后落到了一套叫 openrig 的开源方案上。没夸张地说这一步踩对了整台机器的灵活性和散热表现比那些一体式塔式机箱强太多而且成本省下了好几千。openrig 不是某个厂商出的整机也不是官方认证的某个硬件型号它本质上是一种开放、可自由组装的高密度算力平台思路。你可以把它理解成“把显卡工作站做成开放式脚手架”没有封闭机箱主板平铺在支架上多张卡通过转接卡竖装电源、散热、线缆全部裸露但有序排布。这种方案最早流行于需要堆多张卡的玩家和实验室后来逐渐沉淀出一套通用配置逻辑和软件调优清单有人把它整理为 openrig 项目也有人叫开放矿架或裸卡平台。不管叫什么核心思路是一致的用低成本、可维护、易扩展的方式把消费级硬件组合成一台能稳定跑重负载计算的机器。这篇文章我会从设计逻辑讲起把硬件选型、软件环境、整机装调、问题排查全部拆开讲。适合谁看第一类是准备自己搭 AI 工作站但预算有限的人第二类是实验室想搞多卡并行但不想买整柜服务器的团队第三类就是硬件发烧友愿意为了更好的散热和走线自己动手。如果你只是正经装一台家用游戏机那本文的开放平台思路不一定适合你它面向的始终是高密度计算场景。1. 为什么我最终选了 openrig 这类开放方案1.1 封闭机箱在多卡场景下有多难受先说说封闭式塔式机箱在多卡场景下的几个真实痛点。第一是空间问题三张双槽显卡装进去基本把机箱内部塞满电源线、数据线挤成一团热风在机箱内循环显卡温度能比开放环境高出十度不止。第二是扩展性你想加第四张卡又得换机箱主板固定孔位、电源位置、理线空间全部要重新适应。第三是维护麻烦想换张卡或者清个灰得把整机断电拆侧板有的机箱甚至要先把电源仓拆掉手根本够不到卡槽。我最早也试着在一款全塔机箱里装两张卡跑了不到两天就发现散热和走线都到了极限。后来接触 openrig 这类方案第一反应是“这也能叫整机”但实际用下来才发现开放结构恰恰是解决多卡问题的关键显卡直接暴露在空气中机箱风扇配合开放式支架形成贯通风道温度下降非常明显。而且所有硬件一目了然哪个风扇停了、哪条线松了开灯一眼就能看到排查问题再也不用打开手电筒对着漆黑的机箱内部照。当然开放平台也有代价比如落灰、噪音没有遮挡、物理上更容易磕碰但这在高密度计算场景里都是可以接受的。相比之下散热的收益和可维护性完全值得。1.2 openrig 方案背后的设计底层逻辑openrig 这类开放平台的底层逻辑其实并不复杂就是三点模块化、可重构、散热优先。模块化体现为所有组件尽量独立。主板、显卡、电源、硬盘都能单独拆装换一张卡不用动其他任何东西。我这次搭的机器前后换过两种显卡布局整机拆装时间不超过半小时。可重构体现在机架结构本身。多数 openrig 方案采用铝合金型材加角件搭建你可以根据卡的数量和长度自由调整横梁位置这一点灵活性是固定结构机箱完全做不到的。比如我这台现在装的是三张卡等以后想升级四卡只需要加长立柱、换一块支持更多插槽的主板其他东西可以继续沿用。散热优先则决定了很多设计细节。显卡采用竖装转接让两张卡面对面、卡背对卡背交错排列相互之间的热气流不直接对冲电源独立悬置在机架另一侧避免电源热量混入 CPU 和 GPU 风道。整体来看冷风从底部吸入热风从顶部和侧面排出形成自然对流加主动风扇辅助的混合散热。实测下来满载时显卡温度比在封闭机箱里低了 8-12°C这个差距会直接影响高负载下的稳定性和降频表现。还有一个不能忽略的原因是成本。同等规格的服务器机箱、电源、散热套件加起来往往要超过整机预算的三分之一而 openrig 的开放式型材支架和人手可装的配件只需要几百块省下来的钱完全可以投入在计算卡上。2. 硬件选型与整体布局这步决定整机上限2.1 主板、CPU 与内存怎么搭配最合理选 openrig 的硬件第一原则是“先定显卡再定其他”。因为显卡数量决定 PCIe 通道需求PCIe 通道需求又决定平台选择这个顺序不能乱。如果你只需要两卡那么主流消费级平台也能凑合比如 Intel 的 B760 或 AMD 的 B650 主板配 i5 或 R5 级别 CPU就能分出两组 PCIe 插槽。但如果你要三卡甚至更多就必须认真考虑通道数了。每张卡至少要 PCIe 4.0 x8 带宽才不会明显影响性能一张卡跑满 x16 当然更好但要同时喂饱三张卡消费级主板的通道个数往往不够。我在这台机器上选的是 AMD TRX40 平台搭配 Threadripper 3960X24 核 48 线程64GB DDR4 内存。TRX40 芯片组最大的优势就是能提供 64 条 PCIe 4.0 通道三张卡都能跑到 x16同时固态硬盘和网卡还能保留足够通道。如果你预算更紧也可以考虑 Intel HEDT 的 X299 平台或者直接用服务器平台像 Epyc 和 Xeon但从成本、功耗、单核性能和驱动兼容性综合来看TRX40 确实是 openrig 这种消费级多卡机器的甜点选择。内存就按实际负载来一般大模型推理和渲染任务 32GB 起步64GB 是比较舒服的量我这次直接上 4 条 16GB DDR4-3200 组成四通道。CPU 散热选了一款 360 水冷虽然 Threadripper 原装散热器也能压住但水冷能让 CPU 风扇噪音低不少毕竟整机已经够吵了CPU 再狂转谁受得了。2.2 电源与供电分配最容易翻车的地方电源是整个 openrig 方案里最不能省钱的部件。多张高功率显卡满载瞬间电流冲击非常夸张劣质电源轻则触发保护断电重则把显卡供电接口烧坏。我见过不止一次翻车案例最后查下来都是电源余量不够或者线材接触不良。计算电源功率有个简单的公式整机满载功耗 CPU 功耗 显卡总功耗 主板硬盘风扇功耗再乘以 1.3 的冗余系数。我这次三张卡单卡功耗按 350W 算CPU 按 280W 算其他杂项 100W合计约 1430W乘上冗余系数就需要 1860W 左右。电源我就直接选了一台 1600W 白金全模组虽然单电源 1600W 已经是消费级里的天花板了但余量留足才能让电压输出稳定延长硬件寿命。供电分配上openrig 有个细节很多人容易忽略每张显卡必须使用独立的 PCIe 供电线不要用一分二转接线。一张 350W 的卡满载要吃 300W 以上如果两条 PCIe 8-pin 从同一根线分出线材过流发热的风险会成倍上升。我这次全部用原生 8-pin 线直连显卡线缆多归多但安全第一。很多模组电源会附送多根 PCIe 线不要嫌线乱就插转接头这个坑我已经替你们踩过了。机架布局方面我的方案是上下两层下层平放主板和电源上层横向安装三张显卡转接支架所有卡面朝同一侧间距留足至少 40mm保证卡背之间有空隙让气流通过。转接卡我选的是 PCIe 4.0 x16 双反向线款式全长不超过 20cm避免信号衰减带来不稳定问题。3. 软件环境与驱动配置装完硬件只算完成一半3.1 基础系统与 NVIDIA 驱动安装的完整路径openrig 平台对系统选择没有硬性要求Windows 和 Linux 都能跑但如果你要做 AI 计算、容器化部署或者长时间满载运行我还是建议直接用 Ubuntu Server LTS比如当前 22.04 或 24.04 版本。原因很简单Linux 下 NVIDIA 驱动和 CUDA 工具链的兼容性更直接远程管理也方便图形桌面反而会占用显存和 CPU 资源。系统装好后别急着从官网下载驱动先看一下系统自带的推荐驱动。Ubuntu 下最省事的做法是sudo apt update ubuntu-drivers devices sudo ubuntu-drivers autoinstall这一步会自动安装适合当前内核的 NVIDIA 闭源驱动装完重启再执行nvidia-smi确认三张卡都能被识别。如果输出显示不到三张卡大概率是硬件接触或供电问题先别急着查软件。如果你想用最新的 CUDA 版本也可以从 NVIDIA 官方源安装 CUDA Toolkit。我这次采用的是官方 Linux 源方式wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update sudo apt install cuda装完后记得把 CUDA 的路径加到环境变量里。驱动和 CUDA 版本要配对否则编译器会报兼容性错误。我建议先用nvidia-smi看驱动支持的 CUDA 版本上限再去选对应 Toolkit。3.2 容器化部署与监控工具让多卡管理不再手忙脚乱硬件驱动就绪后openrig 这类多卡机器最合适的软件形态其实是容器化部署。尤其做 AI 推理或训练Docker 配 NVIDIA Container Toolkit 能让你在隔离环境中跑不同版本的 CUDA 镜像互不干扰一键切换。安装 NVIDIA Container Toolkit 的步骤不复杂curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed s#deb https://#deb [signed-by/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt update sudo apt install nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtimedocker sudo systemctl restart docker配完之后启动容器时加上--gpus all就能把全部显卡映射进容器。如果你想让某个容器只用某张卡可以用--gpus device0,1精确控制这在多卡复用的场景下极其重要。监控工具我首推nvtop它就是显卡版的htop每个卡的温度、功耗、显存占用、风扇转速一目了然。安装只需要一条命令sudo apt install nvtop跑负载任务的时候开一个终端持续盯着nvtop比看nvidia-smi的静态输出直观得多。对于长时间训练任务我还会配合telegraf influxdb grafana做历史曲线记录但新手阶段先不用上这套全家桶nvtop已经够用了。4. 整机装调与实测记录终于到了动手环节4.1 从裸板到多卡的安装顺序一步一步走安装顺序我整理成了固定流程照着走能少很多返工。第一步先搭机架。铝合金型材依照长度切好用角件和螺栓固定成框架不用拧太紧后面还有调整空间。第二步安装电源。电源固定在机架底部一侧出线方向朝外方便走线。第三步装主板。把 CPU、内存、M.2 硬盘先装到主板上再连同主板托盘固定在机架下层注意主板托盘和金属机架之间要加绝缘垫片。第四步安装转接卡支架。根据显卡数量和间距把 PCIe 转接卡固定在机架上层转接线的另一端插到主板 PCIe 插槽。第五步安装显卡。显卡插到转接卡上用支架固定尾端接上 PCIe 供电线。第六步理线。电源的主板供电线、CPU 供电线走机架一侧显卡供电线走另一侧用魔术贴扎带固定别让线垂到风扇气流路径上。第七步插电开机进 BIOS。这套流程里我最想强调的一点是转接卡信号的稳定性。转接线越长越容易受干扰如果显示器能亮但系统里识别不到某张卡优先怀疑转接线和插槽接触。我第二批采购时特意选了一款带金属屏蔽层的转接线信号稳定性明显优于廉价透明线。另外到了开机这一步别急着直接进系统。先开一次机确认所有风扇都转、主板自检灯正常再插显示器。卡多的时候有问题的卡可能会让 POST 阶段变得极慢耐心等两分钟进入 BIOS 后先核对是否能看到所有 PCIe 设备看不到就在硬件层排查省得进系统后还要反复崩溃。4.2 性能测试与功耗表现用数据说话整机装完后我先跑了几组基础测试确认稳定性。首先是内存和 CPU 压力我用stress-ng跑了一小时 24 线程满负载CPU 温度稳定在 78°C 左右频率没有明显下降。接着是显卡稳定性测试我用gpu_burn这个工具让三张卡同时满载跑烤机git clone https://github.com/wilicc/gpu-burn cd gpu-burn make ./gpu_burn 120120 秒一轮我跑了六轮三张卡的温度最终分别稳定在 72°C、74°C、76°C比之前封闭机箱里的 85°C 左右好看太多。最热的是中间那张卡这个也正常因为它是两侧卡的热风交汇处。如果中间卡温度特别高可以考虑调整风扇朝向把卡背方向的风扇改成进风效果立竿见影。显存测试我用了memtest86跑了一整圈没有报错。三张卡都跑在 PCIe 4.0 x16 模式下用lspci -vvv和nvidia-smi -q核对了链路宽度LnkCap 和 LnkSta 都显示 16.0 GT/s x16转接卡没有引入瓶颈。随后跑了一个针对大模型推理的模拟负载连续推理不知道多少轮之后平均时延和官方参考数据相差不到 2%说明整机的计算、显存带宽和 PCIe 链路都工作在一个健康状态。整套系统满载时从插座端测的功耗是 1420W 左右1600W 电源的负载率约为 89%还有一定裕量这也验证了我之前计算冗余系数的方案可行。5. 上手会遇到的问题与速查建议5.1 常见问题排查汇总一张表对号入座多卡开放平台最常见的问题集中在供电、信号、散热和驱动四类。我整理了一张速查表按这个顺序对号入座基本都能解决。问题现象可能原因排查建议系统只能识别部分显卡转接线接触不良或接口损坏拔插转接线换一个 PCIe 插槽测试优先换金属屏蔽线开机风扇转了但无信号输出电源供电不足或内存插错槽位先最小化硬件启动只留单卡单内存确认能进 BIOS满载运行时系统突然重启电源功率余量不足或供电线过流用功耗仪测量整机功耗检查显卡供电是否用了转接线某张卡温度明显高于其他卡卡间距不足或风道方向不合理调整机架横梁位置加宽卡间距改变风扇进风方向容器里调用显卡报错NVIDIA Container Toolkit 未配置重跑nvidia-ctk runtime configure --runtimedocker并重启 Docker驱动装好后黑屏内核模块和驱动版本冲突在 recovery 模式重装驱动查询官方兼容矩阵确认版本转接线导致性能下降使用了 x1 转接线或劣质线材换 x16 双反线确认链路宽度在nvidia-smi中显示为 x16另外补充一个很隐蔽的问题不要把显卡供电线和 CPU 供电线混插。两者虽然接口都是 8-pin但脚位定义不同混插轻则不开机重则烧主板供电区域。插之前看一眼线材上的标签这是新手最容易忽略的细节。5.2 几条实操经验总结照着做能少走弯路我已经前后搭过好几种 openrig 配置最后沉淀出几条经验直接写在这里供你参考。第一不要追求所有硬件一步到位。openrig 最有价值的地方就是可迭代先用便宜的平台跑通流程确认你的工作负载确实需要更多卡再升级显卡和电源。直接一步到位买个八卡机架回来结果利用率很低资源浪费不说维护成本也高。第二理线是散热的一部分。电线如果横在风道前方会造成明显的风阻。我第二次调整布局时把所有横穿风道的线全部绑到机架边缘显卡满载温度又低了三四度。这个改善比换机箱风扇来得更实在。第三操作系统层面的处理也很关键。如果你要长期跑 GPU 任务建议把系统的图形界面彻底关掉或者直接装 Server 版系统。省下的那部分 CPU 和显存资源积少成多对性能和稳定性都有帮助。第四给机器配一个远程管理方案。openrig 通常会被放在机房角落或家里杂物间里人不在现场很常见。我后来给这台机器配置了 SSH 和 Tailscale 远程访问配合nvtop的命令行模式基本可以做到在手机远程查看每张卡的状态和温度省去了反复跑机房的麻烦。6. 后续还能怎么玩openrig 的扩展方向开放平台的想象空间比封闭机箱大得多硬件层面你可以加装万兆网卡做多机互联可以把显卡竖装结构改装成水冷散热模组甚至可以扩展一块独立的 NVMe 硬盘阵列把数据集读写速度再拉高一个档次。软件层面openrig 非常适合做集群化改造。当单机算力不够时可以把两台 openrig 通过高速交换机连起来配合 Kubernetes 或者 Ray 这类分布式调度框架把训练任务按批次分发到不同机器的显卡上。这个方向虽然配置复杂度高但等你的任务量真正上来之后比重新采购一台服务器便宜得多。最后说一个我自己的体会。openrig 这类方案的灵魂不在于外观多酷也不在于堆料多猛而在于它把方案的设计权完全交还给你。每一根转接线为什么这样走每一颗风扇为什么这样装你都清清楚楚出问题的时候你能直接切入要害而不是对着厂商的保修标签发愁。我这位朋友的机器已经稳定跑了二十多天中间只因为一次停电重启过一回跑起来的可靠性不比成品服务器差。如果你也在计划自己的算力平台不妨把 openrig 这类开放方案纳入考虑动手试一试。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑