Easysearch 自动备份:快照生命周期管理
2025-04-01
之前介绍了 Easysearch 如何 使用 S3 进行快照备份,毕竟那是手工操作。Easysearch 还提供了 快照生命周期管理,能够按照策略自动创建、删除快照,极大地方便了用户的日常管理。
快照生命周期管理计划由创建计划、删除计划以及快照配置组成。
- 创建计划和删除计划包含一个 cron 表达式,指定任务的频率和时间。
- 删除计划可以指定快照保留策略,以保留过去 30 天的快照或仅保留最近的 10 个快照。
- 快照配置包括快照的索引和存储库,并支持所有通过 API 创建快照时的参数。此外,还可以指定快照名称中使用的日期的格式和时区。
快照生命周期创建的快照名称格式为 <policy _ name>-<date>-<Random number> 。
比如, 计划每 2 分钟对索引 .infini_metrics-00001 创建一个快照,并且只保留最近的 2 个快照。
curl -XPOST -uadmin:admin -H 'Content-Type: application/json' 'https://localhost:9200/_slm/policies/daily-policy' -d '
{
"description": "测试快照策略",
"creation": {
"schedule": {
"cron": {
"expression": "*/2 * * * *",
"timezone": "Asia/Shanghai"
}
},
"time_limit": "1h"
},
"deletion": {
"schedule": {
"cron": {
"expression": "*/1 * * * *",
"timezone": "Asia/Shanghai"
}
},
"condition": {
"max_count": 2
},
"time_limit": "1h"
},
"snapshot_config": {
"date_format": "yyyy-MM-dd-HH:mm",
"date_format_timezone": "Asia/Shanghai",
"indices": ".infini_metrics-00001",
"repository": "easysearch_s3_repo",
"ignore_unavailable": "true",
"include_global_state": "false"
}
}'
自动创建的快照如下图,一个 16 点 34 分创建的,另一个 16 点 36 分创建的。
⚠️注意:虽然指定只保留最近两个快照,但因为创建和删除其实是两个独立的任务,所以会短暂出现存在 3 个快照的现象,等删除任务调度一次就会删除多余的快照了。
如果遇到维护需要停止自动备份,也有相应的 API 来启停快照策略。
停止策略
curl -XPOST -uadmin:admin 'https://localhost:9200/_slm/policies/daily-policy/_start'
启动策略
curl -XPOST -uadmin:admin 'https://localhost:9200/_slm/policies/daily-policy/_stop'
查看策略
curl -XGET -uadmin:admin 'https://localhost:9200/_slm/policies'
删除策略
curl -XDELETE -uadmin:admin 'https://localhost:9200/_slm/policies/daily-policy?pretty'
更多详细信息请参考 官方文档。