跳转至

NAS 接入与资源遥测

本文定义 nas-sz 在 AgentMeshOS 中的当前边界。NAS 是用户自有存储资源与独立遥测节点,不是系统云盘后端,也不加入 Nomad 调度。

📌 结论摘要

NAS 继续独立于生产 Runtime、Nomad 和 Cloudreve 系统云盘后端;管理面允许 RR、101、Home 三个同级入口直连,遥测面只绑定 Tailnet 地址并保持只读采集。NAS 不是系统云盘后端,也不加入 Nomad 调度。

🧩 当前定位

节点 Tailnet IP 管理身份 当前职责 明确不承担
nas-sz 100.64.0.10 admin(UID 0) 受限 SSH、Tailnet 连通性和只读资源遥测 Cloudreve 后端、系统云盘数据面、Nomad Worker、自动挂载或业务写入

允许采集 CPU、内存、根磁盘、真实挂载点、网络速率与运行时间。浏览器只能经 Status 查看筛选后的摘要,不获得共享路径、账号、Token、证书或文件列表。

🔒 网络边界

RR、101 和 Home 是三个同级管理入口,三者均可直接管理 NAS。2026-09-30 已将 101 管理公钥加入 NAS,并从三个来源分别直连回读 SZ-YohanNAS;系统管理公钥不得用 from= 绑定 Tailnet 来源地址,继续禁止端口转发、Agent 转发和 X11 转发。QNAP 官方 Tailscale 客户端不支持 Exit Node;不得通过手改默认路由绕过该限制。

Tailnet 在 NAS 上只用于管理和遥测,不承载 Cloudreve 上传、下载或 WebDAV 数据面。系统云盘路径是客户端经 MM 公网 HTTPS 直接访问 dd 上的 Cloudreve。

📈 遥测

QNAP 使用已有 Docker Engine 运行官方 node_exporter,仅绑定 NAS Tailnet 地址 100.64.0.10:9100,不开放公网端口:

2026-09-30 已把采集容器的重启策略改为 always,并移除部署脚本中的全局 dangling 镜像清理;脚本只维护 agentmeshos-nas-node-metrics 容器,不再顺带删除其他对象。

curl -fsSL https://docs.yohan.fun/scripts/agentmeshos-nas-node-metrics-deploy.sh | sudo bash -s -- --check
curl -fsSL https://docs.yohan.fun/scripts/agentmeshos-nas-node-metrics-deploy.sh | sudo bash -s -- deploy

在 RR 采集端验证:

curl -fsS http://100.64.0.10:9100/metrics | grep '^node_cpu_seconds_total'
curl -fsS http://127.0.0.1:39120/api/status
tailscale ping 100.64.0.10

停止遥测仅删除采集容器,不退出 Tailnet,也不删除 NAS 数据:

curl -fsSL https://docs.yohan.fun/scripts/agentmeshos-nas-node-metrics-deploy.sh | sudo bash -s -- remove

任何把 NAS 共享接入业务的提案,必须单独评审访问协议、读写权限、容量、备份、恢复和撤销路径。

⚠️ 未决项 / 需要决策

未决项 当前事实 下一步
NAS 共享业务接入 当前只用于用户自有共享资源和只读遥测 如要接入业务,必须另立计划评估协议、权限、备份与撤销路径