https://discuss.elastic.co/t/backup-repository-size-is-much-bigger-than-indices-size/47469讨论了快照可能太大的问题。
我不认为删除旧快照是解决方案,因为如果旧快照具有较新快照没有的段,则在删除旧快照后我们将无法恢复数据...
elasticsearch是否有办法确定是否有快照可以安全删除,因为最新的快照“覆盖”了它们?还是Elasticsearch可以清除最新段所覆盖的旧备份段。
另一种解决方案是定期从头开始生成新快照...但是我不确定这是否是最佳解决方案。
答案 0 :(得分:2)
elasticsearch是否有办法确定是否有快照可以安全删除,因为最新的快照“覆盖”了它们?
它确实与您链接它们的talk about it处于同一线程中:
删除旧快照将删除不再引用快照的段,并减少存储空间。
让我们假设您在2018-10-04和2018-10-05创建了两个快照,并且想要删除2018-10-05中的一个。这会发生什么:
较新的Snapshot 2018-10-05引用了Snapshot 2018-10-04所做的某些细分(2和3),尽管它也包含另一个数字4。一旦删除Snapshot 2018-10-04实际上只有第1段会被删除。
严格来说,是的。如果在第一个快照的日期2018-10-04上,您的索引包含一些在2018-10-05之前已删除的文档,则可能会丢失它们,因为日期为2018-10的快照-05只保证您在创建快照时存在完整的文档集。
如果您需要“回到过去”,那么您可能不想删除旧快照-实际上,增量快照应该可以非常有效地存储此类历史记录。
如果您想了解有关快照和还原工作原理的更多信息,这里有些古老,但仍然不错blog post。
希望有帮助!