文档首页/ 云搜索服务 CSS/ 故障排除/ 功能使用类/ 集群一直处于创建快照中
更新时间:2025-10-11 GMT+08:00

集群一直处于创建快照中

当集群的“任务状态”长时间处于“创建快照中”,通常有以下三个比较常见的原因:

  1. 集群数据量大或负载高导致备份耗时长

    当集群数据量庞大或集群本身负载(如高索引/查询压力)较高时,创建快照的过程会显著变慢。Elasticsearch和OpenSearch默认会限制单个节点的快照速度(通常为40MB/s),且整体快照性能高度依赖集群资源状况。在高负载下,快照耗时会更长。

    解决方案

    1. 查询进度:使用API检查快照状态和剩余工作。
      GET _snapshot/repo_auto/{snapshot_name}

      替换{snapshot_name}为实际快照名。

      在响应中查看shards_stats字段(或类似字段,取决于版本) 了解已完成shard数和总shard数。

    2. 选择处理方案。
      • 等待:如果预计耗时可接受或集群负载后续会降低,可选择等待其完成。
      • 终止:如果耗时过长不可接受,可调用删除快照API终止任务。
        DELETE _snapshot/repo_auto/{snapshot_name}
  2. 快照状态更新失败

    Elasticsearch和OpenSearch会将进行中的快照状态信息保存在cluster state中。快照完成后,需要更新cluster state中的状态。如果更新操作失败(例如,由于当时集群内存压力极大,导致更新cluster state的请求被线程池拒绝或处理超时),那么该快照在cluster state中的状态就会卡在“进行中”。

    解决方案:

    尝试调用删除快照API,即使状态显示卡住,删除操作通常也能被成功执行并清理残留状态。

    DELETE _snapshot/repo_auto/{snapshot_name}
  3. 临时访问凭证(AK/SK)过期

    CSS服务在创建快照仓库时,会通过委托机制获取一个临时的访问密钥(AK/SK)配置到仓库中,用于访问用户的OBS桶。这些临时的AK/SK具有时效性(通常为24小时)。

    如果快照执行时间超过AK/SK有效期(如超过24小时未完成),快照会因身份认证失败而最终失败。AK/SK过期后,整个快照仓库的所有操作(包括查询仓库、删除快照、删除仓库)都会因认证失败而无法执行。这导致该失败快照的状态信息(以及可能关联的仓库信息)永久滞留在cluster state中,无法通过常规API清除。

    解决方案:

    通过快速重启,清除cluster state里残留的快照信息。注意,滚动重启(Rolling Restart)无效,因为它依赖节点间协调和cluster state的正确性。只有快速重启会重新加载持久化的cluster state,从而清除无效的快照状态。