327 lines
8.0 KiB
Markdown
327 lines
8.0 KiB
Markdown
# 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
|
||
<key>StartInterval</key>
|
||
<integer>60</integer> <!-- 修改这个数字(秒) -->
|
||
```
|
||
|
||
然后重启:
|
||
```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日
|
||
**作者**: 姜维 伯约
|