译文 · 原文: Home Lab: The Accidental System · 作者 Brian T. Kelley
原文:https://alwaysprocessing.blog/2023/06/11/hl-accidental-system 发布:2023-06-11 作者:Brian T. Kelley 译者:MiMo;代码块保留英文原样 | 仅供个人学习与交流
我起初并没打算搭建一个家庭实验室,但它就这么自然而然地出现了。本文将分享我为解决零散问题所做的选择,以及这些选择如何积累成一套规模超乎预期的硬件与服务集合。
多年来,我为了应对各种即时需求,陆续购置了各类系统、设备与服务。然而,我并没有一个全局、连贯的规划,这种被动、临时的应对方式造成了不必要的折腾,尤其是在无线网络硬件方面。在接下来的章节中,我将按时间顺序,逐一介绍每一项重要投入及其驱动事件,以此展示我是如何意外地踏入家庭实验室搭建之路的。
家庭实验室的演进
网络,第一版
我在 2014 年 9 月搬进了一栋新的联排别墅,并带来了当时唯一拥有的网络基础设施:一台 AirPort Extreme [1]。我将它安装在三楼的接线柜中,让它和电缆调制解调器都隐藏在视线之外。然而,这个安装位置(位于房屋水平与垂直足迹的尽头)以及放置方式(置于金属箱内)对于全屋覆盖来说都是次优选择,因此我在一楼额外增加了一个有线连接的 AirPort Express 802.11n(第二代)接入点。
当时我的网络拓扑结构中的终端节点并不多(一部手机、一台笔记本电脑、一台工作笔记本、一台 Apple TV,可能还有其他几个设备),所以这个配置在最初几年里运行得还算不错。(我不认为终端节点是家庭实验室的一部分,因此相关提及会保持简洁,以紧扣主题。)
网络,版本 1.1
2017 年夏天,家里多了几位室友,那套备受质疑的 WiFi 系统亟待改善。但我既不懂问题所在,也不熟悉当时的主流方案,于是将 AirPort Extreme 更换为 AirPort Extreme 802.11ac,这稍微改善了 WiFi 覆盖。我们还通过以太网连接了几台设备来缓解一些遗留问题,使家庭网络连接总体达到” 够用” 的状态。
NAS,第一版
随着家里人增多、存储空间变小,我开始盘点可以丢弃的东西。硬盘实在太多了,于是我决定购买一台网络附加存储(Network-Attached Storage,NAS)设备来:
整合到单一设备中。当时我拥有 4 块 USB 2.0 硬盘、1 块 FireWire 400/800 硬盘、2 块 USB 3.0 硬盘和 1 块 Thunderbolt 2 硬盘。苹果在 2016 年全面转向 USB - C/Thunderbolt 3,这意味着我连接部分硬盘盒的能力正在倒计时。我尤其担心那个 FireWire 硬盘盒 —— 它不仅接口过时,还以 RAID 0 配置搭载了我最珍贵的数据 —— 如果真有必要换盒,我对其能否被其他盒子读取毫无把握 [2]。
提升硬件故障韧性。我曾遭遇过两次正在使用中的硬盘故障。其中一次没有任何备份,那过程非常痛苦。我原以为新购买的硬盘能安全使用一段时间,但它在购买后三个月内就坏了。另一次故障发生在外置备份硬盘上,我顺利地替换了它,没有造成额外麻烦。
确保数据可访问性。我当时家里没有书桌,每次连接硬盘都需要找个稳定的地方放置(所有硬盘都是旋转式机械硬盘),找到对应的电源适配器和数据线,再把所有东西插好。虽然偶尔使用尚可,但网络挂载方式连接起来要方便得多,而且可以在家里的任何位置使用。
当时,我认为网络附加存储(NAS,Network-Attached Storage)只是通过网络挂载提供访问的存储设备,所以很困惑为什么市面上那么多 NAS 设备会有各种不同的处理器和内存规格。我没有花时间弄清这个疑问,而是直接购买了当时评价最好、规格最低的设备 ——Synology DS216 + II,并安装了两块 10TB、7200 转速的 Deskstar NAS 硬盘(这是该型号支持的最大容量),配置成 RAID 1 模式。
群晖的责任随着时间推移逐渐增加(尽管规格严重不足,它仍能胜任),而且硬件至今仍在稳定运行。
网络 2.0 版
2018 年夏天,我们尝试在屋顶露台设置投影仪和 Apple TV,但 WiFi 覆盖需要改善,附近也没有以太网布线。由于苹果已正式停产 AirPort 产品线,我决定用新系统替换 AirPort 设备。在以太网可用的位置安装了 eero Pro(第二代),并在屋顶露台门边添加了一个 eero Beacon。最终,整栋房屋和屋顶露台的 WiFi 覆盖都达到了优秀水平!
网络 2.1 版
2020 年夏天开始居家办公几个月后,我有幸在开通第一天就装上了 CenturyLink 光纤网络。940 Mbps 对称连接相比 Xfinity 有线网络的 50/10 Mbps 带宽(译注:此处指下行/上行速率)有巨大提升,每月还便宜 20 美元!
我之前搬到了新家,这里的调制解调器 / 路由器配置与联排别墅不同:媒体柜内放置了有线调制解调器和一台 eero Pro,而 eero Pro 通过以太网连接至布线箱,其中包含一个交换机用于连接屋内其他接入点。
光纤互联网连接从外部接入点引入布线箱,因此需要将新路由器放置在此处。我曾考虑为布线箱额外购买一台 eero Pro,但世纪电信(CenturyLink)免费提供了 Actiontec C3000A,我不想在路由器上花费太多。同时我希望避免再次在金属箱体内安装 WiFi 接入点,尤其是当它附近存在更理想位置的接入点时。
于是,我选择了阻力最小的方案:将 Actiontec C3000A 用作布线箱内的路由器,并将媒体柜中的 eero Pro 重新配置为仅作为接入点使用。
Mac 主机,版本 1
苹果在 2020 年夏季宣布了从英特尔 CPU 向 Apple Silicon(苹果自研芯片)的过渡。我购买了一台 Mac mini (2018)(2018 款 Mac mini),以确保自己有一台可用于测试的英特尔 Mac,并能覆盖到英特尔 Mac 用户群体的尾声阶段。同时,我还购入了一台 Mac mini (M1, 2020)(M1 芯片,2020 款 Mac mini),以便拥有一台用于测试的入门级、第一代 Apple Silicon Mac。
NAS,版本 1.1
2020 年底,我在群晖(Synology)上又增加了两项服务,因此它不再仅仅是网络附加存储(Network-Attached Storage, NAS)。
我们大量使用 HomeKit(家庭套件),但有几台设备不兼容 HomeKit。在了解到群晖支持 Docker(容器化技术)后,我安装了一个 Homebridge 容器,并在一个晚上就让那些不兼容的设备通过 Homebridge 成功接入了 HomeKit。
在搬到西雅图之前,我已经将多年的家庭录像进行了数字化。现在,有了足够的上行带宽,并且在从火线(FireWire)硬盘盒中的磁盘恢复文件后,我希望能让家人(以及在家中)方便地观看这些录像。我尝试了群晖的 Video Station,它能用,但体验有些笨重。于是,我试用了 Plex。虽然设置起来需要更多的功夫,但它对所有人来说都更易用,这就是为什么我选择它来从群晖服务器上提供视频服务。
实验室,版本 1
我花了不少时间才为 Synology NAS 找到合适的安装位置。它需要以太网连接,但又需要防止意外碰撞。唯一满足这些要求的地方是电视的媒体柜。但这并不是理想位置,因为 Synology 会产生背景噪音,影响房间使用和看电视。
经过一番考虑,我购买了一个壁挂式机架,安装在设备间。选择壁挂式是为了将设备抬离地面,防止被水淹;选择机架是为了提供比普通架子更好的防碰撞保护。设备间没有以太网接口,但我从相邻房间的邻近端口拉了一根线过来。
我不推荐这种做法。机架会把 Synology 的噪音通过墙壁传导到相邻房间(虽然在这个案例中,噪音影响较小)。而且我选的机架深度不足,无法支持某些机架式服务器。
NAS,版本 1.2
我差点省略这部分,因为挺尴尬的。我主要使用的电脑没有定期备份,并且直到 2021 年 9 月 —— 购买群晖(Synology)近四年后 —— 才启用 Time Machine(时光机)支持🤦♂️。
实验室,版本 1.1
当遇到大风、强降水或大量降雪时,我们偶尔会经历轻微的电力波动或中断。在 2021 年深秋至初冬期间,这类事件频发,我担心这可能会损坏或导致群晖硬盘中的数据损坏。我购买了一台 CyberPower 1500VA / 900W 不间断电源(UPS),以确保未来的电力波动不会影响群晖,并保证在断电时群晖有足够时间安全关闭。
网络,版本 2.2
到 2022 年初,我的工作 VPN(虚拟专用网络)连接频繁中断。我不清楚这是由于 Actiontec C3000A 路由器的故障率升高,还是因为家庭网络流量已超出路由器的处理能力,亦或是问题一直存在但变得更加明显。
由于大多数推测都指向路由器,我并未尝试深究问题根源,而是将其更换为 Ubiquiti EdgeRouter 12。效果非常显著 —— 网络吞吐量有了明显提升,且连接中断的情况消失了。
NAS,版本 1.3
许多公司都在探索日历管理与共享解决方案,但通讯录和联系人获得的关注较少。我有一些联系人共享的使用场景,因此安装了 Synology Contacts 来看看它能否满足我的需求。它在有限场景下确实运作良好,我目前也在使用,但同时也在寻找更完善的方案。
NAS,版本 1.4
我使用 NetNewsWire 来跟踪众多订阅源和博客。遗憾的是,出于未知原因,我一直无法让 iCloud 同步功能正常工作。我希望在不同设备间同步订阅源和已读状态,因此在 2022 年 12 月假期期间,我在 Synology 上搭建了一个 FreshRSS 容器,并将订阅源迁移至这个自托管服务。将 NetNewsWire 作为主要客户端,配合 FreshRSS 作为后端,使用效果相当不错。
总结
在超过 8 年的时间里,我的家庭计算基础设施从一个简单的路由器 / 无线接入点安装,演变成了支持半打服务的各类硬件混合体。截至 2023 年 4 月底,我的家庭实验室由以下部分组成:
硬件:
- CyberPower 1500VA / 900W UPS(不间断电源)
- ECHOGEAR 10U 网络机柜
- 三个 eero Pro(第二代)和一个 eero Beacon
- 搭配两块 10 TB 7200 RPM Deskstar NAS 硬盘的 Synology DS216 + II
- Mac mini (2018)
- Mac mini (M1, 2020)
- Ubiquiti EdgeRouter 12
服务:
- FreshRSS
- Homebridge
- Plex
- SMB 文件服务
- Synology Contacts
- Time Machine
在此期间,随着需求变化,我淘汰并替换了以下硬件:
- Actiontec C3000A
- AirPort Extreme 802.11ac
- AirPort Express 802.11n(第二代)
- AirPort Extreme 802.11n(第二代)