Files
sanguo_vnpy/research/nas/NAS全自动部署方案.md
2026-04-11 21:18:55 +08:00

8.0 KiB
Raw Permalink Blame History

NAS 全自动部署方案

📋 方案概述

本方案提供完全自动化的 NAS 部署和管理,零手动干预,包含以下特性:

  • 开机自动挂载
  • 断线自动重连(每分钟检查)
  • 网络恢复后自动挂载
  • 日志记录和监控
  • 一键管理工具
  • SMB 性能优化

🚀 快速开始

一步部署(推荐)

只需运行一条命令,全自动完成所有配置:

cd /Users/chufeng/.openclaw/workspace-jiangwei
sudo ./nas_auto_deploy.sh

就这么简单! 脚本会自动完成:

  1. 检查网络连接
  2. 创建挂载点
  3. 测试挂载
  4. 创建 Launch Daemon 守护进程
  5. 优化 SMB 配置
  6. 启动自动挂载服务

🛠️ 管理工具

部署完成后,使用 nas_manager.sh 进行日常管理:

cd /Users/chufeng/.openclaw/workspace-jiangwei
./nas_manager.sh status    # 查看状态
./nas_manager.sh mount     # 手动挂载
./nas_manager.sh umount    # 卸载
./nas_manager.sh restart   # 重启守护进程
./nas_manager.sh logs      # 查看日志
./nas_manager.sh follow    # 实时跟踪日志
./nas_manager.sh help      # 显示帮助

📁 文件说明

文件 说明
nas_auto_deploy.sh 全自动部署脚本(只需运行一次)
nas_manager.sh 日常管理工具
nas_mounter.sh 自动挂载守护脚本(自动生成)
logs/nas_mount.log 挂载日志
logs/nas_mount_error.log 错误日志

🔧 技术原理

架构图

┌─────────────────────────────────────────────────┐
│              macOS 启动系统                      │
└──────────────────┬──────────────────────────────┘
                   │
                   ▼
┌─────────────────────────────────────────────────┐
│   Launch Daemon (com.user.nasmount)             │
│   - 开机自动运行                                 │
│   - 每分钟检查一次挂载状态                       │
│   - 断线自动重连                                 │
└──────────────────┬──────────────────────────────┘
                   │
                   ▼
┌─────────────────────────────────────────────────┐
│   nas_mounter.sh (挂载守护脚本)                  │
│   - 检查网络连接                                 │
│   - 检查挂载状态                                 │
│   - 执行挂载/重连                                │
│   - 创建目录结构                                 │
└──────────────────┬──────────────────────────────┘
                   │
                   ▼
┌─────────────────────────────────────────────────┐
│   NAS (192.168.2.154)                           │
│   共享文件夹: stock                               │
└─────────────────────────────────────────────────┘

Launch Daemon 配置

  • Label: com.user.nasmount
  • 运行时机: 开机自动运行 + 每分钟检查
  • 触发条件: 当 ${MOUNT_POINT}/.mounted 不存在时触发
  • 日志位置: logs/nas_mount.loglogs/nas_mount_error.log

📊 状态检查示例

运行 ./nas_manager.sh status 会显示:

============================================
   NAS 管理工具
============================================

【状态检查】

网络连接: ✅ 正常 (192.168.2.154)
NAS 挂载: ✅ 已挂载
   挂载点: /Users/chufeng/nas/stock

【挂载点内容】
total 0
drwx------  1 chufeng  staff    16K Mar 27 23:00 .
drwxr-xr-x  3 chufeng  staff    96B Mar 27 23:00 ..
drwx------  1 chufeng  staff    16K Mar 27 23:00 A股数据
drwx------  1 chufeng  staff    16K Mar 27 23:00 回测结果
drwx------  1 chufeng  staff    16K Mar 27 23:00 代码库
drwx------  1 chufeng  staff    16K Mar 27 23:00 临时文件

