如果只看结果,我现在家里的这套东西多少显得有点荒诞。一个机柜里塞着服务器、NAS、交换机,五把用扎带、螺丝堪堪固定住的风扇;一台 Orange Pi 接着 GNSS 和 PPS,认真地从卫星那里获取时间;PVE 里同时跑着 OpenWrt、媒体服务器、下载器、密码管理器、RSS、WireGuard、监控和几个乱七八糟的小服务;NAS 和电脑之间甚至拉起了万兆网络。出门以后,还有 VPS 和 WireGuard 把家里的网络延伸到公网。就连一个本来应该揣在口袋里的中兴 F50,我也拆开过,照着社区里的图纸在嘉立创 CNC 了一块铝合金散热片,再配上导热垫和石墨散热材料,把它重新塞了回去。
如果把这些事情逐条列出来,很容易得到一个问题:
有必要吗?
其实,大多数都没有。时间同步随便找一个公共 NTP 就够了;密码管理可以买 Bitwarden、1Password;影视可以订流媒体;文件可以买云盘;远程组网也有大量商业产品;甚至服务器本身,都完全可以换成一台 VPS。从“把事情完成”的角度来看,很多时候别人替你维护的服务甚至做得更好。但 Homelab 有趣的地方恰恰在这里。它不是一套追求“必要性”的系统。对我来说,Homelab 更像是在数字生活中,逐渐留出一块自己能够理解、控制、修改的地方。但回头看,我搭这套东西时其实还有一个很固定、也很现实的思维习惯:我总在想,如果正常条件突然消失了怎么办?
断网了怎么办?断电了怎么办?一条线路没了怎么办?一台机器突然挂了怎么办?我当然没有能力在家里复刻真正的数据中心,也做不到什么严格意义上的高可用。很多时候,我想要的其实只是——别让一次故障变成彻底失控;哪怕只能多留一条退路,也比什么都没有好。
一、Homelab 到底是什么?
Homelab 这个词拆开看非常简单:
Home + Lab。
显而易见,家庭实验室嘛。但如果一定要给它下一个定义,反而很容易越解释越偏。有人家里放一台 NAS,就觉得自己有 Homelab;有人一定要有 Proxmox、Kubernetes、UPS 和机架交换机才肯承认;还有一些人的地下室已经和小型企业机房没什么区别。我倒越来越觉得,硬件规模不是关键。Homelab 最核心的特征,可能只是:
你开始主动建设、维护一些原本完全可以交给别人提供的数字基础设施。
它可以是一台 NAS。也可以是一台跑着几个 Docker 的旧电脑。甚至可能只是一个树莓派。重点不是有多少设备,而是你开始问:
- 我的数据一定要存在别人那里吗?
- 我的服务一定要依赖某个平台吗?
- 我能不能从外面安全地回到自己的网络?
- 如果一个服务明天消失,我有没有替代方案?
- 如果一块硬件坏了,我知不知道哪里出了问题?
- 如果突然断网、断电,我有没有下一步可走?
一旦开始问这些问题,Homelab 往往就自己长出来了。而且通常不是经过什么宏伟规划以后一次性建成的。至少我的不是。
二、它并不是一开始就长成这样的
我从来没有在某一天坐下来郑重决定:
“我要建设一套家庭数字基础设施。”
实际过程要零碎得多。一开始只是为了体验 NAS,买了一台刷了黑群晖的猫盘。然后发现为了实现高可控性,软路由似乎也得提上日程。换了 DS920+ 后发现千兆网络偶尔开始碍事,于是又研究 2.5G 和万兆。服务越来越多以后,又不想全部塞进同一套 Debian 环境,于是开始用 PVE、VM 和 LXC。想从外面访问家里的东西,就开始折腾 VPN。再然后,我居然开始研究“授时”。从 GNSS、PPS,到 chrony,再到晶振的频率偏移。想知道它到底运行得怎么样,于是又有 Prometheus 和 Grafana。一件事情会自然地引出下一件事情。于是某一天回头一看:服务器有了。NAS 有了。
交换机有了。万兆有了。公网节点有了。移动网络节点有了。时间服务器居然也有了。然后它们还全被塞进了一个机柜。这大概才是很多 Homelab 最真实的生长方式。
不是建设,而是迭代和进化。
三、先从机柜说起
Homelab 玩到最后,很容易遇到一个非常朴素的问题:
这些东西到底放哪里?
一两台机器的时候很好解决。桌子下面塞一塞,柜子旁边放一放,NAS 往角落里一扔。设备多起来以后情况就开始失控。电源线、网线、风扇、交换机、NAS、服务器全都堆在一起,而且它们还有一个所有计算机都逃不过的问题:
发热。
我研究了很久机柜。标准机柜当然很好,但现实条件并没有那么标准。房间能留给它的高度和深度都很有限,尤其是深度,根本容不下那些正经的 600 深机柜。最后我没有买一开始考虑的图腾,而是买了一个杂牌机柜。理由也非常朴素:
便宜,而且高度更合适。
当然,便宜和尺寸合适的代价就是很多事情只能自己处理。其中最折磨人的就是散热。我花了相当长的时间研究风道,最后弄了一套看起来并不怎么优雅的方案:DC 电源,调速,再塞进去大约五把风扇。线很多。走得也绝对称不上赏心悦目。如果拿企业机房标准来看,多少有点不忍直视。但它确实工作得很好。在后来重新调整风道之后,主力服务器的 CPU Package 大约只有 46℃,各核心基本在 41~46℃,几块 NVMe 大概在 40~53℃。对于一台长期塞在家用机柜里的服务器来说,我已经相当满意。这个过程给我留下一个非常深的印象:
Homelab 很多时候根本不发生在命令行里。
最后困扰你的会是:
- 热空气往哪走;
- 哪边应该进风;
- 哪边应该出风;
- 风扇高速是不是太吵;
- 会不会有共振;
- 线会不会挡住风;
数字基础设施最终仍然存在于物理世界。
断电以后怎么办:UPS 不是用来“继续硬撑”的
而在物理世界里,还有一个比温度更粗暴的问题:
电会停。
对于台式机来说,突然断电顶多让人骂一句;但当一台机器上同时跑着 PVE、虚拟机、LXC、数据库、下载任务,再加上一台正在读写数据的 NAS 时,我不太愿意把“市电永远存在”当成系统设计的一部分。所以这套 Homelab 里还有一个很重要、平时却几乎没有存在感的东西:UPS。 我对 UPS 的期待并不是“停电以后让整个机柜继续跑几个小时”。家庭环境里这么做既昂贵,也没太大必要。它更重要的意义,是在市电消失和设备真正失去供电之间,硬生生买出一段缓冲时间。这段时间可以让系统知道:
停电了,该准备收尾了。
PVE 这边通过 NUT 的 nut-monitor/upsmon 获取 UPS 状态。这样停电就不再只是某一刻突然“啪”地一下全部变黑,而可以变成一个有状态、有通知、能够执行关机逻辑的事件。理想的过程应该是:
市电消失 → UPS 接管 → 系统收到状态 → 停止不重要的任务和服务 → 数据落盘 → 虚拟机与容器退出 → NAS、PVE 安全关机。
这件事让我后来对“可靠性”有了一个很朴素的理解:
高可用不一定意味着永远不关机。有时候,知道什么时候该体面地关机,本身就是可靠性。
家庭 Homelab 不会有双路市电,也不会有柴油发电机。很多时候真正现实的目标并不是“永不下线”,而是让故障发生的时候尽可能可预期、可恢复。
四、开放不等于必须刷机:家里的主网络
如果按照某些 Homelab 玩家的思路,家里的主路由大概应该立刻刷上 OpenWrt,然后 DHCP、DNS、PPPoE、代理、策略路由全部统一接管。我并没有这么做。现在家里的基础网络仍然是消费级设备:
- 小米 BE6000;
- 红米 BE6000 Mesh。
主路由负责 PPPoE 和最基础的家庭联网。我父亲本身也玩这些东西,所以网络并不完全是我一个人的领域。但随着设备越来越多,我反而越来越不愿意让实验环境直接绑架整个家庭网络。我们对主路由做过的事情,其实没有“刷 OpenWrt”那么激进。只是解锁了 SSH。 后来还在上面装过一个极其轻量化的 ShellClash,不过应该已经停掉了。SSH 权限却一直保留到了今天。我后来开玩笑给它取了一个挺贴切的说法:
支援未来。
现在可能完全用不到。原厂系统只要稳定运行就好了。但如果未来某一天需要进一步排障、修改或者扩展,我至少还有一个入口。我觉得这比“所有东西必须开源、必须刷机”更接近我现在的想法。开放性并不意味着必须立即使用所有权限。
能够选择,本身就是一种价值。
而另一方面,家庭网络和 Homelab 也应该存在边界。实验失败没什么。某个 LXC 崩了也没什么。但如果因为我半夜测试一条奇怪的防火墙规则,导致第二天全家打不开网页,那 Homelab 就开始侵犯别人的生活了。所以我越来越接受一种看起来不够“极客”的做法:
家庭基础网络负责稳定,实验网络负责折腾。
这两件事并不冲突。
断网以后怎么办:给网络留第二条路
和断电一样,我搭很多网络相关的东西时,脑子里经常冒出的也不是“它正常的时候有多快”,而是:
原来的路走不通了怎么办?
固定宽带会故障,运营商之间的互联会抽风,某台 VPS 会失联,某条中转也可能突然不可用。家庭环境当然没必要为了这些情况堆一套企业级多线 BGP,但至少可以尽量避免把所有能力压在唯一的一条路上。这也是后来 VPS、WireGuard 和移动网络节点逐渐出现在这套 Homelab 里的原因之一。公网节点可以承担入口、中转和出口;WireGuard 把不同位置的设备重新拉进一张我自己能看懂的网络里;而中兴 F50 则提供了一条完全独立于固定宽带之外的 5G 接入能力。
这些东西目前并不意味着“家里断网以后会自动无缝切到 5G”——我并没有把它包装成一套听起来很厉害的全自动容灾系统。它们真正给我的,是第二种可能。当某一条路径坏掉时,我不至于立刻只剩下“等运营商恢复”这一种选择。所以我后来越来越在意的,其实不是某一条线路能不能做到绝对稳定。绝对稳定本来就不存在。我更在意:
如果它不稳定,我还有没有另一条路。
五、网络开始变快:一台很普通的水星交换机
现在整个 Homelab 的交换核心是一台很廉价的水星交换机。规格是:
- 4 个 2.5GbE 电口;
- 2 个 10GbE SFP+。
它不是什么商用或是企业级退役的产品。就是一台很普通、很好买、价格也相对便宜的网管型交换机。但两个 SFP+ 口现在都已经用起来了。其中一路插了 10GBase-T 光电转换模块,再通过普通 RJ45 网线连接 NAS。另一路则直接用 SFP+ DAC 直连铜缆连接桌面电脑的万兆网卡。于是家里终于出现了一条真正意义上的万兆数据通道。这件事情单独拿出来看当然很容易变成测速游戏。“看,我能跑 10Gbps。”但对我而言,它真正有意义的地方并不是测速软件里的数字。而是 NAS 的角色发生了变化。以前的 NAS 很像:
网络另一端的一块硬盘。
网络快起来以后,它逐渐变成:
本机存储的延伸。
当然,三块机械硬盘 RAID5 和 M.2 固态缓存本身不可能在所有场景下吃满 10GbE。但至少网络不再天然是第一道天花板。以后无论是多客户端并发、备份还是存储升级,都还有余地。
六、存储和计算,为什么要分开?
整个 Homelab 现在最核心的两个设备其实很好理解。一个负责算。一个负责存。计算核心是 Minisforum MS-01。CPU 是 Intel Core i5-12600H,内存 16GB DDR5,上面运行 PVE。数据核心则是一台 Synology DS1618+。里面现在是三块 4TB 机械硬盘组成 RAID5,加上两条 256GB 固态组成的缓存,实际可用容量大约 8TB。它负责长期保存媒体、文件和各种数据。这里还有一个很容易被混淆的概念:RAID 不是备份。
RAID5 能提高一块硬盘故障时继续工作的能力,但误删、文件损坏、机器整体故障乃至更极端的事故,都不是 RAID 本身能够解决的。对我来说,把计算和数据拆开至少先解决了一件事:**应用坏掉和数据坏掉,不应该天然变成同一场事故。**两者之间的关系,可以用四个字概括:
存算分离。
最典型的例子就是 Emby。Emby 服务本身跑在 PVE 的 LXC 里。媒体文件却放在 NAS。需要播放的时候,服务器从 NAS 读取媒体,然后利用 12600H 的 Intel 核显进行硬件转码。这里顺便纠正一个经常会说错的术语。LXC 里让 Emby 使用核显,一般不像虚拟机那样叫完整的 PCI Passthrough。更准确地说,是把宿主机的 /dev/dri 等 GPU 设备节点映射给容器,让它直接调用核显。
于是:
NAS 负责存,MS-01 负责算。
它们不必被绑死在一台机器里。以后我要换服务器,并不意味着媒体库也必须跟着迁移。NAS 要升级,也不用动应用环境。优雅至极。
七、一台机器为什么能变成十几台机器?
如果没有虚拟化,我大概会很痛苦。现在 MS-01 上跑的是 PVE。里面主要有两台真正的 VM。一台是 OpenWrt。另一台负责 SIM 卡托管相关的服务。除此之外,大量服务则使用 LXC 嵌套 Docker 进行管理。目前包括:
- Emby;
- qBittorrent;
- WireGuard;
- 数据采集;
- Grafana;
- 一些小游戏复刻服务端;
- Homepage;
- Vaultwarden;
- RSS;
- 贴吧签到;
- 其他零碎工具。
如果第一次接触虚拟化,很容易产生一个疑问:
为什么这么套娃?
PVE 里面 LXC,LXC 里面还有 Docker。直接全部装在宿主 Debian 里不是更简单吗?刚装的时候当然更简单。真正的问题往往发生在几年以后。你 SSH 进去以后看到几十个端口:
8081 是谁?
8083 又是谁?
这个 Python virtualenv 为什么还在?
PostgreSQL 是哪个服务装的?
这个 Node.js 能不能升级?
删掉这个依赖会不会顺手把另一个服务炸掉?
这时候隔离的价值就出来了。对于家庭用户来说,我不需要什么宏大的“云原生架构”。我只是想让:
一个东西坏掉的时候,最好只坏它自己。
Emby 有 Emby 的环境。下载器有下载器的环境。Docker 里那些小服务又被单独放在另一个容器里。哪天我不想要了,整个容器删掉就是。从这个角度来说,虚拟化对 Homelab 最大的意义,不是把一台服务器“变出更多性能”。
而是:
给不同的用途划出边界。
八、自托管并不是一种宗教
Homelab 很容易滑进一个奇怪的方向:看到任何 SaaS 都想自己搭一个。网盘要自己做。密码管理要自己做。笔记要自己做。照片要自己做。Git 要自己做。聊天要自己做。到最后,原本是为了拥有自由,结果却变成每天都在维护服务。我不太赞同这种路线。自托管应该有理由。Vaultwarden 就是一个比较典型的例子。密码数据足够重要,而且服务本身又很适合自托管,所以值得。Emby 也一样。自己的媒体文件,本来就在 NAS 上,那么自己组织媒体库、自己转码,非常自然。RSS 则代表另一种意义。它不是单纯为了“省钱”。而是在算法推荐越来越强势的环境里,保留一种自己选择信息源的方式。
至于贴吧签到这种东西,则没有什么宏大哲学。就是:
懒得每天点。
于是自动化。Homelab 里其实有很多这样的服务。它们存在并不是因为世界需要一个更好的分布式签到基础设施。
只是因为:
“反正服务器一直开着,那让它顺便干了吧。”
这也是家庭服务器很有意思的一点。对于云服务器来说,一个服务值不值得存在,还要考虑实例成本。而当家里本来就有一台 24 小时运行的机器时,多跑一个小容器的边际成本可能非常低。于是很多奇怪的小服务就有了生存空间。
九、最没必要的项目:我在家里做了一台 Stratum 1
如果要从整套 Homelab 里挑一个最难用“实用性”解释的东西,我大概会选 NTP 时间服务器。硬件很简单:
- Orange Pi Zero 3;
- u-blox GNSS;
- PPS;
- DS3231 RTC;
- chrony。
现在它是一台 Stratum 1 时间服务器。GNSS 给出绝对时间。PPS 提供精确的秒脉冲。chrony 再利用这些信息校准系统时钟。从实际需求来说,这件事几乎毫无必要。公共 NTP 服务器到处都是。局域网里的电脑哪怕误差几毫秒,对绝大多数事情也没有任何影响。但这恰恰是我很喜欢这个项目的地方。最初的问题可能只是:
能不能自己搭一台 NTP?
搭好以后又开始问:
PPS 到底能有多准?
再然后变成:
系统时钟到底偏了多少?
再后来:
晶振本身的频率怎么漂?
于是事情开始失控。我把 chrony 的数据采进 Prometheus,又给它做了 Grafana 面板。现在能看到:
- Stratum;
- Last Offset;
- RMS Offset;
- System Time;
- Frequency;
- Residual;
- Skew。
正常运行时,很多误差已经能长期压在微秒甚至更低的尺度。但真正有趣的不是看到一个特别小的数字。而是开始理解:
“时间同步”并不是简单地把钟拨到正确位置。
一个计算机里的时钟,本质上来自一个会随温度、电压和自身特性缓慢漂移的振荡器。NTP 或 chrony 做的事情,并不是隔一会儿粗暴地把时间改回去。它在持续观察这个钟:你走快了多少。最近漂移方向是什么。频率需要修正多少 ppm。误差有没有收敛。于是 Grafana 上那几条原本毫无意义的线,开始有了物理含义。我最开始只是想知道:
现在几点?
后来却变成了:
我想看看一块晶振是怎样被卫星时间一点点驯服的。
如果一定要解释 Homelab 里面那个 Lab 到底是什么,我觉得这台 NTP 服务器可能就是答案。有些项目存在,不是因为它能解决什么迫在眉睫的问题。而是因为:
我想知道它究竟是怎么工作的。
十、Homelab 并不止于 Home
如果一套系统永远只能在家里访问,它总会有一点局限。所以我后来也一直在折腾公网节点。手里有过或者现在还在用的包括日本 NAT 线路、CN2 GIA、沪日中转等 VPS。如果只从代理的角度介绍它们,会显得很片面。对现在这套 Homelab 来说,这些机器更像:
公网基础设施。
它们可以承担:
- WireGuard 节点;
- 公网入口;
- 中转;
- 出口;
- 跨网互联;
- 某些服务的暴露。
也正因为这样,我后来逐渐放弃了 Tailscale。这里并不是简单地说“Tailscale 不好”。它很好用,而且大大降低了组网门槛。真正让我改变方向的,是我越来越不希望核心组网能力长期依赖一个商业控制平面。于是最后重新回到了 WireGuard。WireGuard 很“笨”。它不会替你自动发现所有节点。不会帮你处理所有路由。也不会自动把复杂网络包装成一个漂亮的控制台。密钥你自己管。路由你自己写。出口你自己决定。但也正因为如此,它很容易理解。我的两个端点之间发生了什么,配置文件基本已经说完了。这很符合我后来逐渐形成的一种偏好:
核心基础设施可以不那么方便,但最好足够简单,简单到我能理解它。
十一、一台被拆过的 F50
中兴 F50 是另一个很典型的例子。它本质上只是一个 5G 随身 Wi-Fi / CPE。但我当初选择它,本来就有一部分原因是:
它比较开放。
它的社区生态很好。有人研究 Root。有人研究高级后台。有人研究频段。也有人研究散热。于是它不再只是一个“插卡然后上网”的黑盒子。我后来也给它做了散热改装。参考社区大佬的图纸,在嘉立创 CNC 了一块铝合金散热片。把机器拆开以后,再配上导热垫之类的介质和石墨散热材料,把这些东西一起塞进去。
结果很直接:
散热明显改善。这件事情让我越来越觉得,“开放设备”不一定意味着厂家开机就给你 root shell。还有另一种开放:
厂商没有彻底把门焊死,社区又愿意不断研究它。
于是一个普通产品就会拥有远超出厂说明书的生命力。有人写工具。有人画散热器。有人做固件。有人测试不同方案。最后你可以踩着前面所有人的经验,继续往前走一步。这种社区知识其实也是 Homelab 很重要的一部分。
十二、退役设备也属于 Homelab
Homelab 并不意味着不停买东西。有些设备会退役。有些升级后来会发现没有必要。有些东西折腾一圈,最后又回到了原点。以前有一台 H110I mini-ITX 平台。最早是 G4560。后来升级到 i7-7700。16GB 内存。加上 miniPCIe 2.5G 网卡和板载千兆,一度是主要软路由。它确实工作了很长时间。后来随着架构变化,这台机器逐渐没有必要继续承担主力任务。于是 i7-7700 卖掉。8GB 内存也卖掉。CPU 又换回 G4560。现在整台机器基本退役,只保留作备用。这其实也是系统设计的一部分。不是每一个曾经存在的方案,都应该因为“已经投入过时间和钱”而永远留着。
一个阶段结束以后,它就应该被降级、出售或者重新分配角色。Homelab 玩久以后,反而会越来越能接受这种事情:
最好的硬件,不一定是最合适的硬件。
十三、那我到底为什么要做这些?
写到这里,其实还没有真正回答开头的问题。
为什么?
我现在觉得至少有几个答案。不过在这些答案之前,其实还有一个更早、也更朴素的出发点:
给故障留后路。
我搭很多东西的时候,会下意识地问“断网了怎么办”“断电了怎么办”。UPS、备用软路由、独立的 NAS、公网节点、移动网络,以及主路由上那个被我戏称为“支援未来”的 SSH,本质上多少都在回答同一个问题:
今天正常的时候可以不用,但出问题的时候,我希望手里还有东西可用。
这不是什么真正的数据中心容灾。对家庭环境来说,我想要的往往只是把“完全没办法”变成“至少还有一步可以走”。第一个是控制权。不是所有事情都必须掌握在自己手里,但有些重要的能力,我希望自己还有决定权。密码数据如此。网络入口如此。WireGuard 如此。路由器留下 SSH 也是如此。所谓“支援未来”,本质上就是:
今天我可以不用,但我不想把明天的选择提前交出去。
第二个是理解。很多东西如果一直使用成品服务,你可以一辈子都不知道它内部发生了什么。NTP 是最明显的例子。不自己做,时间同步大概永远只是系统设置里面的一个开关。做过以后,你开始知道 Stratum、PPS、offset、frequency、skew。网络也是一样。当 WireGuard、OpenWrt、VPS、中转、IPv6、DNS 全部自己碰过以后,“联网”就不再是一个抽象按钮。第三个是可迁移性。我不喜欢把所有能力都锁在某一个厂商里。一家公司倒闭。产品策略变化。订阅价格改变。某项功能被砍。这些都可能发生。自己维护并不能消除这些风险,但至少可以让某些重要服务拥有迁移路径。
第四个是冗余和容错。旧软路由可以留作备用。VPS 可以互相替换。数据可以放在独立 NAS。服务可以从一个计算节点迁到另一个。这并不是什么真正的高可用集群。但对于家庭环境来说,多一条退路经常就已经够了。最后一个,也是最难量化的:
好奇心。
很多事情真的没有必要。我也不会硬把它包装成必要。普通家庭根本不需要 GNSS PPS Stratum 1。F50 不改散热也照样能上网。但有时候看到一个东西,就会想:
它还能做到什么?
这个问题本身就足以让一个周末消失。
十四、Homelab 的代价
当然,事情不能只说一面。自己托管意味着控制权。也意味着责任。云服务最大的价值,很多时候根本不是服务器本身。
而是:
有别人替你维护服务器。
自己做 Homelab 以后,这个人变成了你。硬盘坏了,你处理。证书过期了,你处理。Docker 起不来了,你处理。PVE 突然重启了,你翻 journal。WireGuard 连不上,你抓包。半夜发现某个容器一直 restart,还是你 SSH 进去看日志。除此之外还有最现实的成本:
- 电费;
- 硬件;
- 噪音;
- 热量;
- 空间;
- 备份;
- 安全;
- 时间。
尤其是时间,时间成本是无价的。所以我从来不觉得 Homelab 天生比商业服务便宜。甚至很多时候恰恰更贵。如果唯一目标只是:
“把服务跑起来。”
那买现成服务往往是更理性的选择。Homelab 真正提供的是商业服务很难卖给你的东西:
过程本身。
你知道它为什么工作。也知道它为什么坏。
十五、一个并不漂亮的小型系统
今天这套 Homelab 当然谈不上什么真正的数据中心。机柜是杂牌的。风扇线也谈不上漂亮。NAS 只有三块 4TB 机械盘。服务器内存也不过 16GB。网络里同时存在消费级小米路由器、虚拟化 OpenWrt、水星交换机和各种自己拼出来的东西。没有双路服务器。没有全闪存储。没有昂贵的企业交换机。更没有什么真正意义上的高可用。但这反而是我喜欢它的地方。它不是按照某套标准答案搭出来的。每一个设备、每一个服务,背后基本都有一个非常具体的问题。
为什么有 NAS?
因为数据要存。
为什么服务器和 NAS 分开?
因为计算和存储没必要绑死。
为什么有万兆?
因为 NAS 成了核心存储。
为什么有 WireGuard?
因为我要从外面回来。
为什么有 UPS?
因为我希望断电不是一次毫无准备的硬切,而是一次有时间收尾的退出。为什么还留着 F50、VPS 和别的网络路径?因为固定网络也不是理所当然永远存在。
为什么主路由留着 SSH?
支援未来。
为什么有五把风扇?
因为机柜真的热。
为什么有一台 GNSS 时间服务器?
……这个最难解释。大概只是因为我想知道:
时间到底是怎么来的。
我越来越觉得,这可能就是 Homelab 最好的状态。它不是为了在家复刻一家互联网公司。也不是为了证明自己可以拒绝一切商业服务。更不是一场无休止的硬件军备竞赛。它只是把计算、存储、网络、时间和一些自己的服务,慢慢组织成一套自己熟悉的东西。当别人的服务出了问题,我只能等公告。而当这里面的东西出了问题,我至少可以打开终端。可能查半天。可能判断错。可能最后还是重装。但我知道应该从哪里开始。所以如果现在再问我:
Homelab 到底是什么?
我大概不会回答:“一台服务器。”也不会回答:“家里的机房。”我更愿意把它理解成:
在数字生活里的自留地。
至于机柜里那五把乱七八糟的风扇——至少它们现在吹得还挺凉。
留言 / CONVERSATION
欢迎交流,评论将在审核后展示,你的邮箱不会被公开。
正在准备评论区…