温馨提示×

centos minio数据恢复步骤

小樊
47
2025-11-07 22:06:44
栏目: 智能运维

CentOS系统MinIO数据恢复步骤

1. 准备工作:安装MinIO客户端(mc)

MinIO数据恢复需通过mc(MinIO Client)工具实现,首先需在CentOS服务器上安装该工具。

  • 下载并安装mc
    wget https://dl.min.io/client/mc/release/linux-amd64/mc
    chmod +x mc
    sudo mv mc /usr/local/bin/
    
  • 验证安装:
    mc --version
    
    若输出版本信息,则安装成功。

2. 配置MinIO服务器别名

为便于后续操作,需为MinIO服务器设置别名(Alias),关联服务器地址、AccessKey和SecretKey。

mc alias set minio_server http://<MinIO服务器IP>:9000 <AccessKey> <SecretKey>
  • 示例:
    mc alias set minio_server http://192.168.1.100:9000 minioadmin minioadmin
    
    (注:minioadmin为默认账号密码,若已修改请替换为实际值)

3. 停止MinIO服务(可选但推荐)

为避免恢复过程中数据覆盖或损坏,建议先停止MinIO服务(若为生产环境,可选择低峰时段操作)。

sudo systemctl stop minio
  • 启动服务(恢复完成后):
    sudo systemctl start minio
    

4. 使用mc工具恢复数据

根据数据丢失场景选择对应的恢复方式:

场景1:恢复备份的桶数据

若之前通过mc备份了桶数据(如备份到/home/minio/backup/bucket-demo/),可通过以下命令恢复到目标MinIO服务器的对应桶:

mc cp --recursive /home/minio/backup/bucket-demo/ minio_server/bucket-demo/
  • 参数说明:
    • --recursive:递归复制目录下所有文件;
    • 源路径:备份数据的本地目录(需以/结尾);
    • 目标路径:MinIO服务器的目标桶路径(别名/桶名/)。
场景2:恢复整个MinIO服务器数据

若需恢复整个服务器的数据(如迁移或全量恢复),可将备份的MinIO目录(包含所有桶)复制到目标服务器:

mc cp --recursive /home/minio/backup/minio_server/ minio_server/
  • 注意:目标服务器需提前创建所有桶(可通过mc mb minio_server/<桶名>创建)。

5. 验证恢复结果

恢复完成后,通过mc命令检查数据是否完整:

mc ls minio_server/bucket-demo/          # 列出桶内文件
mc stat minio_server/bucket-demo/<文件名> # 检查文件元数据
  • 若文件列表与备份时一致,且元数据(大小、修改时间)正常,则恢复成功。

6. 高级恢复:使用extundelete恢复已删除文件(可选)

若数据因误删除且未备份,可尝试使用extundelete工具恢复(仅适用于本地文件系统,如MinIO数据目录所在的EXT3/EXT4分区)。

  • 安装extundelete
    sudo yum install extundelete -y
    
  • 卸载数据分区(避免数据覆盖):
    sudo umount /dev/sda1  # 替换为MinIO数据目录所在分区(如/dev/sda1)
    
  • 恢复所有已删除文件:
    sudo extundelete /dev/sda1 --restore-all
    
  • 恢复指定文件:
    sudo extundelete /dev/sda1 --restore-file /opt/minio/data/bucket-demo/test.txt
    
  • 恢复指定目录:
    sudo extundelete /dev/sda1 --restore-directory /opt/minio/data/bucket-demo/
    
  • 注意:恢复成功率取决于数据是否被覆盖,建议立即停止对数据分区的写入操作。

注意事项

  • 备份优先:恢复前需确认备份数据的完整性和可用性,避免二次丢失;
  • 权限问题:确保执行恢复操作的用户对MinIO数据目录(如/opt/minio/data)有读写权限;
  • 集群恢复:若为MinIO集群,需逐个节点恢复数据,并使用mc命令重新平衡数据(mc admin heal minio_server)。

0