跳至内容
排障指南

排障指南

大多数问题先用 doctor --redact 定位。公开发 issue 或截图前,优先使用脱敏输出。

先运行 doctor

vulnsky doctor
vulnsky doctor --redact

doctor 会检查配置文件、当前 profile、AccessKey、OSS bucket、区域和 ECS 可见性。

.env 或 profile 未找到

VulnSky 默认在当前运行目录查找 .envprofiles/default.env。建议进入固定工作目录再运行命令:

cd C:\Labs\vulnsky-work
vulnsky doctor --redact

也可以使用 --root 指定工作目录:

vulnsky --root "$HOME\vulnsky\work" doctor --redact

AccessKey 或账号不匹配

  • 确认 ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET 没有多余空格。
  • 如果填写了 VULNSKY_EXPECTED_ACCOUNT_ID,确认它与当前 AccessKey 所属账号一致。
  • 确认 RAM 用户没有被禁用,AccessKey 没有被删除或过期。
  • 确认当前 profile 是你正在编辑的 profile。
vulnsky profile ls
vulnsky profile use default
vulnsky profile show default

ECS/OSS 区域不一致

导入自定义镜像时,OSS bucket 和 ECS 镜像导入区域必须一致。常见表现是导入失败或提示对象不可用。

  • 确认 ALIBABA_CLOUD_REGION_ID 是目标 ECS 所在区域。
  • 确认 ALIBABA_OSS_REGION_ID 是 bucket 所在区域。
  • 确认 ALIBABA_OSS_ENDPOINT 与 bucket 区域匹配。

默认 ECS 未配置

deployecs reimage 不传 --instance-id 时,会使用默认 ECS。先列出实例并设置默认实例:

vulnsky ecs ls
vulnsky ecs use i-xxxxxxxx
vulnsky ecs current-image

镜像导入长时间 Waiting 或 Processing

镜像导入由云平台异步处理,耗时与镜像大小、区域和当前任务队列有关。可以查询任务和镜像列表:

vulnsky image status t-xxxxxxxx
vulnsky image ls

如果长时间没有变化,检查 OSS 对象是否仍可访问,临时链接是否过期,bucket 与 ECS 区域是否一致。

ECS 状态不接受操作

重装系统盘前实例需要处于可操作状态。deployecs reimage 会轮询停机和启动过程;如果云 API 返回 IncorrectInstanceStatus,通常是实例状态仍在转换。

vulnsky ecs show i-xxxxxxxx
vulnsky ecs start i-xxxxxxxx

查看本地记录

上传、镜像和部署历史会记录到本地 SQLite 数据库:

vulnsky records uploads
vulnsky records images
vulnsky records deployments