温馨提示×

centos中minio数据备份方法

小樊
43
2025-10-30 05:40:15
栏目: 智能运维

1. 停止MinIO服务(可选但推荐)
在进行数据备份前,停止MinIO服务可避免数据写入导致备份不一致。执行以下命令:

sudo systemctl stop minio

备份完成后,记得重新启动服务:

sudo systemctl start minio

2. 使用MinIO客户端(mc)工具备份
MinIO自带的mc工具是备份数据的常用方式,支持全量/增量备份、同步及监控。

  • 安装与配置mc
    下载并赋予执行权限:
    wget http://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
    chmod +x /usr/local/bin/mc
    
    配置MinIO客户端连接信息(替换为你的MinIO服务器地址、Access Key和Secret Key):
    mc alias set myminio http://<MinIO_IP>:9000 <ACCESS_KEY> <SECRET_KEY>
    
  • 备份单个/多个/所有桶
    • 备份单个桶到本地目录(递归复制):
      mc cp -r myminio/mybucket /path/to/backup/location
      
    • 备份所有桶(先通过mc ls myminio列出所有桶,再循环备份):
      mc ls myminio | grep "^\S" | awk '{print $1}' | while read bucket; do
          mc cp -r "myminio/$bucket" "/path/to/backup/location/$bucket"
      done
      
  • 增量同步(推荐定期使用)
    使用mc sync命令确保源与目标数据一致,仅传输变化的部分:
    mc sync myminio/mybucket /path/to/backup/location
    
  • 自动化备份
    将上述命令写入脚本(如backup_mc.sh),赋予执行权限并通过crontab设置定时任务(例如每天凌晨2点执行):
    chmod +x /path/to/backup_mc.sh
    echo "0 2 * * * /path/to/backup_mc.sh" | sudo tee -a /var/spool/cron/root
    

3. 使用rsync进行文件同步备份
rsync是高效的文件同步工具,适合本地备份MinIO数据目录(默认路径为/opt/module/minio/data/data)。

  • 安装rsync
    sudo yum install rsync -y
    
  • 执行全量/增量备份
    • 全量备份(打包压缩):
      sudo tar -czvf /backup/minio_backup_$(date +%Y%m%d).tar.gz /opt/module/minio/data
      
    • 增量同步(保留目标目录中新增/修改的文件):
      sudo rsync -avz --delete /opt/module/minio/data/ /backup/minio_backup/
      
    • 自动化:将rsync命令加入crontab,实现定期同步。

4. 使用tar命令打包备份
tar命令可将MinIO数据目录打包成压缩文件,便于存储和传输。

  • 操作步骤
    • 停止MinIO服务(确保数据一致性)。
    • 创建备份目录并打包:
      sudo mkdir -p /backup/minio
      sudo tar -czvf /backup/minio_backup_$(date +%Y%m%d).tar.gz /opt/module/minio/data
      
    • 重新启动MinIO服务。
  • 注意:此方法为全量备份,适合定期归档,建议与rsync或mc结合使用以实现增量备份。

5. 备份配置文件与证书
除数据外,需备份MinIO的配置文件和SSL证书,确保恢复时能正常启动服务。

  • 备份配置文件
    MinIO配置文件通常位于/etc/minio/minio.conf/etc/minio/config.json,执行以下命令备份:
    sudo cp /etc/minio/minio.conf /backup/minio_config_backup.conf
    sudo cp /etc/minio/config.json /backup/minio_config_backup.json
    
  • 备份SSL证书
    若启用了SSL/TLS,备份证书和密钥:
    sudo cp /etc/pki/tls/certs/minio.crt /backup/minio_cert_backup.crt
    sudo cp /etc/pki/tls/private/minio.key /backup/minio_key_backup.key
    

6. 定期备份策略

  • 自动化:通过crontab设置定时任务(如每天凌晨2点执行备份脚本),避免人工遗漏。
  • 保留策略:根据数据重要性设置备份保留时间(如保留7天内的每日备份、每月1个全量备份),定期清理旧备份。
  • 验证备份:定期测试备份文件的完整性和可恢复性(如随机抽取备份文件恢复到测试环境),确保备份有效。

0