准备工作

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

LeeYonghu
4 声望0 粉丝