我们有一个基于Linux的ElasticSearch 6.4群集,其中包含4个索引,我们正在Linux VM的Azure云中运行。我正在阅读有关创建索引快照的文档,但是在快照的存储上有些困惑。
我们要在运行集群的VM之外创建并存储每日快照,以便在VM出现故障时,一旦我们重新启动并运行VM,这些快照仍可供我们还原。
因此,我正在寻找指导的是我可以运行的API调用查询,以创建索引的快照(假设该索引称为“ index01”),该快照可以存储在Azure存储中的某个位置。
这可能吗?默认行为是仅将快照与索引所在的磁盘存储在同一磁盘上吗?如果是这样,我不确定是否会理解磁盘或VM损坏,也会丢失快照。
任何指导或建议都将受到欢迎。
答案 0 :(得分:1)
您是对的。将快照存储在运行ES的相同磁盘/主机上没有多大意义。快照的全部目的是充当备份,以防万一发生不良情况并且您需要重建集群。
幸运的是,确实有一个Azure storage的存储库插件。在所有节点上installing the plugin并重新启动它们之后,您可以像这样创建存储库:
PUT _snapshot/azure_backup
{
"type": "azure",
"settings": {
"container": "backup-container",
"base_path": "backups",
"chunk_size": "32m",
"compress": true
}
}
完成后,您可以轻松create your snapshots像这样:
PUT /_snapshot/azure_backup/snapshot_1
{
"indices": "index01",
"ignore_unavailable": true,
"include_global_state": true
}