目录

[TOC]

迁移旧MinIO数据到新版MinIO中

部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
version: "3.8"

services:

# 新版本minio
minio_new:
container_name: minio_new
image: minio/minio:RELEASE.2024-02-04T22-36-13Z
restart: always
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
networks:
- xiaofei-net
ports:
- "29000:9000"
- "29090:9090"
volumes:
- ./minio_new/data:/data
- ./minio_new/certs:/root/.minio/certs
command: server /data --console-address ":9090"

# 旧版本minio
minio:
container_name: minio
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
restart: always
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
networks:
- xiaofei-net
ports:
- "9000:9000"
- "9090:9090"
volumes:
- ./minio/data:/data
- ./minio/certs:/root/.minio/certs
command: server /data --console-address ":9090"

# minio客户端
minio_mc:
container_name: minio_mc
image: minio/mc:RELEASE.2024-01-31T08-59-40Z
entrypoint: /bin/sh # 设置入口点为 /bin/sh
command: -c "/bin/sh" # 传递命令以运行 /bin/sh
stdin_open: true # 保持标准输入开启,用于交互式会话
tty: true # 为交互式会话分配一个伪终端
restart: always
networks:
- xiaofei-net
volumes:
- ./minio_mc/data:/root/.mc/

networks:
xiaofei-net:

在minio client中配置minio信息

如果使用的是https访问,加上--insecure跳过https验证

1
2
3
4
5
6
7
8
9
10
# 进入minio client 客户端中
docker exec -it minio_mc bash

# mc --insecure alias set 别名 minio后端链接端口 管理员账号 管理员密码

# 设置新minio的配置
mc --insecure alias set minio_new https://127.0.0.1:29000/ 用户名 密码

# 设置旧minio的配置
mc --insecure alias set minio_old https://127.0.0.1:9000/ 用户名 密码

数据迁移

1
2
3
4
5
6
7
8
9
#1. 全量迁移,重名文件不覆盖,如bucket不存在,会自动创建
mc --insecure mirror minio_old minio_new

#2. 只迁移某个bucket,以test为例,迁移的目标bucket需要提前创建
mc --insecure mirror minio_old/test minio_new/test #test要提前在minio2023中创建

#3. 加上--overwrite参数,覆盖重名文件
mc --insecure mirror --overwrite minio_old minio_new
mc --insecure mirror --overwrite minio_old/test minio_new/te

迁移之后可以到minio页面上进行查看,看数据是否迁移成功

如果需要,将文件夹名字修改,然后将新文件夹名字改成为旧文件夹名字

minio升级后其他配置