官方文档-快照和恢复

对应7.17公文路径:快照和恢复。

官方地址如下:

https://www . elastic . co/guide/en/elastic search/reference/7.17/snapshot-restore . html

快照是正在运行的ES群集的备份。您可以使用快照来执行以下操作:

ES将快照存储在集群存储之外的存储空间中,称为快照存储库。在创建或恢复快照之前,必须在群集上注册快照存储库。ES支持各种具有云存储属性的存储库,包括:

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

默认集群快照包含集群状态、所有数据流和所有打开状态的索引,包括系统索引。集群状态包括以下内容:

您还可以仅拍摄群集中特定数据流或索引的快照。包含数据流或索引的快照会自动包含它们的别名。恢复快照时,您可以选择是否恢复这些别名。

快照不包含以下内容:

功能状态包含用于存储es的配置、历史和其他功能的索引和数据流,例如安全性和与kibana相关的索引。

函数状态通常包括一个或多个系统索引或数据流,也可能包括函数使用的通用索引和数据流。例如,函数状态可能包含函数的执行历史的通用索引,将该历史存储在通用索引中将使您更容易搜索它。

快照会自动删除重复数据,以节省存储空间并减少网络传输开销。备份索引时,快照会复制索引段的副本,并将它们存储在快照存储库中。因为段是不可变的,所以快照只需要复制自存储库的最后一个快照以来所有新创建的段。

每个快照在逻辑上也是独立的。删除快照时,ES将仅删除该快照使用的段,而不会删除仓库中其他快照使用的段。

快照从索引的主切片复制段。当您开始制作快照时,ES会立即开始复制主切片的任何可用段。如果某个存储片正在启动或重新定位,ES将在拷贝之前等待这些过程完成。如果一个或多个主存储片不可用,快照生产将会失败。

一旦快照开始复制碎片段,ES将不会根据重新平衡和碎片分配设置的规则将碎片移动到其他节点,并且在快照完成复制数据之前不会移动碎片。

快照并不代表群集在某个精确时间点的数据状态。每个快照都包含开始和结束时间,快照表示开始和结束时间范围内某个点的每个数据段的数据视图。

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

您不能将快照还原到早期版本的ES。例如,您不能将7.6.0中拍摄的快照恢复到7.5.0集群。

从快照恢复的任何索引也必须与当前群集版本兼容。如果尝试恢复在不兼容版本群集中创建的索引,恢复将会失败。

拍摄快照是唯一可靠且受支持的群集备份方式。不能通过复制节点的数据目录来备份ES集群,也没有官方的方法从文件系统层面支持备份的数量。如果您尝试从这样的备份中恢复群集,它可能会由于文件损坏或丢失或其他不一致的数据而报告失败,或者它可能已经成功地以静默方式丢失了一些数据。

群集节点的数据目录副本不能用作备份,因为它不是单个时间点内容的一致表示。制作副本时关闭节点不能解决这个问题,拍原子文件系统级快照也不能解决这个问题,因为ES对整个集群有一致性要求,集群备份必须使用内置的快照功能。

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

但是,您可以从快照仓库的备份中安全地还原其内容,只要: