MinIO在CentOS上的备份可通过命令行工具(mc)、系统工具(rsync/tar)、Docker卷或快照实现,以下是具体步骤:
步骤1:安装mc工具
通过Yum安装MinIO客户端(CentOS默认仓库包含):
sudo yum install -y minio-client
步骤2:配置mc连接MinIO服务器
使用mc alias
命令设置MinIO服务器别名(替换为实际地址、Access Key和Secret Key):
mc alias set myminio http://<MinIO服务器IP>:9000 <ACCESS_KEY> <SECRET_KEY>
步骤3:执行备份
/backup
):mc cp -r myminio/mybucket /backup/
mc mirror
命令仅同步新增/修改的文件(支持持续监控):mc mirror --remove --overwrite --watch myminio/mybucket /backup/mybucket
步骤4:自动化备份(可选)
通过cron
设置定时任务(如每天凌晨2点备份):
sudo crontab -e
添加以下内容(替换为实际路径和别名):
0 2 * * * mc cp -r myminio/mybucket /backup/$(date +%Y%m%d)/
若MinIO数据存储在默认目录(如/data
),可使用rsync
同步到备份位置:
sudo rsync -aAXv --delete /data/ /backup/minio_data/
-a
:归档模式(保留权限、时间戳等);--delete
:删除目标目录中源目录不存在的文件(保持一致性)。将MinIO数据目录打包为压缩文件(如minio_backup.tar.gz
):
sudo tar -czvf /backup/minio_backup_$(date +%Y%m%d).tar.gz -C /data .
步骤1:停止MinIO容器
docker stop minio-container
步骤2:备份数据卷
将容器内的/data
卷复制到主机备份目录:
docker cp minio-container:/data /backup/minio_docker_data/
步骤3:启动MinIO容器
docker start minio-container
若MinIO集群启用了快照,可通过mc admin
命令创建和保存快照:
# 创建快照(需集群管理员权限)
mc admin snapshot create myminio/mybucket mybucket_snapshot
# 保存快照到指定存储库(如S3)
mc admin snapshot save myminio/mybucket mybucket_snapshot s3/snapshot-repo
恢复前需确保备份数据完整,并停止对受影响存储桶的写操作(避免数据覆盖)。
步骤1:安装并配置mc
(同备份步骤1、2)
步骤2:恢复单个存储桶
将备份目录中的数据复制回MinIO存储桶:
mc cp -r /backup/mybucket/ myminio/mybucket/
步骤3:创建存储桶(若不存在)
若目标存储桶已被删除,先创建同名存储桶:
mc mb myminio/mybucket
若备份的是MinIO数据目录,可通过rsync
同步回原目录:
sudo rsync -aAXv /backup/minio_data/ /data/
解压备份的压缩文件到MinIO数据目录:
sudo tar -xzvf /backup/minio_backup_$(date +%Y%m%d).tar.gz -C /data/
步骤1:停止MinIO容器
docker stop minio-container
步骤2:恢复数据卷
将备份的数据复制到容器内的/data
卷:
docker cp /backup/minio_docker_data/ minio-container:/data/
步骤3:启动MinIO容器
docker start minio-container
若使用了快照,可通过mc admin
命令恢复:
# 从快照恢复存储桶(需指定快照标签和存储库)
mc admin snapshot restore myminio/mybucket mybucket_snapshot s3/snapshot-repo
若数据部分损坏,可使用mc admin heal
命令修复:
# 修复单个存储桶
mc admin heal myminio/mybucket
# 递归修复存储桶内所有对象
mc admin heal -r myminio/mybucket
mc ls
或tar -tzvf
检查备份文件的完整性和可访问性。admin
角色)。mc admin heal
或MinIO控制台监控恢复状态。通过以上方法,可在CentOS上实现MinIO数据的高效备份与恢复,确保数据安全性和业务连续性。