在完成了把主要服务往搭载了飞牛 OS 的 Optiplex 3040 micro 的迁移之后,我又对 NanoPi R2S 动起了心思。这台机器也辛苦工作了快五年,既然升级,要么换了吧?
再次祭出上次这张图。
最后我的选择是:一台全新的树莓派 4B(4GB RAM)。
——为什么不继续使用 NanoPi 的其他产品,比如 R3S 或者 R4S?
我只是做服务器用而不是路由器,用不到双网口,这样看来除了树莓派之外最有性价比的就是 NanoPi R3S 了,CPU 性能介于 R2S 和树莓派 4B 之间,2GB 内存凑合够用,价格便宜到只比 R2S 高一点,但依然双网口且没有无线网络,最适合的系统也恐怕还是 OpenWRT。我想把机器丢在一个只有电源没有网口的地方,它做不到(或者加很多钱到没有性价比);我想跑完整的 Ubuntu Server,它只能跑 Ubuntu Core。若是我只想要一个用法相同、原地升级更强劲性能的 R2S 替代品,R3S 或许是最好的选择,但我现在打算改变用法了。
——为什么不一步到位购买树莓派 5?
的确,树莓派 5 的价格只比树莓派 4B 贵 50 元而已,性能和扩展能力则远超 4B;但反过来说,当我用不到树莓派 5 的性能的时候,树莓派 5 在待机功耗上也远超 4B,甚至当它跑起一些负载来的时候,可能都难以用简单的被动散热来压制。除此之外,奇葩的 5V 5A 电源要求也让树莓派 5 告别了普通 PD 电源,而原厂 5A 电源的价格又是大几十块,那么树莓派 5 的性价比公式在价格加上一个专用电源甚至一套主动散热散热器之后就荡然无存了。
——为什么不买更便宜的二手?
现在买一台全新的树莓派 4B(4GB RAM)价格是 350 元裸版,我去年六月买入一台同样是最新 1.5 版的二手树莓派 4B(4GB RAM)还配有带风扇的散热片花了 289 元,合新品七到八折。我觉得就算树莓派是硬通货,二手打八折也很够意思了,但现在二手价格都什么鬼?成色好的旧版(1.2 版及以前)卖 3XX 的比比皆是,更有甚者,有瑕疵的 1.5 版卖 320……我缺这三十块钱吗?遂直接买入全新。
或许再等到六月,等学生哥们做完毕业设计开始抛售的时候能再便宜到去年的价格?那也只是或许而已,不如现在就要。
——为什么不买 Orange Pi、Radxa 之类性价比更高的国产树莓派平替?
这是个好问题,但我反问一句,国产派真的有更高的性价比吗?
国产派的性价比体现在 CPU 性能和部分外设的扩展能力上,如果真的是拿来做开发可能会很受用,但如果只是拿来使用呢?
把性价比中的性能扩展开,生态也是性能的一部分。如果选用香橙派或者瑞莎 Rock 系列,我花多少钱都买不到一个现成的方盒子全金属被动散热机壳,但树莓派的类似盒子已经便宜到十几块钱一个了。即便是 NanoPi R4S 这样有官方金属机壳售卖的整机解决方案,这个金属机壳也折合百八十块,比树莓派的高端金属机壳都贵不少。
当我需要一台连接音箱的数字播放器,我可以很轻松地找到 Volumio 和 Moode 这样的树莓派现成应用实例,并且在树莓派 4B 上测试,最后把 SD 卡抽出来无缝衔接部署在更加便宜和小巧的树莓派 Zero 2W 上。如果是香橙派或者瑞莎,大概……只能手搓播放器了吧。
哪怕我只是简单需要一个 Ubuntu,树莓派有着 Ubuntu 官方背书的支持,而 Rock 系列得靠别人改出来。
更不要说我有一台现成的树莓派 4B,我可以在让一台树莓派跑着的同时于另一台树莓派上测试新的操作系统,测试成功只要交换 SD 卡便能再次完成一个无缝切换……
装进盒子比三明治散热片大一圈,但是得益于实心铝合金的热容和散热面积,能够以 0 分贝完全压住 4B 的发热量。
SD 卡插进卡槽和机壳平齐有点难抠,需要用镊子垫一条卫生纸把卡夹出来。卡的左边是把亮瞎眼的电源灯遮住一半的黑色电工胶布。
插上电源直接丢在书桌下面的理线槽里,不占任何空间也不发出任何噪音。我本来还担心全铝合金机壳和金属理线槽遮挡 Wi-Fi 信号,但实测和丢在开阔空间的三明治散热片形态没有什么差别,都是接近 100Mbps 的实际数据传输速度,够用。
装了官方的 Ubuntu Server,通过折腾学习了很多 Ubuntu 和 Docker 的操作和知识,技多不压身嘛。
常用的服务全部通过 Docker 在这台迷你 Ubuntu 主机上部署了一份,并且安装了一个 Sun-Panel 作为这些服务的统一入口。
Cockpit – 服务器的简易 WebUI
1Panel – 功能更多但是什么都不够专精的 WebUI
Portainer – Docker 的 WebUI
题外话:把这台 Ubuntu 主机部署好以后特别新鲜,隔三差五上去看一下。因为这台主机被命名为 UbuntuPi,所以像 Sun-Panel 这样的服务只要在局域网里输入 http://ubuntupi:<端口号> 便能直接访问,并不需要去记住或者分配固定 IP 地址,直到有一天我尝试从国产手机上安装的浏览器使用相同方式访问——
毫无疑问,iPhone、iPad 和电脑浏览器都是正常的,甚至我为了排除新版 Android 自己的问题而从 Android Studio 里运行了 Android 13(等同于红米的 MIUI 14)的虚拟机也完全正常。要知道我从不使用国产手机自带的浏览器上网,可是在我尝试了 Android 版 Firefox、Vivaldi 和 Chrome 等多个官方原版浏览器之后发现,这个问题和浏览器并没有关系,然而像 Termius 这样的终端软件又可以用 ubuntupi 这个主机名无障碍访问。
不仅仅是 ubuntupi,局域网内的 Moode Audio 数播和飞牛 OS 主机也都呈现相同结果。Moode Audio 官方推荐的访问方式是 http://moode.local,我尝试在 http://ubuntupi 后面也加入 .local 的地址,国产手机就能正确访问了。
太神奇了,国产手机是有什么魔法吗?
我唯一可以做出的猜想是,浏览器就那么几个,国产手机会拦截名单里浏览器访问的不 local 的域名直接交给外网的 DNS 去解析,从而跳过本该做第一手 DNS 解析工作的局域网网关路由器。
这就是我不喜欢用非官方操作系统的原因。你永远不知道操作系统里给加了什么料。