[!warning] 敏感信息说明 本文涉及的 Tailscale IP 已脱敏 (<pve-tailscale-ip> / <ct111-tailscale-ip>)。实际部署时用 tailscale ip -4 查自己的节点 IP。

01. 概述与时间线

为什么折腾?

家里 PVE 主机已经跑了一年多,服务越来越多,但没有系统化体检过。飞牛 NAS (VM105) 也用了很久,感觉是时候考虑替换方案(更稳、更可控、更省电)。

起点

2026-08-31 晚

发现 Syncthing 之前用的 VM105 (飞牛 NAS) 在公开网络上,挂了 GUI(127.0.0.1:8384),外网和手机端访问不到同步 web UI → 想搞个独立的 Syncthing 节点,跑在 Tailscale 上,任何地方都能访问。

时间线

1
2
3
4
5
6
7
2026-08-31 晚上  启动:调研 Tailscale 在 LXC 上的支持
2026-09-01 上午  PBS datastore 迁移到 backup-mirror
2026-09-01 下午  CT111 创建 + Tailscale 安装 (折腾透传配置)
2026-09-01 晚    Syncthing 部署 + 发现工作学习 folder path 错误
2026-09-02 凌晨  排查 16379 个 permission denied 错误
2026-09-02 上午  完成,所有 sync 在跑
2026-09-02-09-09  VM105 7 天观察期

整体架构 (前后对比)

Before

1
2
3
4
5
6
[手机/电脑] → [VM105 飞牛 NAS (Syncthing)]
              ├─ 工作学习 (16GB)
              ├─ 服务物资对账单 (40GB)
              └─ 共享文件夹 (1GB)

[VM100/CT104/...] → 直连 VM105

After

1
2
3
4
5
6
7
8
9
[手机/电脑/家里电脑] ── Tailscale ──→ [PVE]
                                          ├─ CT111 (Syncthing + Tailscale)
                                          │   ├─ /data/工作学习 (16GB) ← HHD_3TB
                                          │   ├─ /data/同步文件夹/服务物资对账单 (40GB) ← HHD_3TB
                                          │   └─ /data/共享文件夹 (1GB) ← HHD_3TB
                                          └─ VM105 (观察期 7 天,跑完即删)
                                          (继续往 CT111 同步)

关键决策

决策 1: 用 CT 而不是 VM 跑 Syncthing

为什么不用 VM?

  • VM 太重(16GB+40GB 同步要 stable file system,不想要 OS 抖动)
  • VM105 已经是 VM 跑了很久,GUI 老挂、CPU/RAM 占用高

为什么 CT (LXC)?

  • 启动快(<2s)
  • 资源占用极低(空闲 50MB RAM)
  • ZFS bind mount 直接用 /HHD_3TB/syncthing,文件路径天然映射
  • systemd 跑 syncthing 干净

决策 2: Tailscale 而不是公网 DDNS / WireGuard

为什么不用公网?

  • 家里宽带没固定 IP
  • DDNS + 端口转发需要路由器配置,脆弱

为什么 Tailscale?

  • 零配置自动 NAT 穿透
  • 设备间自动 mesh
  • 不暴露任何端口到公网
  • 几行命令加进 tailnet

决策 3: VM105 不是直接删,而是 7 天观察期

为什么不直接删?

  • VM105 是主数据源,如果直接删,新 CT111 万一有 bug,数据丢完
  • 7 天 = 跨一个完整工作周期,确保所有用户的写都通过新节点 round trip 过

7 天观察期做什么?

  • 每天看一次 Syncthing 状态
  • 检查 inSyncBytes 增长趋势
  • 检查文件是否双向流动(公司电脑写 → 公司电脑拉回来)

决策 4: 不迁移 sdc 退化盘,只监控

为什么不直接换?

  • sdc 是 1TB SSD,装的是不重要的数据(临时存储)
  • 还有别的备用盘可以顶上
  • 现在不忙,先观察,周末有空再换

最终状态

服务清单

ID角色状态备注
PVE host主机健康sdc 退化需关注
VM100hermes健康
VM105myNas (fnOS)观察期9-09 后删
CT104opencode健康
CT110rustfs健康
CT111syncthing新增本轮核心交付
PBS备份健康datastore 已迁移

文件夹状态

1
2
3
4
5
/HHD_3TB/syncthing/  (zfs dataset, 2.1TB 可用)
├── 工作学习/       16GB  (✅ 同步中)
├── 同步文件夹/
│   └── 服务物资对账单/  40GB  (✅ 同步中)
└── 共享文件夹/      1GB  (✅ inSync)

网络拓扑

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[手机/家里的电脑/公司电脑/redmi-pad-se]
            ↓  Tailscale
[100.x.x.x mesh]
<pve-tailscale-ip> (PVE)
192.168.31.6   (PVE LAN)
   ┌────────┼────────┬──────────┐
   ↓        ↓        ↓          ↓
  CT104   CT110   CT111      VM105
                  ↑ ↑       (观察期)
                  [<ct111-tailscale-ip>]

关键数字

数字
同步数据总量~57 GB
Syncthing 设备数6 (含 PVE host 自己)
Tailscale 节点数4 (PVE + CT111 + 用户的机器们)
服务可用 SLA 目标99.9%
7 天观察期2026-09-02 → 2026-09-09

下一篇

02. 硬件体检 →