html

用旧硬件搭一台网络附加存储(NAS)服务器,是把那些原本只能吃灰的系统变成靠谱备份方案的最好办法。虽然你也可以选十多年前发布的性能较弱的系统,但大多数 DIY NAS 方案用的都是至少能挂几块硬盘的 x86 机器。

相比之下,树莓派不只在系统选择上受限,还带不动 2 到 3 块硬盘(除非你肯花钱买那些贵的 HAT 板和转接器),所以你能明白为什么这些基于 ARM 的单板计算机不适合干 NAS 的活儿。不过,我几个月前偶然看到一个社区项目,它把功能强大的 TrueNAS 带到了 ARM 系统上。在我的树莓派 5 上用了一阵子后,得承认这东西比想象中好用。

在树莓派上装 TrueNAS 得费点功夫

在树莓派上装 TrueNAS 得费点功夫

这都得怪树莓派不支持 UEFI

这都得怪树莓派不支持 UEFI

尽管 TrueNAS on ARM 项目解决了树莓派 ARM 芯片的兼容性问题,但这板子不像常见的 x86 迷你主机那样有 BIOS。所以,除非有专门针对这设备优化过的系统,不然想跑随便一个 Linux 发行版(甚至 Windows)都得装自定义 UEFI 包——而 worproject 那个现已归档的rpi5-uefi 仓库,这时候就派上用场了。

html

幸运的是,rpi5-uefi 在树莓派上运行起来相当简单,因为我只需要将一张 microSD 卡格式化为 FAT32,然后把解压出来的文件粘贴到其根目录即可。但由于这张 microSD 卡是作为 UEFI 分区使用的,我不得不使用一个 USB 供电的设备来安装 TrueNAS 系统。理想情况下,你最好用 SSD 作为启动盘,但因为这本来就是个异想天开的项目,我改用了一个便宜的闪存盘。

不过,rpi5-uefi 最大的问题在于,它会让 EEPROM 模块、GPIO 引脚、PWM 控制设置以及以太网端口在我尝试用此配置启动的任何发行版上都无法使用。考虑到 NAS 中的 N 代表网络,最后一点对于这个临时搭建的存储服务器来说是致命的。话虽如此,使用 USB 转以太网适配器可以解决这个问题,这样就只剩下两个插槽给硬盘了。而且平心而论,在没有额外配件的情况下给多个驱动器(尤其是机械硬盘)供电时,树莓派本来也容易出问题。

这套古怪的配置支持基本NAS功能

这套古怪的配置支持基本NAS功能

包括网络共享和rsync任务

包括网络共享和rsync任务

考虑到我之前在树莓派上裸机运行Proxmox和Windows 11的经验,我对TrueNAS在这款单板计算机上的性能并不太有信心。然而,社区移植版在简单NAS操作方面表现出奇地好。诚然,TrueNAS仪表盘可能无法正确识别处理器,但在这套临时配置上创建ZFS存储池是可行的。由于我想评估TrueNAS在树莓派上的能力,我选用了2.5G以太网适配器,并将一块SSD接入这块小巧的板子。

创建新的存储池后,我开始调整网络共享设置和用户配置文件。创建用于访问共享的新账户很容易,SMB共享的创建过程也同样简单。不到一分钟,我就能在PC上登录SMB共享,我的备用硬盘能够以稳定的210MB/s速度传输文件。对于一个在树莓派这样性能较弱的设备上运行不兼容发行版(该发行版底层依赖强大的ZFS)的项目来说,这确实令人印象深刻。

html

不过,TrueNAS 应用模板在基于 ARM 的单板计算机上无法使用,但这并不是什么大问题,因为我完全可以部署自定义的 LXC 容器。Rsync 任务运行得出奇地好,清理(scrub)任务也是如此。说实话,对于一台精简的 NAS 来说,这就是我所要求的一切了。

DIY 树莓派 NAS 在预算友好型家庭实验室中有其用途

DIY 树莓派 NAS 在预算友好型家庭实验室中有其用途

我要说明白:我不建议将树莓派用作专用 NAS。即使抛开以太网和 UEFI 的变通方案不谈,x86 机器对于主存储、归档和备份服务器来说总是更好的选择,更何况当前树莓派价格大幅上涨,这更让它在可行性评估中不占优势。

html

话虽如此,如果你手头有一块闲置的树莓派,但又没有资金去搭建一套专用的3-2-1备份体系,这个设置完全可以充当异地服务器。再搭配一台装有Tailscale的OPNsense路由器(甚至是在另一台电脑上运行的子网路由器),这台TrueNAS树莓派设备在从本地节点拉取rsync任务时相当实用。或者,你也可以直接将其用作冗余备份/冷存储机器(不过你可能要避免使用SSD进行长期存储,因为如果几个月不通电,SSD可能会丢失数据)。