点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!
ES集群备份至NAS
1.1 准备工作(三节点)
NAS准备:
第一步:安装NFS和rpc
[root@localhost ~]# yum install -y nfs-utils #安装nfs服务 [root@localhost ~]# yum install -y rpcbind #安装rpc服务
第二步:启动服务和设置开启启动
[root@localhost ~]# systemctl start rpcbind #先启动rpc服务[root@localhost ~]# systemctl enable rpcbind #设置开机启动[root@localhost ~]# systemctl start nfs-server nfs-secure-server启动nfs服务和nfs安全传输服务[root@localhost ~]# systemctl enable nfs-server nfs-secure-server[root@localhost /]# firewall-cmd --permanent --add-service=nfssuccess #配置防火墙放行nfs服务[root@localhost /]# firewall-cmd --reload Success
第三步:配置共享文件目录,编辑配置文件
首先创建共享目录,然后在/etc/exports配置文件中编辑配置即可。
[root@localhost /] # mkdir /es_backup#创建public共享目录[root@localhost /]# vi /etc/exports /es_backup xxx.xxx.xxxx.0/24(rw)[root@localhost /]# systemctl reload nfs #重新加载NFS服务,使配置文件生效
新建挂载目录
mkdir /es_backup
查看共享
showmount -e xxx.xxx.xxxx.xxxx
挂载命令
mount -t nfs -o vers=3,proto=tcp,rsize=16384,wsize=1048576,hard,intr,timeo=600 xxx.xx.xxx.xxx:/es_backup /es_backup
检查
df -h
开机自动挂载 :vi /etc/rc.d/rc.local 中 插入下面mount -t nfs -o vers=3,proto=tcp,rsize=16384,wsize=1048576,hard,intr,timeo=600 192.168.2.10:/es_backup /es_backup
批量写ES数据:
for i in {1..100};do curl -XPUT -H "Content-Type: Application/json" http://xxx.xxx.xxx.xxx:9200/index-1/_doc/$i -d "{"name":"tom_$i","age":"$i"}";done
vim /usr/local/elasticsearch-7.5.1/config/elasticsearch.yml #备份(fs类型)path.repo: ["/es_backup/es-test_bak"] #重启集群systemctl restart elasticsearch.service
1.3 创建fs类型的快照仓库(es_fs_repository)
仓库:
PUT /_snapshot/es_fs_repository{ "type": "fs", "settings": { "location": "/es_backup/es-test_bak", "max_restore_bytes_per_sec": "1000mb", "max_snapshot_bytes_per_sec": "1000mb", "compress": true }}
参数 | 简介 |
location | 指定了一个已挂载的目的地址 |
compress | 是否开启压缩。压缩仅对元数据进行(mapping 及settings), 不对数据文件进行压缩,默认为true |
chunk_ size | 传输文件时数据被分解为块,此处配置块大小,单位为字节,默认为null (无限块大小) |
max_snapshot_bytes_per_sec | 快照操作时节点间限速值,默认为40MB |
max_restore_bytes_per_ sec | 从快照恢复时节点间限速值,默认为40MB |
readonly | 设置仓库属性为只读,默认为false |
1.4 进行一个快照备份
备份:
参数 | 详解 |
wait_for_completion | 参数是可选项,默认情况下,快照命令会立即返回,任务在后台执行,如果想等待任务完成API才返回,则可以将wait_for_completion 参数设置为true,默认为false。 |
ignore_unavailable | 跳过不存在的索引。默认为false, 因此默认情况下遇到不存在的索引快照失败。 |
include_global_state | 不快照集群状态。默认为false。注意,集群设置和模板保存在集群状态中,因此默认情况下不快照集群设置和模板,但是一般情况下我们需要将这些信息一起保存。 |
全备份:
PUT /_snapshot/es_fs_repository/snapshot_1?wait_for_completion=true{ "indices": "*", "ignore_unavailable": true, "include_global_state": true}
单/多索引备份:
PUT /_snapshot/es_fs_repository/snapshot_2?wait_for_completion=true{ "indices": "index-1,index-2", "ignore_unavailable": true, "include_global_state": true}
快照和仓库删除:
#删除仓库es_fs_repository中的snapshot_2快照:DELETE /_snapshot/es_fs_repository/snapshot_2#删除仓库:DELETE /_snapshot/es_fs_repository
1.5 设置定时备份作业

NAS恢复
恢复方式一:
场景:将索引index-1/index-2删除,利用备份进行恢复。
#查看索引get /_cat/indices?vhealth status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open .slm-history-1-000001 PLWtYN6xT56mQrTYA9GmgQ 1 1 11 0 27.6kb 13.8kbgreen open index-1 wZG8-5NUTja4AIxL5vrcAA 1 1 100 0 23.2kb 9.7kbgreen open index-2 XeWdPx2kQsexRC3IoNlZaQ 1 1 100 0 64.4kb 32.2kbgreen open .kibana_task_manager_1 ax4Kee4xTzaSyKKhPh1T9w 1 1 2 1 34.2kb 17.1kbgreen open .apm-agent-configuration NBrJ3AvRQc-4xJNTBkkJGg 1 1 0 0 566b 283bgreen open .kibana_1 _vZvwSgxQ3Kn2mjcjjfgQQ 1 1 28 3 49.4kb 24.7kb#删除索引DELETE /index-1DELETE /index-2get /_cat/indices?vhealth status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open .slm-history-1-000001 PLWtYN6xT56mQrTYA9GmgQ 1 1 11 0 27.6kb 13.8kbgreen open .kibana_task_manager_1 ax4Kee4xTzaSyKKhPh1T9w 1 1 2 1 34.2kb 17.1kbgreen open .apm-agent-configuration NBrJ3AvRQc-4xJNTBkkJGg 1 1 0 0 566b 283bgreen open .kibana_1 _vZvwSgxQ3Kn2mjcjjfgQQ 1 1 28 3 49.4kb 24.7kb#利用备份snapshot_2进行还原POST _snapshot/es_fs_repository/snapshot_2/_restore{ "indices": "index-1,index-2" , "ignore_unavailable": true}#查看索引,已经恢复get /_cat/indices?vhealth status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open .slm-history-1-000001 PLWtYN6xT56mQrTYA9GmgQ 1 1 11 0 27.6kb 13.8kbgreen open index-1 XA4JpySbQ2ynwzYpl-jy9g 1 1 100 0 42kb 21kbgreen open index-2 -yjWbT-kQZqaRAPLZfSWcg 1 1 100 0 49.3kb 24.6kbgreen open .kibana_task_manager_1 ax4Kee4xTzaSyKKhPh1T9w 1 1 2 1 34.2kb 17.1kbgreen open .apm-agent-configuration NBrJ3AvRQc-4xJNTBkkJGg 1 1 0 0 566b 283bgreen open .kibana_1 _vZvwSgxQ3Kn2mjcjjfgQQ 1 1 28 3 49.4kb 24.7kb
恢复方式二:
Kibana恢复:
再次查看是否恢复成功:

本文作者:郑金龙(上海新炬中北团队)
本文来源:“IT那活儿”公众号