【Launch Daemon 状态】
✅ 正在运行

【磁盘使用情况】
Filesystem     Size   Used  Avail Capacity iused      ifree %iused  Mounted on
//...@.../stock  10T   500G  9.5T     5%  123456  123456789    0%   /Users/chufeng/nas/stock

🔍 日志查看

查看最近日志

./nas_manager.sh logs

输出示例:

[2026-03-27 23:00:00] 开始挂载 NAS...
[2026-03-27 23:00:01] NAS 挂载成功: /Users/chufeng/nas/stock
[2026-03-27 23:00:01] 创建目录结构...
[2026-03-27 23:00:02] 目录结构创建完成
[2026-03-27 23:01:00] NAS 已挂载,无需操作
[2026-03-27 23:02:00] NAS 已挂载,无需操作

实时跟踪日志

./nas_manager.sh follow

Ctrl+C 退出。


🛡️ 故障排查

问题1: 未自动挂载

检查步骤:

# 1. 查看状态
./nas_manager.sh status

# 2. 查看日志
./nas_manager.sh logs

# 3. 手动挂载测试
./nas_manager.sh mount

问题2: Launch Daemon 未运行

重启守护进程:

./nas_manager.sh restart

问题3: 网络中断后未重连

Launch Daemon 会每分钟检查一次,最多等待 1 分钟自动重连。

如需立即重连:

./nas_manager.sh restart

⚙️ 高级配置

修改检查间隔

编辑 /Library/LaunchDaemons/com.user.nasmount.plist

<key>StartInterval</key>
<integer>60</integer>  <!-- 修改这个数字(秒) -->

然后重启:

sudo launchctl unload /Library/LaunchDaemons/com.user.nasmount.plist
sudo launchctl load -w /Library/LaunchDaemons/com.user.nasmount.plist

修改 NAS 配置

编辑 nas_mounter.sh 顶部的配置部分:

NAS_IP="192.168.2.154"
NAS_USER="cfdaily"
NAS_PASS="Ccf7561523"
NAS_SHARE="stock"
MOUNT_POINT="/Users/chufeng/nas/stock"

📋 目录结构

挂载成功后,NAS 会自动创建以下结构:

/Users/chufeng/nas/stock/
├── .mounted                    # 挂载标记文件(自动生成)
├── A股数据/
│   ├── 日线数据/
│   ├── 分钟线数据/
│   └── 财务数据/
├── 回测结果/
│   ├── 策略回测/
│   └── 性能报告/
├── 代码库/
│   ├── 策略代码/
│   └── 工具脚本/
└── 临时文件/
    ├── 下载缓存/
    └── 临时数据/

🎯 完整使用流程

第一次部署

# 1. 进入工作目录
cd /Users/chufeng/.openclaw/workspace-jiangwei

# 2. 运行全自动部署(只需一次)
sudo ./nas_auto_deploy.sh

# 3. 验证状态
./nas_manager.sh status

日常使用

# 查看状态
./nas_manager.sh status

# 查看日志
./nas_manager.sh logs

# 实时跟踪
./nas_manager.sh follow

如需手动干预

# 手动挂载
./nas_manager.sh mount

# 卸载
./nas_manager.sh umount

# 重启守护进程
./nas_manager.sh restart

验收清单

部署完成后,确认以下项目:

  • 运行 sudo ./nas_auto_deploy.sh 无错误
  • ./nas_manager.sh status 显示 NAS 已挂载
  • ls -la /Users/chufeng/nas/stock 可以看到目录结构
  • 重启 Mac 后 NAS 自动挂载
  • 断开网络再恢复后,1 分钟内自动重连

📞 获取帮助

如遇问题:

  1. 查看日志:./nas_manager.sh logs
  2. 检查状态:./nas_manager.sh status
  3. 重启守护:./nas_manager.sh restart

文档版本: 1.0
最后更新: 2026年3月27日
作者: 姜维 伯约