121 lines
2.2 KiB
Markdown
121 lines
2.2 KiB
Markdown
# 运维手册(`__PACKAGE_ARCH__`)
|
||
|
||
## 安装
|
||
|
||
```bash
|
||
./install.sh
|
||
```
|
||
|
||
安装脚本是幂等的:
|
||
|
||
- 已有 `.env` 不覆盖;
|
||
- 已安装 Docker/Compose 则跳过;
|
||
- 包内 ours RP、Prometheus、Grafana 对应架构镜像重复加载是安全的;
|
||
- 数据目录已存在则复用;
|
||
- 默认要求宿主与包架构匹配。
|
||
|
||
## 启动
|
||
|
||
```bash
|
||
./start.sh
|
||
```
|
||
|
||
如需后台启动后不等待首轮 snapshot:
|
||
|
||
```bash
|
||
./start.sh --no-wait-first-run
|
||
```
|
||
|
||
如需显式允许异构主机通过 QEMU/binfmt 跑包,先在 `.env` 中设置:
|
||
|
||
```bash
|
||
ALLOW_CROSS_ARCH=1
|
||
```
|
||
|
||
然后重新执行 `./install.sh` 或 `./self-check.sh`,脚本才会尝试启用对应 binfmt。
|
||
|
||
## 停止和重启
|
||
|
||
```bash
|
||
./stop.sh
|
||
./restart.sh
|
||
```
|
||
|
||
## 状态检查
|
||
|
||
```bash
|
||
./status.sh
|
||
./self-check.sh
|
||
```
|
||
|
||
重点检查项:
|
||
|
||
- Docker/Compose 可用;
|
||
- runtime、Prometheus、Grafana 镜像存在;
|
||
- `HOST_DATA_DIR` 可写;
|
||
- Compose 配置合法;
|
||
- 最新 run 状态;
|
||
- metrics、Prometheus、Grafana endpoint;
|
||
- `host_arch`、`package_arch`、`arch_mode` 是否符合预期。
|
||
|
||
`status.sh` 还会显示:
|
||
|
||
- `package_arch`
|
||
- `package_platform`
|
||
- `allow_cross_arch`
|
||
- `periodic_snapshot_reset`
|
||
- `periodic_snapshot_max_deltas`
|
||
|
||
## 升级
|
||
|
||
把新安装包解压到新目录后,推荐通过升级脚本显式复用旧 `.env`:
|
||
|
||
```bash
|
||
./upgrade.sh --reuse-env-from /path/to/old-installer/.env
|
||
```
|
||
|
||
如果新目录已经存在 `.env`,升级脚本会保留它,不覆盖。
|
||
|
||
升级不会删除以下数据:
|
||
|
||
- `runs/`
|
||
- `logs/`
|
||
- `state/rsync-mirror`
|
||
- `.env` 对应的运行配置
|
||
- Prometheus / Grafana 数据
|
||
|
||
验证定期 forced snapshot 时,可临时设置:
|
||
|
||
```bash
|
||
PERIODIC_SNAPSHOT_RESET=1
|
||
PERIODIC_SNAPSHOT_MAX_DELTAS=2
|
||
```
|
||
|
||
然后检查最新 `run-meta.json` 应出现:
|
||
|
||
```bash
|
||
snapshot_reason=periodic_snapshot_delta_limit
|
||
```
|
||
|
||
并检查独立 lifecycle 状态:
|
||
|
||
```bash
|
||
jq '{last_run,last_success_snapshot,successful_deltas_since_snapshot,state_health}' \
|
||
"${HOST_DATA_DIR}/state/run-lifecycle-state.json"
|
||
```
|
||
|
||
验证完成后恢复:
|
||
|
||
```bash
|
||
PERIODIC_SNAPSHOT_MAX_DELTAS=100
|
||
```
|
||
|
||
## 清理
|
||
|
||
```bash
|
||
./cleanup.sh --keep-runs 100
|
||
./cleanup.sh --keep-runs 100 --execute
|
||
```
|
||
|
||
默认 dry-run,确认后加 `--execute`。
|