rpki/deploy/arm64-installer/docs/troubleshooting.zh-CN.md
2026-06-29 23:25:19 +08:00

2.3 KiB
Raw Permalink Blame History

故障排查

Docker 或 Compose 不可用

执行:

docker version
docker compose version

如果缺失,重新执行:

./install.sh

ARM64 镜像无法运行

在 x86_64 机器上运行 ARM64 镜像需要 binfmt/qemu

docker run --rm --privileged tonistiigi/binfmt --install arm64
docker run --rm --platform linux/arm64 debian:bookworm-slim uname -m

预期输出 aarch64

首轮 snapshot 超时

all5 snapshot 可能很慢,尤其在 QEMU 环境。可以提高超时:

./start.sh --timeout-secs 14400

产物数量异常偏低

检查:

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 中:

GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=admin

如果曾经启动过 Grafana修改 .env 不一定重置已有 Grafana 数据库账号。可以停止服务后按需备份并清理 ${HOST_DATA_DIR}/grafana

有限轮次验收后又多跑了一轮

如果 .env 中设置了 MAX_RUNS=3 这类有限轮次,同时 SOAK_RESTART_POLICY=unless-stoppedDocker Compose 会在 soak 容器正常退出后重新启动容器。

有限验收建议设置:

SOAK_RESTART_POLICY=no

如何确认触发了定期 forced snapshot

检查最新 run metadata

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

如需确认 retain 裁剪后仍在累计 delta可继续检查

jq '{last_success_snapshot,successful_deltas_since_snapshot,recent_runs_count:(.recent_runs|length)}' \
  "${HOST_DATA_DIR}/state/run-lifecycle-state.json"

Lifecycle 状态文件损坏

脚本会先备份损坏文件,再从当前保留的 runs/ 尽力 bootstrap

ls -1 "${HOST_DATA_DIR}/state"/run-lifecycle-state.json.corrupt.*
jq . "${HOST_DATA_DIR}/state/run-lifecycle-state.json"