ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OpenRig:基于铝型材的开放式多卡算力机架设计与实战

OpenRig:基于铝型材的开放式多卡算力机架设计与实战 这两年我把工作室的主机折腾方式彻底换了个方向做了一套完全开源的开放式多卡算力机架方案名字就叫 OpenRig。说白了就是把传统机箱扔掉用工业铝型材搭一个能装多张全长显卡、多路电源、甚至还能挂冷排的裸架工作站。这个需求其实很直接AI 推理、3D 渲染农场、分布式计算这些场景一张四五百瓦功耗的旗舰卡放进封闭机箱就是灾难散热、尺寸、维护全是问题。这套方案目前已经在本地工作站上稳定跑了几个月也整理成了完整的开源资料发给身边几个朋友复现今天就把设计思路、选型逻辑和实操过程完整拆一遍。无论你是想搭深度学习卡机还是渲染农场的分机或者单纯想把机器做成方便维护的开放式结构这篇内容都能给你一个可以抄作业的底子。1. 为什么做开放式机架传统机箱在多卡场景下的瓶颈1.1 传统机箱装多卡卡的不是显卡是结构先说说我踩过的坑。之前工作室用的是全塔机箱理论上能塞四张卡但真的把四张三槽显卡塞进去以后问题一个接一个。首先是物理空间旗舰卡长度动不动就是 330mm 甚至更长全塔机箱虽然标称支持长显卡但前置冷排占掉长度后最后一张卡往往顶着硬盘仓装不下去。其次是供电走线四张卡一共八个 8-pin 接口加上主板 24-pin、CPU 双 8-pin模组线全部堆在背线仓里盖子一盖风道几乎没了。但最要命的还不是这些是散热。机箱风道设计通常是前进后出显卡进出风口被相邻的卡挡住中间那张卡温度比前后两张高十几度。我实测过满载跑渲染的时候中间卡核心温度能到 93 度风扇直接起飞整机噪音坐在隔壁房间都听得见。为了降温前后换了好几版风扇布局效果都一般。后来想明白了多卡并行这种场景本质上就是多张高功率热源密集排列你再怎么组织机箱内风道都不如干脆把热源暴露在开放环境里来得直接。1.2 开放式结构解决的三件事OpenRig 这套开放式机架方案核心就是想清楚了三件事。第一是空间最大化利用。没有任何外壳遮挡显卡长度只受型材框架约束我设计时按最长 350mm 显卡留余量实际上市面上绝大多数卡都能装甚至可以混装不同长度不同厚度的卡。第二是散热路径最短化。开放式机架空旷无遮挡显卡风扇直接吸入环境冷空气热风从四面散出不存在进风被前一张卡挡死的问题。实测同样四卡满载核心温度比封闭机箱低了 8-12 度风扇转速能保持在比较舒服的区间。第三是维护成本极低。换卡、清灰、插线全都是免工具操作手伸进去就行。对于经常换显卡、加硬盘、调试硬件的场景这体验完全是降维打击。当然开放式架构不是没有代价。它不能防尘、不能防宠物误碰、噪音会比封闭机箱更直接地传出来。所以这个方案适合放在独立工作室、实验室或通风良好的房间不适合作为客厅桌面的电脑来用。选型之前想清楚使用环境这一点比任何参数都重要。2. 设计思路与结构选型从一张图纸到一套方案2.1 框架材料为什么选铝型材整个机架的核心支撑结构我选的是 4040 欧标铝型材。很多人第一反应是为什么不直接用角钢或者焊接方管答案很简单那就是铝型材是唯一能做到免焊接、免加工、可无限调整的结构方案。4040 型材的截面是 40mm×40mm配合角件、T 型螺母和螺栓可以实现任意位置的固定和后期结构调整。这意味着我不需要画精确到毫米的焊接图纸不需要氩弧焊甚至不需要切割机——虽然我这套框架因为尺寸特殊还是做了切割但所有孔位都是通过型材自身的槽道和螺母固定的想挪位置随时可以松螺丝重新装。这对于一个仍在持续迭代的开源项目来说太重要了。角钢虽然便宜但钻孔精度要求高一旦孔位打偏就废了方管焊接更是一锤子买卖后期想改只能切割重焊。铝型材把设计变成了模块化拼装容错率完全是另一个级别。还有个重要原因是强度冗余。4040 型材的承重能力非常可观单根 1 米长的悬臂结构都能扛几十公斤用来搭机架完全绰绰有余。四张显卡加上散热器、电源总重量大概 15 公斤上下整个框架静载强度轻松应对不会有任何晃动。2.2 尺寸规划与显卡布局逻辑OpenRig 的尺寸我定的是长 800mm、宽 260mm、高 420mm。这几个数字不是随便来的。宽度 260mm 是我算出来最紧凑的方案。一张标准全长显卡含散热器的厚度大约 55mm四张卡用 PCIe 延长线横向并排卡与卡之间留出 10-15mm 间隙总宽度就是四乘以卡厚加上三倍间隙。但实际组装时我发现这个间隙太死板了因为显卡供电线是侧插的插完以后线材本身要占 20mm 左右的空间。所以后来把宽度放宽到 280mm单卡净间距大概 18mm即使是 3.5 槽厚度的超厚卡也能放进去理线也舒服很多。长度方向 800mm 是这么算的底部放电源的位置占 300mm显卡安装区占 400mm 多尾部还要留出 PCIe 延长线转弯和走线的空间。实际上如果你只用两张卡甚至可以把长度压缩到 500mm 做一个紧凑版。这个尺寸完全可以按需调整开源资料的 CAD 模型里这些参数都是参数化的。高度 420mm 则是为竖装显卡设计的。显卡竖插在主板上卡体垂直于地面热空气自然向上走对开放式结构来说是最符合热力学规律的安装姿态。框架顶部我留了风扇安装位可以挂三个 120mm 风扇往外排热实测效果立竿见影。2.3 供电方案与 PCIe 扩展的选型细节多卡方案的供电和信号扩展是很多人最容易翻车的地方。OpenRig 里我推荐的是双电源 信号同步方案。主电源选 1600W ATX 电源给主板 CPU 和前三张卡供电副电源选 850W专供第四张卡和硬盘。两个电源之间通过一根 24-pin 同步线相连让副电源跟随主电源启动这个组件几块钱就能买到但能省掉手动开关的麻烦。PCIe 扩展方面重点是选主板和延长线。主板必须支持足够的 PCIe 通道拆分我用的是 X299 平台CPU 直出 48 条 PCIe 通道四张卡全部跑 x8 带宽。如果用的是 Z790 这类桌面平台要确认芯片组能提供足够的通道数否则第三张第四张卡只能跑 x1性能损失会非常明显。延长线用的 PCIe 4.0 x16 转 x16 的开放式线材注意要选带独立供电的版本降低信号衰减风险。实际测试中四张卡全部识别为 x16 链路跑 AI 推理吞吐几乎没有损失。3. 实操组装全流程从零到点亮的一步步记录3.1 型材切割与框架拼装材料到位后的第一步是切割型材。OpenRig 框架需要 8 根 800mm 长杆、4 根 280mm 短杆、4 根 420mm 立柱以及若干加强用的角件。切割我用的是台锯配合铝型材专用锯片转速调低、进给慢切出来的端面基本没有毛刺。如果你没有台锯可以在网上让商家按长度预切一两毫米的误差用角件的调节孔位都能吸收。拼装顺序建议从底框开始。先把四根 800mm 长杆和两根 280mm 短杆用角件固定成一个矩形底框这一步不需要完全拧紧所有螺丝先带上一半力度因为后续安装立柱时要调整垂直度。立柱装好后再装顶部框架最后装垂直方向的加固杆。到这里框架还是晃晃悠悠的别慌这是正常的。找一块大理石台面或者标准桌面用直角尺校准每个角确保框架方方正正然后把所有螺丝全部拧紧。拧紧之后再晃整个框架就是纹丝不动的刚性结构了。这里有个细节我特别提醒铝型材的 T 型螺母有两种一种是从型材端部滑入的一种是直接可从槽道任意位置放入的弹珠螺母。拼装时一定要用弹珠螺母因为它能在槽道任意位置卡住不需要每次都从端部穿进去这在装横杆的时候能省大量时间。3.2 显卡、主板与电源的安装顺序框架拼好后安装顺序我建议是电源 → 主板 → 显卡延长线 → 显卡 → 硬盘。电源放底部这是我设计时特意安排的。两个电源并排放在底框靠前的位置重心低机架稳当。电源出线朝上线材直接走上层不用像传统机箱那样绕背线。副电源的启动同步线接好后先把 24-pin 从主电源出来接到主板。核心要点来了显卡安装区要在主板安装之前就把 PCIe 延长线的位置规划好。我的做法是主板倒置安装也就是 CPU 朝下、PCIe 插槽朝上这样显卡可以通过延长线从上方接入整个显卡区域形成一个独立的散热层互相不干扰。主板用铜柱固定在型材上铜柱的长度根据主板和型材面的间距选择我用的 15mm 铜柱配合 M4 螺丝稳固性没问题。显卡安装是最舒服的一步。每张卡通过尾部支架固定在框架横梁上PCIe 延长线插在卡上以后整理好线材走向。这里要注意延长线的弯曲半径PCIe 4.0 线材对弯折比较敏感必须保证弯折处半径大于 3cm否则会出现降速或不定时掉卡的问题。延长线另一端插在主板的 PCIe 插槽上用束线带固定确保不会被重力拉扯。3.3 点亮调试与系统配置要点全部装完以后不要急着盖盖子上系统先做最小化点亮测试。只接主板 CPU 单条内存不插显卡开机确认能进 BIOS。这一步的意义是把变量的范围缩到最小一旦点不亮排查起来最省时间。点亮之后再逐张插卡。每插一张卡就开机确认系统识别到再插下一张。这个流程虽然慢但能精准定位是哪条延长线、哪个插槽的问题。四张卡全部识别后进系统装驱动然后做 PCIe 链路状态检查。Linux 下用lspci -vvv看每张卡的LnkCap和LnkSta确认链路速率是 x16 还是 x8Windows 下用 GPU-Z 就能看到当前链路状态。系统层面的配置还有一个坑多卡主机的 PCIe ACS 控制。在 Windows 上如果开了 Hyper-V 或者内核隔离可能会遇到卡之间无法直接访问的问题要到设备管理器的 PCIe 配置里去调整Linux 下则可能需要在内核参数里加pcirealloc或者对应平台的 ACS 补丁。这一块新手最容易卡住后面我单独讲排查。4. 散热与压力测试实录用数据说话4.1 开放式风道的设计与实测对比组装完成后我特意做了一轮对照测试。对照组是曾经的封闭全塔机箱实验组是 OpenRig测试条件一样四张卡满载跑 AI 推理任务 30 分钟室温 26 度记录核心温度和风扇转速。结果对比如下项目封闭机箱OpenRig 开放架显卡最高核心温度93 度81 度显卡平均核心温度88 度76 度显存温度峰值96 度84 度风扇转速中位数2800 RPM2100 RPM整机噪音体感刺耳可接受数据已经很说明问题了。开放架的核心温度整体低 8-12 度而且风扇不需要拉满就能维持同样甚至更好的温度表现噪音减少非常多。这还没算顶部排风扇的辅助效果加上之后显卡温度还能再低 3 度左右。4.2 长期运行稳定性的几个关键细节压力测试通过之后这台机器进入常态运行到现在已经连续跑了三个月中间有过几次短时断电和一次长时间渲染任务没有出现热宕机。总结下来几个细节对长期稳定性影响最大第一显卡横向间距不能低于 15mm。间距太小相邻卡的散热鳍片之间空气流动空间不足即使开放架构也会出现热堆积。我现在的 18mm 间距运行良好再往上压到 12mm 就明显能看到温度上升。第二底部电源的散热要单独考虑。电源虽然是独立风道但在开放架里它同在一个空间机架放在地上时电源进风口会被地面灰尘影响。我把机架垫高了 30mm底部留出进风间隙电源温度一直控制在 50 度以内。第三显卡供电线尽量选择耐高温硅胶线不是那种塑料皮模组线。卡满载时线材表面温度接近 60 度普通 PVC 线久了会发硬变脆硅胶线则没有这个问题。这属于不贵但能避免大坑的细节。5. 常见问题排查与避坑实录5.1 显卡识别不到或随机掉卡这个绝对是多卡方案里出现概率最高的问题。我在这台机器上也遇到过两次一次是第三张卡开机进系统后 GPU-Z 里消失一次是最后一张卡跑任务中途掉卡系统日志报 PCIe 错误。排查思路按顺序来先换延长线把正常工作的卡的延长线和问题卡互换如果问题跟着延长线走那就是线材质量或者弯折过度如果不是再检查供电尤其是加了独立供电的延长线确认供电插头插紧且供电来源稳定最后检查 PCIe 插槽金手指和显卡金手指是否需要清洁。这套流程走下来绝大多数掉卡问题都能定位。如果是 Linux 下频繁掉卡还有一个容易忽略的点是主板 BIOS 里 PCIe 链路协商策略。某些主板会把链路速率设置成自动协商显卡在高负载下出现微小信号抖动会触发重新协商导致掉卡。把 PCIe 速率锁定在 3.0 或 4.0 固定档位往往能解决这个问题代价仅仅是很小的带宽差异。5.2 开机重启和供电不足的判定多卡主机开机不断重启八成是供电问题。但供电问题不止是功率不够这么简单还包括电源启动瞬间的浪涌电流。四张卡加主板 CPU启动瞬间电流可能达到 30A 以上如果墙体插座线径不够会出现电压跌落导致重启。我的实测经验是1600W 电源接四张 300W 级别的卡正常跑满没问题但如果卡是 450W 级别的旗舰型号建议还是把供电拆成三路——一张卡一个电源或者两卡一电源避免电源过载保护触发。判断方法很简单看事件管理器里有没有Kernel-Power 41事件有的话基本都是供电波动如果重启前系统日志里先出现显卡驱动超时那大概率是电源某一组 12V 输出不够。5.3 长时间运行后必须做的维护项目开放式机架因为不防尘维护频率比封闭机箱高。但好在维护动作足够简单真的伸手就能做。我建议每两个月做一次常规维护用气吹清理显卡散热鳍片和电源进风口的积灰检查所有供电接口有没有松动变色观察显卡金手指有没有氧化。每半年做一次深度维护拆下全部显卡重新涂硅脂换导热垫顺便给延长线两端接口补一次触点清洁。这套节奏执行下来机器跑了一年多没有因为散热或接触问题出过故障。另外建议在机架旁边放一个温湿度计。开放式环境对湿度更敏感如果房间湿度长期高于 70%显卡背板、延长线端子这些裸露的金属触点会加速氧化。南方回南天那阵子我加了一台小型除湿机湿度控制在 50% 上下问题就再没出现过。6. 开源资料与实际复现的建议最后说一下项目开源的部分。OpenRig 的全部设计资料我都整理好了包括 3D 模型源文件、型材 BOM 清单、装配说明和 BIOS 参考配置。想复刻这套机器的人我建议不要照抄尺寸而是先明确自己到底要装几张卡、什么型号的卡再按我给的参数化模型调整框架。实际复现的成本方面整套铝型材和连接件大概三百元左右铜柱螺丝束线带这类辅料几十元PCIe 延长线一根几十到一两百不等大头反而在电源和显卡本身。相比一个几近淘汰的全塔机箱这个成本换来的散热和可维护性提升在我看来非常值。根据我个人实际操作的体会这个项目最大的价值不是把机器做得多炫而是通过开放式结构把多卡主机从能跑变成好养。如果你也在折腾多卡工作站我的建议是先把散热和供电这两个底子打稳再谈性能和颜值。OpenRig 这个方案就是我验证完以后交出来的答卷。
返回列表