ARTICLE DETAIL

资讯详情

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

openrig:基于4040铝型材的多GPU开放式机架DIY全解析

openrig:基于4040铝型材的多GPU开放式机架DIY全解析 1. openrig这个项目是怎么来的从一张草稿纸到开源共享先说清楚openrig不是什么商业产品也不是某个公司出的现成硬件。它是一个完全开源的、自己动手组装的多GPU计算平台机架方案。核心思路就一句话用最朴素的工业铝型材搭出一个结构稳固、散热通透、理线方便、还能随意扩展显卡数量的开放式机器框架。我入坑这个事情的起因比较实际。手头有两张高端显卡后来朋友又丢给我两张四张卡堆在原来的ATX机箱里完全没法用——供电线挤成一团散热风道直接被卡死显卡背板贴着显卡背板开机十分钟核心温度直奔90度。去电商平台搜了一圈所谓的“矿架”、“裸奔测试架”要么是铁皮冲压的廉价货到手就各种毛刺割手要么是设计得很“电竞”的亚克力架子好看是真好看但装两块重卡之后整体晃晃悠悠强度完全不够。那时候就有了自己画图纸的念头。我是做嵌入式开发的建模软件不算熟练但也够用。前后改了五版图纸从最开始照抄别人的“工字型”结构到后面整个机架采用前后双立柱加横梁的框架式设计openrig这个名字就是这么来的——open代表开源和开放rig在硬件圈子里通常指代整套计算平台。我把图纸、BOM清单、装配步骤全部整理好之后发现这个东西对其他有同样需求的人应该也有参考价值索性就把全部文件扔到了开源平台。这篇文章就是把openrig项目的完整思路捋一遍从结构设计、材料选型、装配细节到散热实测、成本控制能写的基本都写进去。如果你正在为多卡散热发愁或者想搭一个干净整洁的开放式测试平台照着这套方案走基本不会踩大坑。2. 结构设计里的关键决策为什么是4040铝型材而不是角铁或者亚克力2.1 三种常见材料的实测对比最早一版图纸我用的是角铁。原因很简单便宜五金店现切一个架子下来材料费不到一百块。但实际用下来问题很明显角铁是焊接或者螺丝锁付的整个框架的精度完全取决于切料和打孔的手艺稍微偏一点装上去的显卡就是歪的。而且角铁表面多数只做了简单防锈处理长期使用一旦蹭掉漆面就会生锈在机架这种需要反复拆装显卡的场景里非常难受。亚克力是另一种常见选择外观确实好看透明板子加上LED灯条摆桌上像一件艺术品。但亚克力的载荷能力很弱3mm厚的板材横向承重还行纵向抗弯刚度跟铝型材差了一个数量级。我试过用8mm亚克力做侧板挂双槽水冷显卡三个月后侧板明显弯曲变形螺丝孔位附近出现细微裂纹。亚克力适合做装饰面板不适合做承重结构。最后回到4040工业铝型材。这种材料在自动化设备、工作台、防护罩领域用了十几年属于非常成熟的标准件。型材本身是铝合金挤压成型截面呈“目”字形加强筋结构配合专用角件和T型螺母可以通过螺栓连接成任意形状的框架。它的优势是精度高——每根型材的截面公差在0.2mm以内切割面垂直度也能控制在较好范围强度好——4040规格指截面40mm×40mm的型材单根两米长居中悬挂几十公斤负载都没有明显变形可拆装——以后想改结构拧开螺丝就行不需要重新买料。2.2 承重计算的简化模型很多人看到4040型材的第一反应是这么细的铝条扛得住六张旗舰显卡吗这里需要算一笔账。单张专业卡或者旗舰游戏卡加散热模组大约2.5到3.5公斤六卡满载也就21公斤。加上供电线、风扇、框架自身重量整个系统控制在40公斤以内。4040型材的惯性矩在工程手册里大概是24.7万mm的4次方级别对于一根跨度为600mm、承受均布载荷的横梁来说最大挠度用简支梁公式算一下δ 5ql^4 / 384EI其中q是单位长度载荷按六卡总重21公斤均匀分配到两根承重梁上单根横梁大约承担10.5公斤换算成线载荷q约为0.175N/mm。型材长度l取600mm铝的弹性模量E取70000N/mm²I取24.7万mm⁴代入算出来最大挠度大约是0.14mm。这个量级在视觉和结构上都完全可以接受。当然这是简化模型实际装配中还有角件提供的额外刚性、竖梁分担载荷等因素只会比这个计算结果更稳。用数据说话之后我就彻底放弃了角铁和亚克力方向确定openrig主体结构全部采用4040型材连接处用角件加M8规格的高强度螺栓锁紧。2.3 图纸里的三个关键尺寸设计成品图纸时有三个尺寸是我反复验证过的直接决定机架好不好用。第一个是显卡安装间距。双槽显卡的标准厚度约41到43毫米也就是两张卡之间至少需要留出40毫米以上的空间才能保证气流流通。我设计的是70毫米间距原因是在两张卡之间要预留12038规格风扇侧吹的位置。实测下来这个间距既能让风道直接穿过显卡散热鳍片又不会让整个机架宽得离谱。第二个是机架整体宽度。六卡横排每张卡约310毫米长显卡固定挡板在尾部供电接口在顶部边缘。所以机架深度也就是显卡长度方向做到420毫米前端留出60毫米给电源转接线和风扇集线器后端留出50毫米给IO挡板和固定支架。机架宽度取决于显卡安装横梁的长度六个仓位各70毫米间距加两侧立柱位置最后定在520毫米。第三个是电源安装位。两张ATX电源并排挂在机架背面所以立柱后方设计了双层横梁间距90毫米以匹配标准ATX电源宽度。电源的风扇进风口朝外出风口朝机架内部上方这样热风不会直接吹向操作者。这三个尺寸确定之后整个openrig的轮廓就清楚了长520毫米、深420毫米、高420毫米放在桌面上不会显得臃肿搬动也不费劲。3. 装配过程中的手感和细节从T型螺母到力矩控制3.1 材料的切割、倒角和预装配我是在本地铝型材供应商那里买的现货要求按图纸尺寸切割。这里有个细节切割好的型材端面会有毛刺直接拼装会划伤手也影响接口的贴合度。到手后用倒角器处理一下每个端面的棱边五分钟能搞定全部型材这个时间值得花。预装配的目的是先把框架的几何形状锁出来先不上死螺丝。四个角的立柱和横梁用角件轻轻带上整个框架先以“能立起来但还能晃动”的状态放在桌面上然后用直角尺靠每个角逐一调整到接近90度后拧紧四角的螺丝再复查对角线长度误差。一个没有明显歪斜的矩形框架对角线误差通常在2毫米以内。装配顺序我建议是“先下后上、先外后内”先组装底部框架和四个角柱再安装顶部横梁这样框架已经成为一个稳定的整体。然后再把中部的承重梁和电源横梁装上。如果一开始就把所有型材和角件全锁死后面某个尺寸稍有偏差想调整就得全部松开非常麻烦。3.2 T型螺母和螺丝的选型避坑4040型材配套的T型螺母有两种一种是弹珠式带弹簧滚珠一种是普通式。弹珠式螺母可以在型材槽内滑动但不容易掉出来适合经常调整位置的场景普通式更便宜但装的时候需要用手指按住克服重力从槽的一端塞进去。openrig的承重梁我建议用弹珠式后续调整显卡仓位时方便固定立柱的地方用普通式就行毕竟不会经常拆。配套螺丝用的是M8×16内六角圆柱头螺丝。注意型材固定用的螺丝并非越长越好16毫米长度刚好穿过角件孔位和T型螺母的螺纹深度太长了会顶到型材槽底导致锁不紧。有朋友用M8×25的螺丝去锁结果螺丝抵住槽底螺母卡死在槽内怎么拧都感觉没到力矩最后只能拆开扩孔这种事情我见过不少。装配螺丝不建议使用电动工具。很多电动螺丝刀的低扭控制不精准而4040型材被过度锁紧后T型螺母会咬进槽口轻则留下难看的压痕重则让螺母无法再松动。用手动内六角扳手拧到感觉阻力明显增加之后再带大约四分之一圈这个手感在日常装配中完全够了。3.3 水平和垂直的控制方法框架装配好之后怎么确认它真的一点都不歪最土但最有效的方法是放一个水平仪在底框上分别沿长度方向和宽度方向检查。如果两方向都回中整个底面就是平的。接下来检查垂直方向把水平仪竖直贴在最外侧的立柱上调整角件位置直到气泡居中。还有一个技巧是“地板检查法”把整个框架倒扣在平整的地面上比如瓷砖或大理石看四个角是否同时着地。如果有一个角悬空说明框架有扭曲。这时候先找出是哪一侧的对角线偏长松开对应角件手动调整后重新锁紧再复查一次一般两轮就能完全校正。如果家里没有水平仪用一个盛水的宽口浅盘放上去水面静置后四周水位线一致也可以作为参照。但这个方法精度有限只适合在没有工具时做粗调。整体来说openrig的装配对精度要求不算苛刻因为后面的显卡固定槽位有较大调整余量框架本身只要基本方正装出来的整体外观就不会歪斜难看。3.4 理线路径和走线槽怎么处理这是开放式机架最容易翻车的环节。裸奔机架不像封闭机箱有背板空间藏线电源线、显卡供电线、USB分线、风扇线全部暴露在视野里如果随便一捆整体看上去就非常糟心而且杂乱线材也会阻碍风道。我用的方案是在机架两侧立柱的外侧面加装两条水平理线槽材质是PVC线槽尺寸是40×40毫米用尼龙扎带固定在型材上。电源线的走法统一从电源出线口向上绕过顶部横梁再从理线槽内横向分布到对应显卡位。每根线到目标仓位附近再引出长度留约10厘米余量不要过长堆成一团。显卡供电线是重点。六卡满载需要12条PCIe供电线加上两个CPU辅助供电线材很多。现在不少电源原装线是蛇皮网包覆又粗又硬很难压进窄线槽。我建议用定制的硅胶软线就是那种内部多股细铜丝、外皮柔软的手工模组线。软线的优点是走线随意弯曲塞进线槽后贴合度很好。如果预算有限也可以把原装线按长度重新理好用螺旋线管分段缠起来效果会略差但也能接受。风扇线相对简单买一个八口的PCB集线器固定在机架背面所有机箱风扇线通过集线器统一供电主控端一根PWM线走理线槽接到主板。整个装配完成之后从正面看过去除了显卡和风扇基本看不到任何一根乱跳的线头视觉上非常干净。4. 散热系统的实测与调整六卡满载温度怎么压到75度以下4.1 风道设计的基本原则开放式机架相比封闭机箱最大的优势就是风道天然更通畅但开放式不意味着随便装几个风扇就万事大吉。难点在于显卡散热器的进风方向各不相同公版卡是涡轮式进风在挡板附近水平横向出风非公版卡多数是轴流式风扇直接对着散热鳍片直吹。openrig采用的是“前下进风、后上出风”的对角风道。机架正面底部装两个12038工业风扇向机架内侧吹凉风机架后部顶部装两个14025风扇向外排风。这样的风向刚好和显卡散热鳍片的走向一致正面进来的冷空气先经过显卡供电接口区域再通过鳍片带走热量顺着机架后上方的排气风扇排出。每两张显卡之间再装一个12038风扇侧吹这个风扇的作用是直接往显卡背板和鳍片间隙吹风破坏两卡之间的边界层热堆积。实测下来侧吹风扇对显存温度的效果比核心温度更明显因为显存颗粒分布在鳍片两侧边缘自然风难以到达。4.2 实测温度数据与噪音控制我用四张显卡做了一轮完整的对比测试环境温度26摄氏度开放机架放置在桌面无空调直吹。满载方式是用渲染测试跑满GPU负载约20分钟记录核心和显存温度。散热配置GPU核心平均温度显存平均温度噪音感受无机箱风扇仅靠显卡自带风扇86℃94℃吵显卡风扇狂转两个进风12038无排气79℃88℃明显风扇噪声两个进风加两个排气72℃80℃中等噪声进风排气加卡间侧吹68℃74℃风噪明显可接受从数据上可以看出每增加一级散热配置核心温度大约下降6到8摄氏度侧吹风扇的边际效益最高。如果把全部六卡都跑满载温度会再高2到3度但依然控制在75度核心、82度显存以内对于长期运行来说算是一个健康的区间。噪音方面12038风扇在高转速下确实不安静。我的做法是给所有机箱风扇接PWM调速线日常非满载状态下用阈值控制系统将转速控制在800到1000转只有高负载时风扇才提速到1800转以上。有人说直接全速跑不就完了但开放式机架没有隔音层全速风扇的噪声在深夜环境中长时间连续满载听久了真的会头疼。用调速是兼顾散热和舒适度的选择。4.3 防尘和正压差处理开放式机架吸灰的问题无法避免但可以明显减轻。办法是让进风风量大于排风风量形成机架内部正压。正压环境下缝隙里流出的风会把灰尘推出去而不是从各个缝隙吸进来。具体操作是进风扇选风量更大的型号或者给进风区域加装可拆卸防尘网。我给两个进风风扇加了磁吸式PVC防尘网吸在型材上拆洗非常方便。运行一个月后对比加了防尘网后显卡鳍片上的积灰量大约仅为无网状态的四分之一。防尘网会带来一定风阻实测进风量降低约15%但因为进风扇本身风量冗余足够整体温度影响不到2度。另外要注意定期清洁。开放式机架不需要像封闭机箱那样拆侧板直接用气吹或者吸尘器就能处理表面灰尘两周一吹防尘网一个月一洗显卡散热器半年拆开换一次硅脂同时深度清灰这样机架的散热性能可以一直维持在新装状态附近。5. 电气与控制系统供电方案、时序控制与远程管理5.1 电源选型与负载分配六卡满载的功耗不容小觑。以单卡功耗250瓦计算六卡至少1500瓦加上主板、CPU、风扇、外设整机功耗接近1700瓦。供电方案我选了双ATX电源策略一台1200瓦金牌电源供给全部GPU一台650瓦电源供给主板、CPU和风扇。这样做的考虑是成本更低且更灵活——单台2000瓦以上的服务器电源价格高、噪音大而且对家用电路要求苛刻。GPU电源和主板电源必须做同步启动否则主板先上电而GPU没上电系统无法正常开机。方法是用“双电源启动线”一个大24针转接头从主机电源取电后把第二颗电源的PS-ON信号线短接。这样按主机开机键时两个电源会同时启动。要注意的是主板辅助供电和CPU供电必须接在主电源上光靠显卡电源是不能完成开机自检的。5.2 绑线排布与电源位校准安装电源时有一个非常容易忽略的点两颗电源的进风口朝向。如果都朝机架内侧整个机架内部会产生严重的风道扰动。我在设计时让主电源风扇朝机架背面外侧副电源风扇朝底部下方。这样两个电源各自独立进风出风与显卡风道互不干扰。供电线从电源出线口出来后分别沿左右两侧立柱往上方走再进入理线槽。62pin PCIe供电线建议购买单头双分线或者短线延长线避免原装线上还有多余的线头堆在槽里。实测中一张显卡最好单独占用一根线缆的末端接口不要从中间串联取电因为串联会降低供电稳定性高端卡瞬时功耗突增时可能导致电压跌落。5.3 远程开机与监控脚本openrig毕竟是一个运行时间长、负载高的机器为了省心我在系统层面做了两件事。第一是远程开机。用智能插座连接主电源插座断电情况下整机完全关闭。需要开机时通过手机APP远程给插座上电再配合主板设置里的“AC Power Loss 上电自动开机”功能机器就会自动启动。这个方案成本几十块钱比买远程管理卡划算得多缺点是操作系统关闭后不能直接断电必须先远程登录系统执行关机命令再等30秒切断插座供电。第二是运行监控。写了一个简单的shell脚本每五分钟读取一次GPU核心温度、显存温度、功耗和风扇转速记录到CSV文件同时通过系统日志服务推送到手机端。一旦某个指标超过阈值比如显存温度大于88度就触发系统日志通知在手机上立刻收到报警。脚本本身不复杂核心逻辑是调用显卡硬件监控命令读取数据后做判断我用的是#!/bin/bash while true; do temp$(nvidia-smi --query-gputemperature.gpu --formatcsv,noheader,nounits | sort -n | tail -1) memtemp$(nvidia-smi --query-gputemperature.memory --formatcsv,noheader,nounits | sort -n | tail -1) if [ $memtemp -gt 88 ]; then echo Memory temp critical: $memtemp | systemd-cat -t gpu-monitor fi sleep 300 done这个脚本配合系统日志服务开启通知规则实测很稳。某次因为防尘网堵塞导致显存温度爬升到91度我在办公室手机上及时收到了告警远程重启了渲染任务并把风扇调速策略临时改成全速运行避免了进一步的风险。6. 成本清单与减配方案openrig到底花了多少钱6.1 完整BOM清单很多人在帖子下面问你整个机架包含所有安装配件一共花了多少钱这里是我当时实际采购的清单供参考。价格是普通渠道的价格不同地区会有浮动。零件规格/数量参考价格4040铝型材各规格共计约6.5米按长度切割约220元角件三角形加强片40×40规格24个约60元T型螺母螺丝套装弹珠式12个普通式40个M8螺栓若干约50元理线槽PVC 40×40两段各1米约20元磁吸防尘网12038尺寸两个约30元侧吹风扇120384个约120元进风/排风风扇12038两个14025两个约140元风扇集线器八口智能调速1个约45元双电源启动线1根约15元硅胶软供电线定制模组线一套约180元合计约880元。注意这个价格不包含显卡、主板、CPU、内存、电源这些核心计算配件那些本来就是现成的或另行购买的。如果只算“机架结构散热理线”这部分880元是很有竞争力的且外观逻辑性比很多成品机架好很多。6.2 减配思路如果只装四卡能省到什么程度如果手头只有四卡机架尺寸可以直接等比缩小宽度从520毫米缩到440毫米横梁数量减少一根型材总长从6.5米降到5米左右角件数量减少四分之一。减配后整体成本可以压到600元左右。散热部分也可以适当精简。四卡方案不需要侧吹风扇全部装满每两张卡之间装一个也就是总共两个侧吹风扇就够。进风风扇可以只装一个12038排风扇用一个14025整体噪音会降低不少。理线槽同样可以缩水。四卡的供电线数量少三分之一理线槽可以只装一侧另一侧直接让线材顺着机架边缘固定走线。这样的减配方案在四卡满载测试中核心温度大约比满配版本高4到5度但依然在可以接受的范围。6.3 能不能更便宜二手的奥义如果预算极度紧张型材可以在二手市场找很多工厂改造自动化产线后会低价出拆机铝型材价格差不多是全新的一半甚至更低。不过要注意尺寸是否正好拆机型材往往长度不匹配需要自己切割。没有切割设备的话不建议为省几十块钱去折腾因为手切铝合金非常费锯条而且端面不一定能切平。角件和T型螺母这类标准件在闲鱼上也很多基本上都是工厂批量采购后剩下的杂物价格非常低。螺丝这类紧固件直接买专门的型材螺丝套装更靠谱散装螺丝容易出现标号混用的情况到时候少一颗或者长度不对又要重新买反而浪费钱。7. 踩坑实录我花了三批配件才搞定的问题7.1 T型螺母滑槽的教训第一次装配我在所有承重梁上都用了普通式T型螺母结果问题来了。普通式螺母没有锁定弹珠放进型材槽之后如果型材没有立刻立起来螺母就会顺着槽内滑下去掉进去拿不出来。当时有一个竖梁孔位装好之后发现螺母在里面翻转了90度螺纹孔朝向了侧面完全无法锁入螺丝。最后只能把这块型材整个拆下来用一根铁丝从槽的另一端探进去把螺母顶出来重装。解决方法是所有竖装型材就是螺母在竖直槽内的位置全部改用弹珠式T型螺母。弹珠的弹簧力度刚好能把螺母卡在槽内即使型材竖向摆放也不会滑落。价格上弹珠式确实贵一点但省下来的折腾时间远超这个差价。7.2 角件装反导致整排孔位错位的尴尬角件有分左右手的朝向问题这个很容易犯。三角角件上的固定孔位分布在三个方向装在立柱外侧和横梁下方时朝向完全相反。我第一次装六个角件三个装反了导致横梁上的安装孔位整体偏移了几个毫米。虽然勉强能锁住但横梁两端都是歪的整个框架看起来就像一个平行四边形。好在铝型材框架的好处就是可逆。我把所有角件拆下来一个个对着图纸确认方向之后重新安装这次先只锁对角线的四个角确认方正之后再把其余角件全部带上终于解决了偏移问题。经验就是预装配阶段不要一下就装全先定位四角再扩展中部。7.3 风扇选型时被“高风压”忽悠了最开始买风扇我只看标注的“高风压”三个字结果买来的几个12038工业风扇在全速运行时噪音巨大而且风量并没有想象中大。后来查资料发现风扇有两个核心指标风量CFM立方英尺每分钟和风压mmH2O两者很难兼得。高风压风扇适合吹散热器厚鳍片等阻力大的管路但在开放环境中优势不大。开放机架中的风扇主要是在低阻力环境下搬运空气应该优先选大风量、中低风压的轴流风扇而不是暴力扇。后来换了四个标注约110CFM、噪音等级在30多分贝的家用机箱风扇整体温度几乎没变但耳朵舒服了很多。如果非要使用高风压工业扇可以通过降速实现静音也就是把最大转速限制在1200转以内。不过这种风扇在低转速下的特性可能不如专用低转速风扇顺畅会有轻微轴噪。我的建议是直接一步到位选对的类型省得来回换。7.4 防尘网带来的正压塌陷装上防尘网之后一开始温度反而往上走了两三度我当时以为是防尘网挡住了风。排查发现其实不是防尘网的锅而是进风风扇的风量本来就和排风扇差不多防尘网让进风量下降后机架内部变成了负压外部灰尘更多不说气流路径也乱了热空气局部回流温度就上去了。处理方式是加装了第二个进风风扇并且把排风扇的转速降了一档让进风量始终大于排风量。调整后温度回落甚至比之前更低防尘效果也保住了。这个体验让我记住了一个原则开放式机架的散热设计风量的“方向平衡”比单纯堆数量更重要。7.5 原装供电线过硬的困扰最后一个是原装模组线的问题。好的电源原装线通常用18AWG或者16AWG线径外套PVC或者蛇皮网非常扎实但也很硬。六卡需要把很多线塞进理线槽原装线压弯之后回弹力大理线槽盖子根本扣不上。我最终直接订购了一套定制的硅胶软线16AWG纯铜线芯外加黑色编织网柔软度极佳装在机架上可以贴着型材走弯折角度再大也不会崩开。如果你也打算这么走线务必注意定制线的接线定义要和你的电源品牌型号匹配不同品牌的模组线定义不一定相同混用有烧毁硬件的风险。8. 这个机架还能怎么往上走水冷扩展、竖插改造和测试台模式openrig这个框架最大的价值不是“六卡能跑”而是它的型材结构决定了它几乎可以被无限改造。我自己目前已经开始琢磨下一个版本了。水冷方向的扩展是为了解决显存温度在高负载下的余量问题。现有的设计方案为水冷留了接口顶部横梁到侧立柱之间有一段距离正好可以装一个两排240冷排支架冷排固定在机架顶部外侧水管从理线槽上方穿过不会影响风扇风道。需要注意的是安装水冷后显卡的支架要换成带固定位的加强支架否则软管水冷头会给显卡PCB带来额外的坠力。竖插显卡也是一个玩法。把显卡垂直立起来安装卡与卡之间的间距可以做得更大形成“梳子”状的排列显存散热的风道会更加统一。实现方法很简单把显卡安装横梁换成PCIe转接延长线固定架再配合机架侧面的竖直安装条。这种形态下显卡的RGB灯光朝外视觉效果也整齐划一适合放在工作室里当展示平台。还有一个我经常用到的场景是“裸板测试台”。把所有隔板和装饰件拆掉只保留两块侧立柱加最底部横梁就能得到一个高度开放的最小框架。刷写显卡BIOS、测试核对供电波形、检查散热器贴合状态等操作在完全开放的结构上会比在封闭机箱里方便太多。openrig可以很轻松从“多卡计算平台”切换成“调试台模式”这是它作为开放框架区别于成品机架的核心体验。最后提一个细节。如果你决定自己动手做这个项目建议先画一个简单的草图把横梁位置、电源位置和风扇位置标出来再去买材料。不用画得多精细哪怕是手绘的方框也能帮你避免买错长度和数量。材料到了之后花一个下午慢慢装每一步都用手感确认不用贪快。这个架子一旦装好用三五年不成问题值得你慢慢来。
返回列表