记录一次minio的迁移
服务器1T的硬盘装满了,准备了两个16T的硬盘专门做文件服务器用,打算做个minio的迁移
这里从服务器A迁移到服务器B
安装新的minio
迁移首先肯定是在新的服务器B上安装minio,这里选择还没有阉割Web管理功能的最后一个版本
services:
minio:
image: minio/minio:RELEASE.2025-04-22T22-12-26Z
container_name: minio
ports:
- 9001:9001
- 9000:9000
restart: always
command: "server /data --console-address :9001 --address :9000"
environment:
MINIO_ROOT_USER: user #自行修改账号
MINIO_ROOT_PASSWORD: user123 #自行修改密码
MINIO_BROWSER_SESSION_DURATION: 6h
PUID: 1000
PGID: 1000
TZ: Asia/Shanghai
volumes:
- /vol2/1000/docker-store/minio/data:/data #自行设置文件目录
- ./config:/root/.minio
安装客户端MC
下载地址,这里直接下载二进制文件

下载完成后复制到服务器B,添加执行权限,运行看一下版本,有版本信息就好了
chmod +x minio
./minio --version
设置别名
在迁移之前需要给 minio 服务端设置别名
./mc alias set 别名 服务器地址 账号 密码
# 比如
./mc alias set minio_a http://10.10.10.1:9000 user user123
./mc alias set minio_b http://10.10.10.2:9000 user user123
# minio_a 和 minio_b 是设置的别名
# http://10.10.10.1:9000 和 http://10.10.10.2:9000 是服务器地址
# user user123 是账号的用户名密码,也可以使用Access Keys
迁移
从服务器A迁移到服务器B,迁移完成后服务器A的数据将会保留
# 将服务器A的存储桶 bucketa 迁移到服务器B的 bucketb
./mc cp --recursive minio_a/bucketa/ minio_b/bucketb/
# 将服务器A的存储桶 bucketa 的 a 文件夹 迁移到服务器B的 bucketb 的 b 文件夹
./mc cp --recursive minio_a/bucketa/a/ minio_b/bucketb/b/
# 将服务器A的所有文件迁移到服务器B
./mc cp --recursive minio_a minio_b
从服务器A备份到服务器B(将文件拷贝到服务器B的硬盘中)
# 将服务器A的 bucketa 备份到服务器B的 /opt/minio/backup/bucketa
./mc cp --recursive minio_a/bucketa/ /opt/minio/backup/bucketa
# 将服务器A的所有桶备份到服务器B的 /opt/minio/backup
./mc cp --recursive minio_a /opt/minio/backup
从备份的文件恢复
# 将服务器B的备份文件恢复到服务器B的minio
./mc cp --recursive /opt/minio/backup/bucketa/ minio_b/bucketb/
# 将服务器B的备份文件恢复到服务器B的minio
./mc cp --recursive /opt/minio/backup/ minio_b
评论