es快照备份至minio

es快照备份至minio

一、概述

  • Minio

Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

  • Elasticsearch

Elasticsearch是一个基于Lucene的分布式全文搜索引擎。ES支持快照功能,用于实现数据的备份与恢复。我们可以生成单个索引或整个集群的快照,并将其存储在共享文件系统上的存储库中,并且有一些插件支持 S3、HDFS、Azure、Google Cloud Storage 等上的远程存储库。

因为minio兼容S3,而es支持将快照存储在远程S3存储服务中,所以minio可以用于es的快照备份。

二、环境

  • elasticsearch:6.8.0
  • minio:RELEASE.2021-08-25T00-41-18Z

三、安装部署es、minio

四、配置es以支持minio备份

  1. 安装repository-s3插件(集群环境下需要每个节点都安装)
./bin/elasticsearch-plugin install repository-s3 
  1. 修改elasticsearch.yml配置文件(集群环境下待测试)
s3.client.default.endpoint: 127.0.0.1:9000(minio服务地址)
s3.client.default.protocol: http(非https时需要指定)
  1. 将 minio访问密钥设置添加到密钥库(集群环境下待测试)
# 设置用户名 
bin/elasticsearch-keystore add s3.client.default.access_key
# 设置密码
bin/elasticsearch-keystore add s3.client.default.secret_key
  1. 配置完成后重启es服务(或集群)

备注:配置es快照在s3上的备份方式和上面的步骤类似。

五、测试

  1. 创建快照仓库
PUT _snapshot/my_backup
{
    "type":"s3",
    "settings":{ 
        "bucket":"mybucket"
    } 

} 
  1. 备份所有索引到仓库
PUT _snapshot/my_backup/snapshot_test?wait_for_completion=true 
  1. 查看仓库中的快照
GET _snapshot/my_backup/_all?pretty 
  1. 删除快照
DELETE _snapshot/my_backup/snapshot_test

六、其它

  1. 快照删除注意事项

用 API 删除快照很重要,而不能用其他机制(比如手动删除,或者用 S3 上的自动清除工具)。因为快照是增量的,有可能很多快照依赖于过去的段。delete API 知道哪些数据还在被更多近期快照使用,然后会只删除不再被使用的段。

但是,如果你做了一次人工文件删除,你将会面临备份严重损坏的风险,因为你删除的是可能还在使用中的数据。

参考:

https://www.136.la/shida/show-150069.html

以下是在Linux环境下使用Minio进行定时备份的步骤: 1. 确保服务器上已安装Minio客户端。如果没有安装,可以按照Minio官方文档的指引进行安装。 2. 创建一个用于自动备份的bash脚本文件,例如`minio_backup.sh`。 3. 将以下内容复制到`minio_backup.sh`文件中: ```shell #!/bin/bash # 设置备份目录和文件名 backup_dir="/data/backup/minio" backup_file="minio_backup_$(date +%Y%m%d%H%M%S).tar.gz" # 执行备份命令 minio_client="/home/minio/client/mc" $minio_client mirror --overwrite --remove --quiet minio_c_x $backup_dir # 压缩备份文件 tar -czvf $backup_dir/$backup_file -C $backup_dir . # 清理旧的备份文件(可选) find $backup_dir -type f -mtime +7 -exec rm {} \; ``` 4. 使用`crontab`命令设置周期性执行脚本的任务。打开终端并输入`crontab -e`命令,然后在打开的编辑器中添加以下行: ``` # 每天凌晨3点执行备份任务 0 3 * * * /bin/bash /path/to/minio_backup.sh ``` 请注意,`/path/to/minio_backup.sh`应替换为实际的脚本文件路径。 5. 保存并关闭编辑器。现在,Minio定时备份任务将在每天凌晨3点执行。 6. 如果需要从备份文件恢复数据到Minio服务器的数据目录,可以使用以下命令: ```shell # 进入备份目录 cd /data/backup/minio # 解压备份文件至指定目录 tar -xzvf minio_backup_20230515154001.tar.gz -C /data/aa/bb # 将数据恢复到Minio服务器的数据目录 /home/minio/client/mc cp --recursive /data/aa/bb minio_c_x ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值