用闲置零件自定义的家庭服务器
摘要
一位用户利用闲置零件自定义了一台家庭NAS服务器,包括改装的Zotac迷你PC和多个硬盘,以避免云存储成本和隐私问题,同时注意到受AI需求影响的硬件市场趋势。
暂无内容
查看缓存全文
缓存时间: 2026/09/20 18:37
# 我搞了台“香蕉NAS”
来源:https://asmat.ca/blog/i-went-bananas/
谷歌像其他所有被搞砸的云服务经销商一样,一直催我搞这个。大约一年来,我的手机一直提示账户即将存满,于是我将照片备份迁移到了一台Nextcloud实例上,腾出了空间,结果这催促就变成了提醒备份已关闭。Gmail也干同样的事,还时不时提供贴心的“升级”按钮。我可不想余生都得为自己的照片租用空间,更不想让谷歌查看这些照片。我想要一个存放家庭文件的地方,一个能备份多年来躺在手机和老旧PC上的照片的自动方案,还想要一台能全天候下载Linux ISO却不会被人注意的机器。我以为我需要一个NAS,于是我自己造了一个。
成品(https://asmat.ca/img/blog/i-went-bananas/nas-low-angle.jpg)成品## 帕斯卡赌注
老实说,过去几年买电脑越来越疯狂,尤其是GPU。幸运的是,我买过的每台电脑都有GPU(你永远不知道什么时候会需要那甜美的快速矩阵运算),结果发现我正好有一台适合这活儿的机器。
Zotac MAGNUS EN1070K(https://www.zotac.com/us/product/mini_pcs/magnus-en1070k)登场了,一个紧凑的盒子,搭载i5和经典的GTX 1070。它在客厅当了好几年媒体中心和偶尔的游戏机。我在机器人原型中使用过同型号,表现很棒。它待机功耗低,在GPU上转码视频,运行小型本地模型也毫无怨言。我当时根本没料到,选择帕斯卡GPU架构会对最终结果产生多大影响。
问题是,Zotac把它设计成只能容纳一个2.5英寸硬盘。于是,我在Onshape(https://cad.onshape.com/documents/066c01cffe249f8e1757c5a5/w/e859fc0acb6f99b32537dd0b/e/54fec4203c5d8eb1f143f64c)里给它机身设计了一个扩展件,用玻纤增强ABS打印出来,然后用螺栓固定上。里面是一个ICY Dock五盘位热插拔笼(https://global.icydock.com/product_65.html)、一个固定第六块硬盘的3D打印支架、一个Pico PSU(https://www.amazon.com/gp/product/B0D4QPHZQF?smid=AV0DDIXL2LYE1&psc=1)通过DC-DC转换器(https://www.amazon.com/gp/product/B07V6X6L89?smid=A3GYM455B71YGR&psc=1)(六个硬盘同时启动瞬间功率约125瓦)从Zotac升级后的19.5V电源砖取电,还有Noctua风扇(https://www.noctua.at/en/products/nf-a9-flx)来推动气流。六个SATA端口来自M.2插槽中的ASM1166适配器(https://www.amazon.com/gp/product/B0B5RJHYFD?smid=AE2OZG2NN3099&psc=1),这就是为什么那块1TB启动SSD现在住在2.5英寸硬盘位里。
Zotac置于打印扩展件之上(https://asmat.ca/img/blog/i-went-bananas/nas-open.jpg)Zotac置于打印扩展件之上其余升级部件来自我的废品抽屉。两根来自旧笔记本的DDR4内存条将内存提升到了平台支持的32GB上限,一块闲置的SSD用来启动,还有一个来自之前项目的WiFi网卡替换了原装的。我唯一花钱购买的部件是那个硬盘笼、适配器,以及让我颇为懊恼的硬盘。
## 笨办法
现在是2026年,我却买了六块机械硬盘。我本不想买的;我以为我们已经告别了机械旋转存储。这个容量的SSD,如果能找到的话,会花掉你两颗肾的钱。对于NAS来说,每TB价格至关重要;我尽力在实用范围内把它压低。别误会,机械硬盘也不便宜。AI数据中心正在买走晶圆厂能生产出的每一块硬盘、每一颗内存芯片和每一块GPU:西部数据的硬盘产能在2026年已全部售罄(https://finance.yahoo.com/news/hard-drives-sold-2026-ai-173205634.html),DRAM和NAND合同价格在一个季度内几乎翻倍(https://www.trendforce.com/presscenter/news/20260202-12911.html),而我们这些普通人只能以任何价格接手剩下的东西。eBay上有二手NAS硬盘的健康市场,我得以用合理的价格抢到一套匹配的8TB WD Red Plus。
它们组成了一个RAIDZ2存储池:原始容量43.7TB,可用29TB,任何两块硬盘损坏都不会导致数据丢失。我通过从在线池中拔出一块硬盘测试了这点。读写继续进行,Samba继续提供服务,几秒钟后我的邮箱收到了警报,当我把硬盘推回去时,它自动重新同步了。很难夸耀这种满足感,毕竟实际上什么也没着火。
二号盘位弹出(https://asmat.ca/img/blog/i-went-bananas/drive-tray-out.jpg)二号盘位弹出因为我就是我,存储池是加密的,启动时从家里的另一个密钥服务器自动解锁,所以偷走这个的人只会得到一个相当沉重的镇纸:这台机器本身重8.5公斤,算上替换原装的300W电源砖后超过10公斤。
## 只有风扇
聊个热门话题:散热很糟。通常的钢制机箱会把热量从硬盘导出,而我打印的外壳却把它们隔热了。六个盘位中有五个在待机时温度达到45°C,比理想温度高十度,仪表盘每天都警告我。我对外壳做了几次迭代,增加了额外的风扇;情况好了一点,但仍然热气腾腾。一个令人愉快的发现是,Noctua风扇确实安静且做工精良。
我的散热策略幸运的是,冬天快来了,所以我有些时间可以继续折腾它。
## 视觉盛宴
我本可以就此打住,装个操作系统然后收工。但我想要更多。具体来说,是想尝试有趣的UI。考虑到这台电脑本就不打算连接大屏幕,我觉得这是尝试些完全不同的好机会:我连接了一块微型屏幕。
我对自己在前面板上加的这块1.47英寸触摸屏(https://www.waveshare.com/esp32-s3-touch-lcd-1.47.htm)相当自豪。它由一个ESP32-S3驱动,我把它焊在了Zotac一个USB接口的焊盘上(EN1070K没有内部USB插针)。NAS通过串口将状态流式传输给它,固件用C语言配合LVGL(https://lvgl.io/)编写,渲染了七个可以滑动切换的界面:存储池健康状况、硬盘温度、应用状态、网络吞吐量等等。它会在一段时间后休眠,触摸唤醒。路过这台机器时,我能瞥一眼就知道状况,无需拿起另一台设备。而且,它看起来很酷。
带手势识别的触摸屏状态面板最后一个界面是电源菜单,所以我可以从前面板关闭或重启机器。它还附带了必要的倒计时,以防我最后一刻改变主意。
关闭NAS## 关于TrueNAS的真相
在开始这个项目之前,我看过很多YouTuber推荐TrueNAS用于他们的构建,并吹捧它的众多功能。我天真地相信了他们,以为我能使用这个看似完美的NAS发行版。多么令人失望。
NAS离路由器很远,没有有线连接可用,所以它运行在WiFi上(我知道,丢人!)。这让我失望的程度低于预期:WiFi 6E网卡协商的速度超过了盒子上千兆以太网口的任何可能,我通过它测到了893 Mbit/s的实际互联网吞吐量。
让我惊讶的是,这确实排除了TrueNAS。它根本不支持无线网络,无论是在UI还是控制台中。它最新的发行版也放弃了专有的NVIDIA驱动,转而使用开源内核模块,而后者不支持帕斯卡GPU,所以1070也会成为累赘。除了这两个硬性障碍,它让我失望的是它能做的事情太少:它是一个封闭的设备,希望你不要去动底层系统。即使我的显示守护进程(通过`/dev/ttyACM0`通信)运行起来也会很别扭。
所以NAS运行的是Kubuntu 24.04和ZFS,其他一切都通过Caddy放在Docker Compose后面,还有一个我自己写的仪表盘:一页,琥珀色在黑色背景上,呼应盒子本身。它显示硬件和服务的完整状态。它是通往所有NAS功能的门户。为仪表盘提供数据的JSON与发送给ESP32的序列化数据是同一份(保持两个UI与单一事实来源一致)。还有一个Actions API来触发备份和速度测试之类的操作。最终,这远远超过了我所知的任何NAS仪表盘的功能。
每个应用都有自己带TLS的主机名,整个项目是一个git仓库,包含用于检查和测试compose文件、systemd单元、Python、C代码和文档的`make`目标。我正在慢慢将其变成一个独立的操作系统,等它成型时我会分享出来。
我为家庭所有极客需求打造的赛博朋克一站式商店(https://asmat.ca/img/blog/i-went-bananas/dashboard.png)我为家庭所有极客需求打造的赛博朋克一站式商店## 我们称之为NAS的东西
名字里有什么?NAS是一个过时的名称。当然,它是连接到网络的存储,但这台盒子还提供媒体服务、索引照片、运行密码管理器、托管家庭的git仓库、保存备份并下载ISO。它是家庭的计算机,就像房子里有炉子和热水器一样。这才是我真正想要的;不幸的是,它还没有一个响亮简短的名字(暂时!)。
NAS正面全貌(https://asmat.ca/img/blog/i-went-bananas/nas-front.jpg)NAS正面全貌我离开云服务已经有一段时间了,这是迄今为止最大的一步。我放到这台机器上的所有东西都是我的,留在我能看到的地方,不依赖于订阅、服务条款更新或某家公司认为我的照片属于其训练集的决定。配额警告也停止了。我预计家庭计算机会成为常态:它们让我们拥有自己的数据、获得持久性和独立性,而我们大多数人已经拥有这些硬件,只是闲置在抽屉里。
i went bananas nas顶部(https://asmat.ca/img/blog/i-went-bananas/nas-top.jpg)i went bananas nas机箱接缝(https://asmat.ca/img/blog/i-went-bananas/nas-case-joint.jpg)i went bananas nas背面(https://asmat.ca/img/blog/i-went-bananas/nas-back.jpg)i went bananas 硬盘托盘展开(https://asmat.ca/img/blog/i-went-bananas/drive-trays-fanned.jpg)
相似文章
AI 在家(第一部分):一箱零碎
作者分享了一个 DIY 项目,利用廉价的二手服务器 GPU 和旧 PC 零件搭建一个经济实惠的家庭 AI 设备,以避免使用云服务。
我的新家庭服务器软件选择
一篇个人博客文章,详细描述了作者为新家庭服务器选择操作系统和服务管理软件的经历,比较了Synology、TrueNAS、Debian以及使用Runit的Void Linux。
@heynavtoor:你的储物间里有台旧笔记本电脑。积满灰尘。电池报废。处理器缓慢。你留着它是因为扔掉觉得内疚……
CasaOS 是一个免费开源系统,能将旧笔记本电脑或树莓派变成个人云服务器,用自托管方案替代 Netflix、Google Photos、Dropbox 和 1Password 等订阅服务。
使用旧电脑打造家庭服务器并升级GPU。Qwen3.8 27B以每秒约30个令牌运行。
一位用户使用改装的矿卡从旧电脑搭建家庭服务器,通过驱动补丁和硬件升级,实现了Qwen 3.8 27B AI模型每秒约30个令牌的推理速度。
IceWhaleTech/CasaOS
CasaOS 是一个开源的个人云操作系统,让用户能够轻松搭建自己的私有云和家庭服务器。