3.0 KiB
3.0 KiB
运维手册(__PACKAGE_ARCH__)
安装
./scripts/install.sh
安装脚本是幂等的:
- 已有
.env不覆盖; - 已安装 Docker/Compose 则跳过;
- 包内 runtime、metrics、Prometheus、Grafana 对应架构镜像重复加载是安全的;
- 数据目录已存在则复用;
- 默认要求宿主与包架构匹配。
启动
./scripts/start.sh
如需后台启动后不等待首轮 snapshot:
./scripts/start.sh --no-wait-first-run
如需显式允许异构主机通过 QEMU/binfmt 跑包,先在 .env 中设置:
ALLOW_CROSS_ARCH=1
然后重新执行 ./scripts/install.sh 或 ./scripts/self-check.sh,脚本才会尝试启用对应 binfmt。
停止和重启
./scripts/stop.sh
./scripts/restart.sh
状态检查
./scripts/status.sh
./scripts/self-check.sh
重点检查项:
- Docker/Compose 可用;
- runtime、metrics、Prometheus、Grafana 镜像存在;
HOST_DATA_DIR可写;- Compose 配置合法;
- 最新 run 状态;
- metrics、Prometheus、Grafana endpoint;
host_arch、package_arch、arch_mode是否符合预期。
status.sh 还会显示:
package_archpackage_platformruntime_imagemetrics_imageallow_cross_archperiodic_snapshot_resetperiodic_snapshot_max_deltasrtr_report_dirrtr_report_container_dir
如需确认 RTR report 已接入:
./scripts/register_rtr_monitor.sh --report-dir /root/rpki/report --dry-run
./scripts/register_rtr_monitor.sh --report-dir /root/rpki/report
./scripts/status.sh
curl -s "http://127.0.0.1:${METRICS_PORT:-9556}/metrics" | grep '^ours_rp_rtr_' | head
注册只支持同机的绝对目录。注册命令会保留一份带时间戳的 .env 备份,并且只更新 metrics、Prometheus、Grafana 三个旁路容器;ours-rp-soak 的容器 ID 应保持不变。
升级
把新安装包解压到新目录后,推荐通过升级脚本显式复用旧 .env:
./scripts/upgrade.sh --reuse-env-from /path/to/old-installer/.env
如果新目录已经存在 .env,升级脚本会保留它,不覆盖。
如果旧 .env 缺失 METRICS_IMAGE 或 METRICS_PLATFORM,升级/安装链路会按当前包架构自动补齐默认值。
升级不会删除以下数据:
runs/logs/state/rsync-mirror.env对应的运行配置- Prometheus / Grafana 数据
验证定期 forced snapshot 时,可临时设置:
PERIODIC_SNAPSHOT_RESET=1
PERIODIC_SNAPSHOT_MAX_DELTAS=2
然后检查最新 run-meta.json 应出现:
snapshot_reason=periodic_snapshot_delta_limit
并检查独立 lifecycle 状态:
jq '{last_run,last_success_snapshot,successful_deltas_since_snapshot,state_health}' \
"${HOST_DATA_DIR}/state/run-lifecycle-state.json"
验证完成后恢复:
PERIODIC_SNAPSHOT_MAX_DELTAS=100
清理
./scripts/cleanup.sh --keep-runs 100
./scripts/cleanup.sh --keep-runs 100 --execute
默认 dry-run,确认后加 --execute。