快照与恢复
本章定位:副本能防节点宕机,但防不了机房故障或误删索引。快照(Snapshot)提供了跨集群的数据备份和恢复能力。
定义与作用
**快照(Snapshot)**是索引在某一时刻的完整备份,存储在外部仓库(S3/NFS/HDFS)。**恢复(Restore)**从快照中将索引还原到集群。快照是增量备份——后续快照只备份变更部分。
完整示例:李眉的备份策略
# 步骤 1:注册快照仓库
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": { "location": "/mnt/backups/elasticsearch" }
}
# 步骤 2:创建快照
PUT /_snapshot/my_backup/snapshot_20240613
{ "indices": "students,courses", "ignore_unavailable": true }
# 步骤 3:查看快照状态
GET /_snapshot/my_backup/snapshot_20240613
# 步骤 4:恢复快照
POST /_snapshot/my_backup/snapshot_20240613/_restore
{ "indices": "students,courses" }
小结
快照是集群级别的最后一道防线。建议每天自动快照 + 保留 30 天历史。ES 会自动 SLM(Snapshot Lifecycle Management)定时执行。