恢复OpenSearch集群数据
通过CSS服务的快照恢复功能,将已备份的OpenSearch集群数据(快照)还原到当前集群或其他符合条件的集群中。快照恢复的核心是将备份的索引数据、元信息及分片结构从OBS存储中重新构建到目标集群中,确保数据一致性。快照恢复适用于数据回滚、集群迁移、灾备恢复等场景。
约束限制
- 集群快照会导致CPU、磁盘IO上升等影响,建议在业务低峰期进行操作。
- 当源集群处于“不可用”状态时,支持恢复快照,将源集群已备份的快照恢复到目标集群。
- 备份与恢复过程中,支持集群扩容(如果是恢复至本集群,则本集群不支持扩容)、访问OpenSearch Dashboards、查看监控、删除其他快照的操作。不支持重启此集群、删除此集群、删除正在创建或恢复的快照、再次创建或恢复快照的操作。当此集群正在进行创建快照或者恢复快照过程中,同时的自动创建快照任务将被取消。
- 集群第一次快照是全量备份,后面是在之前的快照基础上增量备份,增量快照逻辑会导致快照之间的文件会相互依赖,需按顺序恢复。
- 在快照恢复过程中,目标集群正在恢复的索引数据不可查询。
- 当两个集群存在同名索引且shard结构不一致时,无法恢复该索引数据。
- 用于恢复的目标集群版本不得低于源集群版本,一般建议保持版本一致。此外,OpenSearch 1.3.6和2.19.0版本支持从Elasticsearch 7.x恢复快照。
前提条件
集群快照任务列表中有“快照状态”为“可用”的快照,且目标集群的“集群状态”也为“可用”。
恢复数据
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“集群快照”页签,进入集群快照页面。
- 在集群快照任务列表中,选择需要恢复的快照,单击操作列的“恢复”,在弹窗中完成恢复配置。
图1 恢复快照
表1 恢复配置 参数
说明
索引
指定需要进行恢复的索引名称。
约束限制:
- 支持0~1024个字符,不支持大写字母、空格以及字符“"\<|>/?”。
- 恢复以“.kibana”为前缀的索引时需要指定索引名称。
- “.opendistro_security”索引不允许恢复。
取值范围:
- 支持使用“*”匹配多个索引,比如“index*”,表示恢复快照中名称前缀是index的所有索引。使用“*”匹配索引时,默认会过滤掉“.opendistro_security”或以“.kibana”为前缀的系统索引。
- 支持恢复指定的索引,比如“index1,index2,index3”。
默认取值:
默认为空,即不指定索引名称,表示恢复所有的索引数据。
索引名称匹配模式
索引名称匹配规则。在恢复时,可以根据文本框中定义的过滤条件去恢复符合条件的索引,过滤条件请使用正则表达式。
“索引名称匹配模式”和“索引名称替换模式”需要同时设置才会生效。
支持0~1024个字符,不支持大写字母、空格以及字符“"\<|>/?,”。
默认值为“index_(.+)”表示所有的索引。
索引名称替换模式
索引重命名的规则。
“索引名称匹配模式”和“索引名称替换模式”需要同时设置才会生效。
支持0~1024个字符,不支持大写字母、空格以及字符“"\<|>/?,”。
默认值“restored_index_$1”表示在所有恢复的索引名称前面加上“restored_”。
集群
选择需要进行恢复的集群名称,可选择当前集群或者其他集群。
- 只能选择处于“可用”状态的集群,如果快照所属的集群处于“不可用”状态,那么也无法将快照恢复到本集群。
- 恢复到其他集群时,目标集群的版本不能低于本集群的版本,而且目标集群必须和本集群在相同区域。当本集群存在冻结状态的索引快照时,在恢复数据后,该索引会被存储在节点本地,且默认只读,如果需要支持写入,需要执行如下命令配置索引。
PUT index_name/_settings { "index.blocks.write": null }
覆盖目标集群同名索引
选择是否覆盖目标集群同名索引。默认不覆盖,即不勾选。
快照恢复将覆盖目标集群数据,如果目标集群存在同名索引需勾选覆盖以恢复相同分片结构的索引,不同分片结构的索引不可恢复,请谨慎操作。
- 配置完成后,单击“确定”开始恢复。
恢复成功后,快照列表中“任务状态”将变更为“恢复成功”,索引数据将根据快照信息重新生成。
图2 恢复成功
验证恢复结果
快照恢复成功后,可以前往目标集群,查看恢复的索引信息,确认恢复情况。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”。
- 在集群列表,选择目标集群,单击操作列的“Dashboards”,登录OpenSearch Dashboards。
- 在OpenSearch Dashboards左侧导航栏选择“Dev Tools”,进入操作页面。
- 执行如下命令查看索引信息。
GET _cat/indices