44 lines
2.0 KiB
Markdown
44 lines
2.0 KiB
Markdown
# Spark 运维
|
||
|
||
以本 Git 仓库的 main 作为当前配置来源,不混用历史实验目录里的 Compose。
|
||
|
||
## 目录约定
|
||
|
||
- 项目根目录:Git 管理的 Compose、Dockerfile、脚本、文档。
|
||
- `.env`:本机缓存路径、已有 API key 文件路径、代理;权限 0600,不提交 Git。
|
||
- `runtime-cache/`:原有编译缓存,保留挂载路径;不提交 Git。
|
||
- `archive/<时间>/legacy/`:整理前的部署脚本、Compose 和日志,只用于追溯。
|
||
- `archive/<时间>/experiments/`:历史实验及原始 Nsight trace;目录 0700。
|
||
- `archive/<时间>/tmp/`:本任务遗留的临时打包和检查文件。
|
||
- `.local-state/`:本机迁移、健康检查、资源与部署提交记录;目录 0700。
|
||
- 模型权重和 API key 继续使用原外部路径,不复制进仓库。
|
||
|
||
归档不是现用配置。旧 Compose 的相对路径依赖原目录,不能直接从 archive 启动。
|
||
原始 trace 可能含进程参数,不对外分享、不提交 Git。
|
||
|
||
## 更新与验证
|
||
|
||
```bash
|
||
git status --short
|
||
git pull --ff-only origin main
|
||
# 不随意拉取新的 nightly。更新镜像须先核实固定版本并构建。
|
||
./scripts/start.sh
|
||
./scripts/wait.sh
|
||
./scripts/test.sh
|
||
./scripts/test-prefix.sh
|
||
```
|
||
|
||
若 Spark 没有 Gitea 凭据,可由已登录的工作站传输 `git bundle`,在 Spark fetch 本地 bundle 后 fast-forward main。
|
||
不要把工作站 token 写进 Spark 的 Git remote;remote 始终使用不含凭据的仓库 URL。
|
||
启动和重载约需 10–13 分钟,会中断当前请求。
|
||
|
||
## 回退
|
||
|
||
`./scripts/start.sh no-prefix`:保留 128K + MTP,关闭前缀缓存。
|
||
`./scripts/start.sh baseline`:32K、无 MTP 的较保守配置。
|
||
回退后同样执行 wait 和 smoke 检查。实验图配置位于 experiments/graph,当前也限制为 128K。
|
||
不要把历史 262K 配置当成稳定回退。
|
||
|
||
日常看 `/proc/meminfo` 的 MemAvailable 和 `/proc/vmstat` 的 oom_kill 增量,不能只看容器 healthy。
|
||
测试时监控脚本的停止阈值只提供尽力保护。业务输出预算必须包含思考 tokens。
|