文档首页/ 云搜索服务 CSS/ 常见问题/ CSS集群备份与恢复/ 数据量很大,如何进行快照备份?
更新时间:2026-07-29 GMT+08:00
分享

数据量很大,如何进行快照备份?

当快照数据量极大,备份耗时超过一天时,可通过以下3种方法优化备份效率:

  • 分批备份指定索引:通过控制台手动创建快照,每次指定部分索引,减少单次备份数据量。
  • 自定义备份速率:通过控制台修改快照配置,调整最大备份速率,提升单次备份效率。
  • 使用自定义快照仓库:通过Kibana创建自定义仓库,灵活配置备份速率和分块参数,实现高效备份。

方式一:分批备份指定索引

默认快照备份的索引范围为所有索引,数据量极大时可通过手动创建快照,每次指定部分索引,分批完成备份。

  1. 在Kibana/OpenSearch Dashboards的Dev Tools页面执行以下命令,查询集群中所有索引名称。
    GET /_cat/indices
  2. 根据索引的数据量和业务优先级,将索引分为多个批次。
  3. 登录云搜索服务管理控制台
  4. 在左侧导航栏,选择“集群管理”,根据目标集群选择集群类型,进入集群列表页面。
  5. 在集群列表单击目标集群名称,进入集群详情页。
  6. 选择“集群快照”页签,开启快照。
  7. 在集群快照页面,单击“手动创建快照”,在弹窗中完成备份策略配置。
    表1 手动创建快照

    参数

    说明

    快照名称

    设置快照名称。可以使用“snapshot-batch1”“snapshot-batch2”等命名方式区分批次。

    索引

    指定本次备份的索引名称。

    如果不填写,则默认备份集群中所有索引。

    快照描述

    添加快照描述信息。

  8. 配置完成后,单击“确定”,开始创建快照。
  9. 在集群快照任务列表中,当“快照任务状态”“可用”时,表示当前批次备份完成。

    单击快照名称左侧的展开图标,查看备份的分片和索引信息,确认数据是否备份成功。

  10. 重复7-9,直到所有索引分批次备份完成。

方式二:自定义备份速率

通过修改快照配置,调整最大备份速率参数,提升每个节点的备份速度。

提高备份速率会增加集群CPU和磁盘IO负载,建议在业务低峰期执行,并在高峰期前降低速率。

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏,选择“集群管理”,根据目标集群选择集群类型,进入集群列表页面。
  3. 在集群列表单击目标集群名称,进入集群详情页。
  4. 选择“集群快照”页签,单击“修改配置”提升最大备份速率。
    表2 修改备份速率

    参数

    说明

    最大备份速率(每秒)

    配置每个节点的最大备份速率,当集群快照的备份速率超过设定值时将触发限流机制,防止速率太大导致资源占用过高,影响集群稳定性。

    取值格式:数字(0~9999)+单位(KB、MB、GB、TB、PB、B)

    默认取值:40MB

    当填写0MB时,表示不限速。当备份速率过大时,可能导致集群资源占用过高,稳定性下降,建议谨慎配置。

    实际备份速率可能因OBS性能、磁盘IO等限制而无法达到设定值。

    最大恢复速率(每秒)

    配置每个节点的最大恢复速率,当集群快照的恢复速率超过设定值时将触发限流机制,防止速率太大导致资源占用过高,影响集群稳定性。

    取值格式:数字(0~9999)+单位(KB、MB、GB、TB、PB、B)

    默认取值:Elasticsearch 7.6.2及之前版本缺省值为40MB,OpenSearch及高于Elasticsearch 7.6.2版本缺省值为0MB(不限速)。

    当恢复速率过大时,可能导致集群资源占用过高,稳定性下降,建议谨慎配置。

    OpenSearch及高于Elasticsearch 7.6.2版本的实际限流值还受“indices.recovery.max_bytes_per_sec”参数影响,取两者中的较小值。且实际恢复速率可能因OBS性能、磁盘IO等限制而无法达到设定值。

  5. 配置完成后,单击“确定”,保存修改。
  6. 修改配置后,手动创建快照或等待自动快照触发即可,备份将按照新的速率执行。

方式三:使用自定义快照仓库

除CSS服务提供的repo_auto仓库外,可通过创建自定义快照仓库,灵活配置备份速率、分块大小等参数,实现高效备份。

  1. 登录Kibana/OpenSearch Dashboards的Dev Tools页面。
  2. 创建自定义快照仓库。
    PUT _snapshot/my_backup
    {
      "type": "obs",
      "settings": {
        "bucket": "<OBS桶名称>",
        "base_path": "<备份路径>",
        "chunk_size": "2g",
        "endpoint": "obs.<Region名称>.example.com",
        "region": "<Region名称>",
        "compress": "true",
        "access_key": "<AK>",
        "secret_key": "<SK>",
        "max_restore_bytes_per_sec": "100mb",
        "max_snapshot_bytes_per_sec": "100mb"
      }
    }
    表3 自定义仓库参数说明

    参数

    是否必填

    说明

    bucket

    OBS桶名称,桶必须与集群在同一区域,存储类别为标准存储。

    base_path

    快照在OBS桶中的存放路径,不能以“/”“.”开头。

    chunk_size

    备份数据分块大小,缺省值为2g。数据量大时可保持缺省值。

    endpoint

    OBS域名地址,格式为“obs.<Region名称>.example.com”

    region

    集群所在区域名称。

    compress

    是否启用数据压缩,缺省值为true。压缩可减少OBS存储空间占用。

    access_key

    OBS访问密钥AK,获取方法请参见如何获取访问密钥AK/SK

    secret_key

    OBS访问密钥SK,获取方法请参见如何获取访问密钥AK/SK

    max_snapshot_bytes_per_sec

    每个节点的最大备份速率。业务低峰期可适当提高(如100MB),高峰期建议降低。

    max_restore_bytes_per_sec

    每个节点的最大恢复速率,可根据集群性能调整。

  3. 使用自定义仓库创建快照。
    PUT _snapshot/my_backup/<快照名称>
    {
      "indices": "*",
      "ignore_unavailable": true,
      "include_global_state": false
    }
    表4 创建快照参数说明

    参数

    是否必填

    说明

    <快照名称>

    快照名称,建议使用“snapshot-batch1”等命名方式区分批次。

    indices

    指定备份的索引名称,多个索引用英文逗号分隔,支持通配符"*"。缺省值为"*"(备份所有索引)。

    ignore_unavailable

    当指定索引不存在时是否忽略,缺省值为false。

    • true表示忽略并继续备份其他索引。
    • false表示索引不存在时备份失败。

    include_global_state

    是否保存集群全局状态,缺省值为false,建议保持false避免全局状态干扰恢复。

  4. 查询快照状态。
    GET _snapshot/my_backup/<快照名称>/_status

    等待返回结果中“state”字段为“SUCCESS”表示备份完成。

相关文档