Blog

半年度复盘:家庭实验室拓扑演进

从 2025 年 2 月第一台 Linux 实验室主机算起,到 2026 年 7 月,这套家庭实验室已经从「能 SSH 进去装点东西」长成小而分层的形态。写这份半年度架构回顾(时间跨度其实约一年半),主要给一年后的自己:当时为什么这样连线,哪些决定经住了时间,下一步打算拆掉什么。若你也在堆机器,不妨对照自己的爆炸半径清单看一眼。

现在的分层长什么样

自上而下可以粗看成六层。层与层之间尽量有明确职责,而不是一台旧主机身兼路由、存储、游戏和相册直到某天一起炸。

  1. 网络层: 光猫桥接,OpenWrt 做网关,VLAN 隔离访客、IoT 与受信终端,AdGuard Home 做家庭 DNS 与基础过滤。
  2. 接入层: 日常远程走 WireGuard 或 Headscale;Cloudflare Tunnel 仅在需要把 HTTP 服务安全露一点公网时启用,而不是默认全家桶穿透。
  3. 计算层: Proxmox 切 LXC 与 VM;另有一台 Docker 宿主跑应用栈;云上保留小 VPS 做跳板与部分反代,避免家宽端口映射成为唯一入口。
  4. 存储层: TrueNAS 上 ZFS mirror,数据集按用途拆开:照片、备份目标、媒体、实验卷,快照策略按数据集不同,而不是一个大池糊涂记账。
  5. 观测层: Prometheus 加 Grafana,磁盘 SMART 巡检,关键主机与反向代理日志;告警走外部通道,不依赖实验室内摇摇欲坠的链路。
  6. 备份层: ZFS 快照加 restic 或 borg 异地;游戏存档与配置仓库另有节奏,恢复演练至少做过抽样。

拓扑图用 draw.io 与一份文本示意放进 git,大改就更新一版,commit message 写原因。三个月后排查「为什么这台机能访问那台」,图比记忆可靠得多。没有图的拓扑,最后都会变成口口相传的传说。

上半年做对的几件事

备份先于花样服务。 照片与配置的异地备份,优先级永远高于再开一个好看的仪表盘。差点因磁盘预警手足无措的那次之后,这条变成硬规则:新服务上线前先问数据落在哪、丢了能否重建、备份是否覆盖。

网络隔离够早。 IoT 与访客不进受信网段,摄像头与 NAS 管理口默认不可达。后面加 Frigate、加游戏服、加朋友临时接入,都只是在已有边界上开受控的洞,而不是推倒重来画一张更大的二层网。

配置进 Git。 compose 文件、OpenWrt 关键片段、Headscale ACL 草稿、告警规则——不一定有完美 CI,但「能 diff、能回滚、能在另一台机器重建」已经救过多次手滑与磁盘意外。

爆炸半径拆分。 游戏服与核心数据分离;实验容器写删除日期;管理面尽量收进隧道,而不是公网端口换个「不常见」的端口号就安心。控制面(如 Headscale 数据库)本身也当生产备份,而不是「小服务不用管」。

明确走过的弯路

早期单机 Docker 万能,一个情绪化的 docker compose down 就可能误伤一串服务,排障时分不清是应用坏了还是网络策略坏了。插件与容器贪多,维护疲倦后出现僵尸容器占盘占端口,谁也不敢删。有段时间只有本地备份,SMART 告警响起时才发现异地链路没真正跑通——备份任务显示成功,目标却是同一机柜里的另一块盘。

同时开太多实验线也是问题:k3s 尝鲜、新面板、邮件自建念头、又一个监控栈,却不写退役标准。机柜与 DNS 里堆的是半成品,心智负担比 CPU 占用更伤。弯路写进复盘不是羞耻,是下一阶段删除列表的来源;没有删除列表,实验室只会单向膨胀。

下一阶段(2026 下半年意向)

  • 密钥与轮换: 服务账号、隧道凭证、备份口令做一次盘点,并规定轮换节奏,而不是「已经放进密码管理器就等于永久安全」。
  • 灾备数字: 为照片、配置仓库、关键虚拟机写下可执行的 RTO 与 RPO,并各做一次恢复演练(Borg 与 restic 已开了头,还要落到日历上)。
  • 减法: 列出三十天无访问的服务,默认关机或删除;拓扑图上的虚线节点要么实线化成有人维护,要么抹掉。
  • 文档: 带外管理步骤、ACL 回滚、换盘与证书更新流程继续补全;图与仓库同步,避免「只有我脑子里有一张过时的图」。

若只能留三样

异地备份、网络隔离、配置进 Git。其它服务都能重建,仪表盘可以重装,游戏服可以重开。机柜好看不是目标;服务可重建、数据不可死,才是这条路上还值得继续堆机器的理由。

回头看 2025 年初那台「什么都往上堆」的旧主机,最大的进步不是多了几台机器,而是分层之后故障域变小了:游戏服炸不会带走照片库,访客网中招不至于直接摸到存储管理口。下一阶段若只能做成一件事,我会优先把灾备数字和恢复演练做成可重复的习惯,而不是再引入一个新的编排系统。

—— Veritas,写于 2026 年 7 月。

← Back to Blog