Elasticsearch 可以通过快照命令对索引或者整个集群进行快照和恢复,第一个快照会是一个数据的完整拷贝,但是所有后续的快照只存储已存快照和新数据之间的差异。这意味着后续备份会相当快速,因为它们只传输很小的数据量。
快照和恢复模块允许创建单个索引或者整个集群的快照到各种各样的后台仓库,本文主要介绍将快照存储到共享文件系统
。
在共享文件系统上创建快照需要执行以下步骤:
创建集群的共享目录;
修改ES配置,添加对共享目录的设置;
创建备份仓库;
创建快照;
查看快照状态;
必要时从快照恢复数据。
2. 通过 NFS 设置共享目录
NFS 文件共享能解决在集群环境下图片、附件等文件共享的问题,这里主要用于创建搜索集群的快照共享文件夹。
2.1 角色分配
主机名 | IP | 角色 |
---|---|---|
zk-master01 | 192.168.1.190 | NFS服务端 |
zk-slaver01 | 192.168.1.224 | NFS客户端 |
zk-slaver02 | 192.168.1.48 | NFS客户端 |
2.2 配置 NFS 服务端
以下操作只在
zk-master01(192.168.1.190)
上执行。
2.2.1 检查安装 NFS 服务
1
2
如果组件没有安装,请执行下面的命令进行安装:
1
2.2.2 设置开机自动启动
CentOS 6 可以通过下面的命令设置开机启动服务:
1
2
CentOS 7 可以通过下面命令设置开机自动启动:
1
2
2.2.3 启动服务
CentOS 6 执行下面命令:
1
2
CentOS 7 执行下面命令:
1
2
2.2.4 创建共享目录
1
2
3
2.2.5 修改配置文件
1
2
3
*
:允许所有的网段访问rw
:读写权限sync
:资料同步写入内在和硬盘no_root_squash
:nfs客户端共享目录使用者权限
更多配置详情如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2.2.6 刷新配置立即生效
1
2
3
4
5
2.3 配置客户端
以下指令在
zk-slaver01(192.168.1.224)和zk-slaver02(192.168.1.48)
上执行。
请执行配置服务端的 1-4
步骤;NFS 安装部署完成后,启动 NFS,创建备份文件夹。
2.3.5 挂载目录
1
2
3
4
5
2.3.6 设置开机自动挂载
1
2
3
4
5
6
3. 修改 ES 配置
配置完共享目录后,需要修改 ES 配置,并重启 ES 使其生效。
1
2
4. 创建备份仓库
4.1 打开快照管理界面
ES 插件 kopf 提供了图形化的界面来创建管理快照,安装 kopf 插件的集群直接访问:http://es-ip:9200/_plugin/kopf/#!/snapshot
即可进入快照管理界面。
当然也可以通过点击菜单进入界面。
4.2 创建备份仓库
在快照界面左侧的文本框添加备份仓库信息后点击create
按钮即可完成创建,各个文本框字段的作用:
repository name
:仓库名称type
:请务必选择fs
location
:请填写共享目录名/data/elastic/bak/backup_es
max_restore_bytes_per_sec
:数据恢复时速度限制,默认(40m/s)max_snapshot_bytes_per_sec
:创建备份复时速度限制,默认(40m/s)chunk_size
:分片大小,默认不限制compress
:是否启用压缩
当然也可以通过 REST 客户端执行下面请求来创建备份仓库。
1
2
3
4
5
6
7
8
9
10
5. 创建快照
5.1 创建快照
在快照界面右侧的snapshot name
文本框填写快照名称,repository
选择刚才创建的仓库es_bak_20180710
;ignore_unavailable
勾选true
;include_global_state
勾选false
;最后选择需要参与备份的索引(不选择表示全部索引,按住ctrl
键可以进行多选),点击create
按钮即可创建快照。
当然也可以通过 REST 客户端执行下面请求来创建快照。
1
2
3
4
5
6
5.2 查看快照
直接在地址栏访问下面的地址即可查看ss_2018_07_10
快照的信息。
1
等待一段时间重新访问,提示创建成功。
6. 从快照恢复
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18