# 故障排查 ## Docker 或 Compose 不可用 执行: ```bash docker version docker compose version ``` 如果缺失,重新执行: ```bash ./install.sh ``` ## ARM64 镜像无法运行 在 x86_64 机器上运行 ARM64 镜像需要 binfmt/qemu: ```bash docker run --rm --privileged tonistiigi/binfmt --install arm64 docker run --rm --platform linux/arm64 debian:bookworm-slim uname -m ``` 预期输出 `aarch64`。 ## 首轮 snapshot 超时 all5 snapshot 可能很慢,尤其在 QEMU 环境。可以提高超时: ```bash ./start.sh --timeout-secs 14400 ``` ## 产物数量异常偏低 检查: ```bash grep LIVE_TA_REFRESH_BEFORE_SNAPSHOT .env ls -l /var/lib/ours-rp-arm64/state/live-ta tail -100 /var/lib/ours-rp-arm64/logs/live-ta-refresh-*.log ``` `file-live-ta` 模式下,snapshot 应等待 live TA 成功刷新。 ## Grafana 无法登录 确认 `.env` 中: ```bash GRAFANA_ADMIN_USER=admin GRAFANA_ADMIN_PASSWORD=admin ``` 如果曾经启动过 Grafana,修改 `.env` 不一定重置已有 Grafana 数据库账号。可以停止服务后按需备份并清理 `${HOST_DATA_DIR}/grafana`。 ## 有限轮次验收后又多跑了一轮 如果 `.env` 中设置了 `MAX_RUNS=3` 这类有限轮次,同时 `SOAK_RESTART_POLICY=unless-stopped`,Docker Compose 会在 soak 容器正常退出后重新启动容器。 有限验收建议设置: ```bash SOAK_RESTART_POLICY=no ``` ## 如何确认触发了定期 forced snapshot 检查最新 run metadata: ```bash latest="$(find ${HOST_DATA_DIR}/runs -maxdepth 1 -type d -name 'run_*' | sort | tail -1)" jq '{run_id,sync_mode,snapshot_reason,periodic_snapshot_delta_count,periodic_snapshot_forced,reset_db_cleanup_status}' "$latest/run-meta.json" ``` 阈值触发时应看到: - `sync_mode: "snapshot"` - `snapshot_reason: "periodic_snapshot_delta_limit"` - `periodic_snapshot_forced: true`