04. CT111 Syncthing LXC 部署

[!warning] 敏感信息说明 本文涉及的 CT111 Tailscale IP 已脱敏 (<ct111-tailscale-ip>)。实际部署时用 pct exec 111 -- tailscale ip -4 查。 04. CT111 Syncthing LXC 部署 背景 VM105 (飞牛 NAS) 跑 Syncthing 已经很久,问题: GUI 经常挂 (web UI 启动失败) 想从手机外网访问,需要装 VPN/内网穿透 VM 太重,跑个 Syncthing 占用资源高 想:搞一个专用 LXC (CT111) 跑 Syncthing + Tailscale,干净可控。 整体设计 1 2 3 4 5 6 7 8 9 10 ┌─────────────────────────────────────────┐ │ PVE Host │ │ │ │ ┌──────────┐ ┌─────────────────┐ │ │ │ Tailscale│ │ CT111 (LXC) │ │ │ │ 100.74.x │◄──►│ - Tailscale │ │ │ └──────────┘ │ - Syncthing │ │ │ │ - /data → HHD │ │ │ └─────────────────┘ │ └─────────────────────────────────────────┘ 设计原则: ...

September 2, 2026 · 5 min · 883 words · LiMingCoding

08. 调试方法论

08. 调试方法论 这几天调试 PVE / Syncthing / VM105 时沉淀下来的方法论。 每条都是从一次实际跑偏/正确中找到的。 核心原则:先查本端,再碰远端 ⭐ 反面例子 排查"VM105 的工作学习 文件夹为什么不同步到 CT111"时,我先尝试: 挂载 VM105 数据盘 (失败:RAID member) 用 qemu-nbd 暴露 zvol (失败:boot 盘已挂载) zfs send VM105 数据盘到文件 (慢) 5+ 步后才发现:CT111 的 /rest/events 已经把错误说清楚了 (mkdir /data/工作学习/.obsidian: permission denied)。 正解: CT111 端 2 步搞定 (查 events → 修 owner)。 正面例子 排查"为什么 SSH 慢" 时: time -p ssh user@host echo → 总耗时 5s ssh -vvv → 看到 DNS 反查慢 修 /etc/ssh/sshd_config: UseDNS no → 立刻好 原则: 任何"为什么 X 没工作"的问题,先查 X 这一端的可观测面 (logs / metrics / events / API status),再决定是否要碰 Y 端。 ...

September 2, 2026 · 5 min · 941 words · LiMingCoding

06. 16379 个 permission denied 排查

06. 16379 个 permission denied 排查 问题 CT111 Syncthing 部署好,三个文件夹都加了: ✅ 共享文件夹: inSync (立刻) ✅ 服务、物资对账单: 27GB/40GB (持续 sync, 18 MB/s) ❌ 工作学习: 0/16GB,完全没动 用户报告:“VM105 也有工作学习文件夹,怎么没同步?” 第一步:确认 VM105 真有数据 从 CT111 端看: 1 2 curl -H "X-API-Key: $KEY" \ http://127.0.0.1:8384/rest/db/status?folder=nsylc-yh8lq | jq 1 2 3 4 5 6 7 { "globalBytes": 17718404663, ← 16.5GB!VM105 确实有 "localBytes": 0, ← 但 CT111 没有 "needBytes": 17718404663, ← CT111 想拉 "pullErrors": 16379, ← 16379 个错误! "state": "idle" } 结论: VM105 确实有 16.5GB,CT111 想拉,但 16379 个 pull 错误 拦住了。 第二步:看具体错误 /rest/events?limit=500: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [2026-09-02T01:20:21] ItemFinished: { 'action': 'update', 'error': 'mkdir /data/工作学习/.obsidian: permission denied', 'folder': 'nsylc-yh8lq', 'item': '.obsidian', 'type': 'dir' } [2026-09-02T01:20:21] ItemFinished: { 'error': 'mkdir /data/工作学习/.space: permission denied', 'item': '.space' } [2026-09-02T01:20:21] ItemFinished: { 'error': 'mkdir /data/工作学习/0未整理文件: permission denied', 'item': '0未整理文件' } ... (重复 16379 次) 关键错误: mkdir /data/工作学习/.obsidian: permission denied ...

September 2, 2026 · 4 min · 822 words · LiMingCoding

05. Syncthing 配置调试

05. Syncthing 配置调试 背景 CT111 装好 Syncthing 后,有几个问题要修: GUI 无法外部访问: 默认 127.0.0.1:8384 工作学习 folder path 错: 装在 4GB rootfs,应该在 /data (2.1TB) REST API 调用 “200 但没改”: PUT 改 folder path 没生效 1. 修 GUI bind 问题 1 2 3 # 从 PVE host 测 curl -I http://192.168.31.109:8384 # Connection refused 排查 1 2 3 # CT111 里 ss -tlnp | grep 8384 # tcp LISTEN 127.0.0.1:8384 ... 只 listen 在 loopback,外网访问不到。 ...

September 2, 2026 · 4 min · 755 words · LiMingCoding