minio版本升级
应开发同事要求,需要将minio版本从 2022-02-24
升级到 2023-03-20
,以下是升级过程,仅供参考。
- 第1步,搭建老版本 minio 2022-02-24
mkdir -p /data/minio_9000/{data,logs}
curl -L http://iso.sqlfans.cn/linux/minio.2022-02-24 -o /data/minio_9000/minio
chmod +x /data/minio_9000/minio
nohup /data/minio_9000/minio server /data/minio_9000/data --console-address=":9100" >/data/minio_9000/logs/minio.log 2>&1 &
- 第2步,下载 mc 2023-08-15 客户端
curl -sL http://iso.sqlfans.cn/linux/mc.2023-08-15 -o /usr/bin/mc
chmod +x /usr/bin/mc
mc --version
- 第3步,添加minio alias,注意使用api端口9000,而不是Console端口9100
mc alias remove myminio
mc alias set myminio http://10.30.3.234:9000 minioadmin minioadmin --api s3v4
mc alias list
- 第4步,创建bucket(比如
bucket123
)并上传模拟文件
mc mb myminio/bucket123
mc cp /etc/hosts myminio/bucket123/
mc ls myminio/bucket123
- 第5步,利用mc将存储桶
bucket123
的数据备份到指定目录
mkdir -p /data/minio_9000/backup
mc cp --recursive myminio/bucket123/ /data/minio_9000/backup/bucket123
- 第6步,杀掉minio进程,并用新版本 minio 2023-03-20 替换
ps -ef | grep minio | grep -v grep | awk '{print $2}' | xargs kill -9 2> /dev/null
mv /data/minio_9000/minio /data/minio_9000/minio.old
curl -L http://iso.sqlfans.cn/linux/minio.2023-03-20 -o /data/minio_9000/minio
chmod +x /data/minio_9000/minio
- 第7步,启动新版本minio,报错如下
[root@localhost ~]# /data/minio_9000/minio server /data/minio_9000/data --console-address=":9100"
;?ERROR Unable to use the drive /data/minio_9000/data: Drive /data/minio_9000/data: found backend type fs, expected xl or xl-single - to migrate to a supported backend visit https://min.io/docs/minio/linux/operations/install-deploy-manage/migrate-fs-gateway.html: Invalid arguments specified
- 第8步,删除data目录下的隐藏目录
.minio.sys
,再次启动minio则原bucket仍在,但文件没了,且上传同名文件则提示Error: Access Denied.
mv /data/minio_9000/data/.minio.sys /tmp/.minio.sys.$(date +%Y%m%d%H%M%S)
nohup /data/minio_9000/minio server /data/minio_9000/data --console-address=":9100" >/data/minio_9000/logs/minio.log 2>&1 &
mc cp /etc/hosts myminio/bucket111/
- 第9步,利用mc先强制删除存储桶
bucket123
,再重新创建,最后再将该存储桶的备份数据恢复到指定桶中
mc rb myminio/bucket123 --force
mc mb myminio/bucket123
mc cp --recursive /data/minio_9000/backup/bucket123/ myminio/bucket123