Link Search Menu Expand Document Documentation Menu

快照管理

快照管理(SM)允许您自动化创建快照。要使用此功能,您需要安装 索引管理 (IM) 插件。快照仅存储自上次快照以来的增量更改。因此,虽然初始快照可能是一个繁重的操作,但后续快照的开销极小。要设置自动快照,您必须创建一个具有所需 SM 计划和配置的 SM 策略。

当您创建 SM 策略时,其文档 ID 会被命名为 <policy_name>-sm-policy。因此,SM 策略必须遵守以下规则:

  • SM 策略必须具有唯一名称。

  • 创建后无法更新策略名称。

SM 创建的快照名称格式为 <policy_name>-<date>-<random number>。由于 <policy_name> 前缀,由不同策略同时创建的两个快照始终具有不同的名称。为避免同一策略内的名称冲突,每个快照的名称都包含一个随机字符串后缀。

每个策略都有关联的元数据,用于存储策略状态。快照管理将 SM 策略和元数据保存在系统索引中,并从系统索引中读取它们。因此,快照管理依赖于 OpenSearch 集群的索引和搜索功能。策略的元数据仅保留最新创建和删除的信息。在每次运行计划作业之前读取元数据,以便 SM 可以从上一个作业的状态继续执行。您可以使用 explain API 查看元数据。

SM 计划是一个自定义的 cron 表达式。它由两部分组成:一个创建计划和一个删除计划。您必须设置一个创建计划,指定快照创建的频率和时间。您可以选择设置一个单独的快照删除计划。

SM 配置包括快照的索引和存储库,并支持您在使用 API 创建快照时可以定义的所有参数。此外,您可以为快照名称中使用的日期指定格式和时区。

性能

一个快照可以包含集群中任意数量的索引。我们预计一个集群中最多有几十个 SM 策略,但快照存储库可以安全地扩展到数千个快照。然而,为了管理其元数据,大型存储库需要集群管理节点上更多的内存。

快照管理依赖于 Job Scheduler 插件来调度定期运行的作业。每个 SM 策略对应一个 SM 调度作业。调度作业是轻量级的,因此 SM 的负担取决于快照创建频率和运行快照操作本身的负担。

并发性

一个 SM 策略不支持并发快照操作,因为过多的此类操作可能会降低集群性能。快照操作(创建或删除)是异步执行的。SM 在上一个异步操作完成之前不会启动新操作。

我们不建议在一个集群中创建具有相同计划和重叠索引的多个 SM 策略,因为它会导致在相同索引上并发创建快照并影响性能。

我们不建议在不同集群中为具有相同计划的多个 SM 策略设置相同的存储库,因为它可能会导致该存储库的负担突然增加。

故障管理

如果快照操作失败,它最多会重试三次。失败消息保存在 metadata.latest_execution 中,并在后续快照操作开始时被覆盖。您可以使用 explain API 查看失败消息。在使用 OpenSearch Dashboards 时,您可以在策略详情页面上查看失败消息。可能的失败原因包括索引状态为红色和分片重新分配。

安全

安全插件为快照管理操作提供了两个内置角色:snapshot_management_full_accesssnapshot_management_read_access。有关每个角色的描述,请参阅预定义角色

下表列出了每个快照管理 API 所需的权限。

功能 API 权限
获取策略 GET _plugins/_sm/policies
GET _plugins/_sm/policies/policy_name
cluster:admin/opensearch/snapshot_management/policy/get
cluster:admin/opensearch/snapshot_management/policy/search
创建/更新策略 POST _plugins/_sm/policies/policy_name
PUT _plugins/_sm/policies/policy_name?if_seq_no=1&if_primary_term=1
cluster:admin/opensearch/snapshot_management/policy/write
删除策略 DELETE _plugins/_sm/policies/policy_name cluster:admin/opensearch/snapshot_management/policy/delete
解释 GET _plugins/_sm/policies/policy_names/_explain cluster:admin/opensearch/snapshot_management/policy/explain
启动 POST _plugins/_sm/policies/policy_name/_start cluster:admin/opensearch/snapshot_management/policy/start
停止词 POST _plugins/_sm/policies/policy_name/_stop cluster:admin/opensearch/snapshot_management/policy/stop

API

下表列出了所有 快照管理 API 功能。

功能 API 描述
创建策略 POST _plugins/_sm/policies/policy_name 创建 SM 策略。
更新策略 PUT _plugins/_sm/policies/policy_name?if_seq_no=sequence_number&if_primary_term=primary_term 修改 policy_name 策略。
获取所有策略 GET _plugins/_sm/policies 返回所有 SM 策略。
获取策略 policy_name GET _plugins/_sm/policies/policy_name 返回 policy_name SM 策略。
删除策略 DELETE _plugins/_sm/policies/policy_name 删除 policy_name 策略。
解释 GET _plugins/_sm/policies/policy_names/_explain 提供由 policy_names 指定的所有策略的启用/禁用状态和元数据。
启动策略 POST _plugins/_sm/policies/policy_name/_start 启动 policy_name 策略。
停止策略 POST _plugins/_sm/policies/policy_name/_stop 停止 policy_name 策略。
剩余 350 字符

有问题?

想贡献吗?