准备工作
1、文件共享系统
共享文件系统仓库(“type”: “fs”)使用共享文件系统存快照,如果要注册共享文件系统仓库,必须在所有master和data节点挂载相同的共享文件系统到同一个路径位置。这个路径位置(或者它的一个父目录)必须在所有master和data节点的path.repo设置上注册。
假设共享文件系统挂载到/data/backups/
,应该在elasticsearch.yml文件中添加如下配置:
path.repo: ["/data/backups"]
备注:以下例子已metricbeat数据为例
2、创建仓库
PUT _snapshot/metricbeat
{
"type": "fs",
"settings": {
"location": "/data/backups/metricbeat",
"compress": true,
"max_restore_bytes_per_sec": "50mb",
"max_snapshot_bytes_per_sec": "30mb"
}
}
备注说明:
1.backups: 指定仓库名称为backups,生成的备份文件存放路径为/data/bakups
3.max_snapshot_bytes_per_sec,max_restore_bytes_per_sec 限定备份和恢复的数据字节内容大小为50mb,为了防止磁盘IO过高。数值越大,备份恢复速度越快。50mb为推荐值,IO性能高的机器可不限制
参数说明
参数 | 含义 |
---|---|
location |
快照存储位置 |
compress |
是否压缩源文件,默认为true |
chunk_size |
如果有需要,可以将大文件分解为多个小文件,默认不开启 |
max_restore_bytes_per_sec |
指定数据恢复速度,默认为 40m/s |
max_snapshot_bytes_per_sec |
指定创建快照时的速度,默认为 40m/s |
readonly |
设置为只读仓库,默认为false |
3、创建快照
3.1针对全索引快照备份
PUT _snapshot/metricbeat/metricbeat_all?pretty
备注说明:
1.指定备份到仓库metricbeat
2.快照名称为 metricbeat_all
3.2针对单一索引快照备份
PUT _snapshot/metricbeat/metricbeat-7.5.2-2020.03.05?wait_for_completion=true
{
"indices": "metricbeat-7.5.2-2020.03.05",
"ignore_unavailable": true,
"include_global_state": false
}
备注说明:
1.创建的仓库名为metricbeat-7.5.2-2020.03.05
2.存放的文件目录为/mnt/elasticsearch/user_event_201810
3.indices:指定索引源为metricbeat-7.5.2-2020.03.05
4.增加?wait_for_completion=true参数是为了执行完成返回结果状态,快照初始化时,所有之前的快照信息会被加载到内存,所以在一个大的仓库中改请求需要若干秒(甚至分钟)才能返回,即使参数 wait_for_completion 的值设置为 false。
3.3针对同一类索引快照备份
PUT _snapshot/metricbeat/metricbeat202002?wait_for_completion=true
{
"indices": "metricbeat-7.5.2-2020.02*",
"ignore_unavailable": true,
"include_global_state": false
}
通过通配符把一类索引备份处理
说明:
1、metricbeat202002
快照名,指2月份所有数据
2、metricbeat-7.5.2-2020.02*
通过通配符把2月份所有索引统一备份
3、ignore_unavailable
没有设值,一个索引缺失,快照请求会失败
4、数据恢复
4.1、全量恢复
POST _snapshot/metricbeat/metricbeat202002/_restore
4.1、部分恢复
POST _snapshot/metricbeat/metricbeat202002/_restore
{
"indices": "metricbeat-7.5.2-2020.02.29,metricbeat-7.5.2-2020.02.28",
"ignore_unavailable": true,
"include_global_state": true
}
5、辅助操作命令
查看已存在仓库
GET _cat/repositories
查看已存在快照(全部)
GET _snapshot
查看已存在快照(指定快照)
GET _snapshot/metricbeat/metricbeat202002
删除仓库
DELETE _snapshot/metricbeat
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。