# NAS 全自动部署方案 ## 📋 方案概述 本方案提供完全自动化的 NAS 部署和管理,**零手动干预**,包含以下特性: - ✅ 开机自动挂载 - ✅ 断线自动重连(每分钟检查) - ✅ 网络恢复后自动挂载 - ✅ 日志记录和监控 - ✅ 一键管理工具 - ✅ SMB 性能优化 --- ## 🚀 快速开始 ### 一步部署(推荐) 只需运行一条命令,全自动完成所有配置: ```bash cd /Users/chufeng/.openclaw/workspace-jiangwei sudo ./nas_auto_deploy.sh ``` **就这么简单!** 脚本会自动完成: 1. ✅ 检查网络连接 2. ✅ 创建挂载点 3. ✅ 测试挂载 4. ✅ 创建 Launch Daemon 守护进程 5. ✅ 优化 SMB 配置 6. ✅ 启动自动挂载服务 --- ## 🛠️ 管理工具 部署完成后,使用 `nas_manager.sh` 进行日常管理: ```bash 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.log` 和 `logs/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 ``` --- ## 🔍 日志查看 ### 查看最近日志 ```bash ./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 已挂载,无需操作 ``` ### 实时跟踪日志 ```bash ./nas_manager.sh follow ``` 按 `Ctrl+C` 退出。 --- ## 🛡️ 故障排查 ### 问题1: 未自动挂载 **检查步骤:** ```bash # 1. 查看状态 ./nas_manager.sh status # 2. 查看日志 ./nas_manager.sh logs # 3. 手动挂载测试 ./nas_manager.sh mount ``` ### 问题2: Launch Daemon 未运行 **重启守护进程:** ```bash ./nas_manager.sh restart ``` ### 问题3: 网络中断后未重连 Launch Daemon 会每分钟检查一次,最多等待 1 分钟自动重连。 如需立即重连: ```bash ./nas_manager.sh restart ``` --- ## ⚙️ 高级配置 ### 修改检查间隔 编辑 `/Library/LaunchDaemons/com.user.nasmount.plist`: ```xml StartInterval 60 ``` 然后重启: ```bash sudo launchctl unload /Library/LaunchDaemons/com.user.nasmount.plist sudo launchctl load -w /Library/LaunchDaemons/com.user.nasmount.plist ``` ### 修改 NAS 配置 编辑 `nas_mounter.sh` 顶部的配置部分: ```bash 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股数据/ │ ├── 日线数据/ │ ├── 分钟线数据/ │ └── 财务数据/ ├── 回测结果/ │ ├── 策略回测/ │ └── 性能报告/ ├── 代码库/ │ ├── 策略代码/ │ └── 工具脚本/ └── 临时文件/ ├── 下载缓存/ └── 临时数据/ ``` --- ## 🎯 完整使用流程 ### 第一次部署 ```bash # 1. 进入工作目录 cd /Users/chufeng/.openclaw/workspace-jiangwei # 2. 运行全自动部署(只需一次) sudo ./nas_auto_deploy.sh # 3. 验证状态 ./nas_manager.sh status ``` ### 日常使用 ```bash # 查看状态 ./nas_manager.sh status # 查看日志 ./nas_manager.sh logs # 实时跟踪 ./nas_manager.sh follow ``` ### 如需手动干预 ```bash # 手动挂载 ./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日 **作者**: 姜维 伯约