官方文档-快照和恢复

对应7.17官方文档路径: Snapshot and restore
官方地址如下:
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/snapshot-restore.html

快照和恢复

快照是正在运行的 ES 集群的备份,你可以使用快照做以下事情:

  • 定期备份集群,无需停机
  • 在删除数据或者硬件故障后恢复数据
  • 在集群之间传输数据
  • 在 cold 和 frozen 数据层通过可搜索快照降低存储成本
    ##快照工作流程
    ES 将快照存储在集群存储外的存储空间内,称为快照仓库(snapshot repository)。在你制作或者恢复快照之前,你必须在集群上注册一个快照仓库,ES 支持多种具备云存储属性的存储库,包括:
  • AWS S3
  • Google Cloud Storage(GCS)
  • Microsoft Azure

在注册快照仓库后,你可以使用快照生命周期管理(SLM)自动创建并管理快照,你可以通过恢复快照(restore)恢复或者传输数据。

快照内容

默认集群快照包含集群状态,全部 data streams,全部 open 状态的索引,包括系统索引。集群状态包含如下内容:

  • Persistent 级别集群配置
  • 索引模板
  • 旧版本索引模板
  • 摄取管道
  • ILM策略
  • 7.12.0 版本后的 feature states

你还可以仅对集群中的特定数据流或索引进行快照。包含数据流或索引的快照会自动包含其别名。还原快照时,你可以选择是否还原这些别名。

快照不包含以下内容:

  • Transient 级别集群配置
  • 注册过的快照仓库
  • 节点配置文件

Feature states

功能状态包含用来存储配置、历史记录和 ES 的其他功能的索引和数据流,例如 security 和 kibana 相关索引。
功能状态通常包含一个或者多个系统索引或者数据流,还可能包含该功能使用的常规索引和数据流。例如,功能状态可能包含该功能执行历史的常规索引,将此历史记录存储在常规索引中可以让您更轻松地搜索它。
##快照如何工作
快照会自动删除重复数据来节约存储空间并减少网络传输开销。备份索引时,快照会复制一个索引 segments 的副本并将它们存储在快照仓库。由于段是不可变的,快照只需要复制自存储库的最后一个快照以来新创建的全部段。
每个快照在逻辑上也是独立的。当你删除快照时,ES 只会删除该快照专门使用的段,不会删除仓库中其他快照使用的段。

快照和分片分配

快照从索引的主分片复制段。当你开始制作一个快照,ES 立刻开始复制任何可用的主分片的段。如果一个分片正在启动或者在重新定位中,ES 将等待这些过程完成后再进行复制。如果一个或多个主分片不可用,快照制作将失败。
一旦快照开始复制分片的段,ES 将不会依据重新平衡和分片分配设置规则移动分片到其他节点,在快照完成复制数据后才会进行分片移动。

快照开始和结束时间

快照不代表某一个精确时间点集群的数据状态。每个快照都包含起止时间,快照代表起止时间范围内的某一个时间点每个分片的数据视图。

快照兼容性

要将快照恢复到其他集群集群,快照、集群和任何恢复的索引的版本必须兼容。

快照版本兼容

快照版本兼容性
你无法将快照还原到早期版本的 ES。例如你无法将在 7.6.0 中拍摄的快照恢复到 7.5.0 版本集群。

索引兼容

你从快照恢复的任何索引也必须与当前集群的版本兼容。如果你尝试恢复在不兼容版本集群中创建的索引,则恢复将失败。
索引兼容性
你无法将索引恢复到早期版本的 ES。例如你无法将在 7.6.0 中创建的索引恢复到 7.5.0 版本集群。
兼容的快照中可包含不兼容版本的索引,例如 6.8 版本集群的快照可以包含 5.6 版本集群创建的索引。如果你尝试将 5.6 版本的索引恢复到 7.17 版本集群中,则恢复将失败。如果你在升级集群之前拍摄快照,请记住这一点。
为了解决上述问题,你可以将索引恢复到另一个与索引和当前集群都兼容的最新版本的 ES 中,然后你可以使用 remote reindex 方式将数据导入当前集群,注意只有索引 _source 设置为 enabled 才可以使用 reindex from remote API。
Reindex from remote 可能比恢复快照耗费更长的时间。在正式开始之前,使用部分少量数据测试其性能,以估计你将花费的时间。

注意事项

其他备份方式

制作快照是备份集群唯一可靠且受支持的方式。 你不能通过复制节点的数据目录来备份 ES 集群,官方没有方式支持从文件系统级别的备份恢复数。如果你尝试从此类备份中恢复集群,它可能会因损坏或丢失文件或其他数据不一致而报告失败,或者它可能已经成功地默默地丢失了一些数据。
集群节点的数据目录副本不能用作备份,因为它不是其内容在单个时间点的一致表示。您无法通过在制作副本时关闭节点来解决此问题,也无法通过获取原子文件系统级快照来解决此问题,因为 ES 具有跨越整个集群的一致性要求,您必须使用内置快照功能进行集群备份。

备份创库中的内容

不要修改备份仓库中的任何内容或运行可能会干扰其内容的进程。 如果 ES 以外的东西修改了仓库内容,那么未来制作快照或者恢复操作可能会失败,报告损坏或者其他数据不一致问题,或者默默地丢失了一些数据并报告成功。

但是,你可以安全的从快照仓库的备份中恢复其内容,只要:

  1. 在您恢复其内容时,该存储库未向 Elasticsearch 注册。
  2. 当您完成恢复存储库时,其内容与您进行备份时的内容完全相同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值