Minio2021版本升级2024版本操作手册

一、新镜像下载

下载地址59.111.178.240:20280/stable/minio2024.tar.gz,下载后传到两台bi服务器上,放在/youdata/installer目录下即可,然后进入/youdata/installer目录,直接docker load -i minio2024.tar.gz,会下载新的2024的minio镜像,两台机器都需load下,如下所示:

https://office.netease.com/api/admin/file/download?path=cowork/2024/08/08/885c3a3061b3405ab0336fa317b4bf0b.png

镜像id为2ef2开头即没问题。

二、主节点store1文件备份

docker ps|grep store

哪个节点出现store1的字段,就在那台机器上执行备份命令即可

cd /youdata/scripts

bash store.sh backup /Netease/youdata/store-bak

执行完后,检查/Netease/youdata/store-bak目录下的内容和原先的store数据目录内容是否一致

通过du -sh文件夹名,比大小就可以,或者查看yd-bucket和yd-public下的文件数量。

进入yd-bucket,yd-public目录,ls |wc -l 看下就可以。

这一步一定要做,备份后验证和原先的数据目录内容一致后,再执行下面的操作。

三、准备store新的数据目录

将两台节点的原先目录下的yd-bucket、yd-public删除,个人建议为了安全新建一个新的数据目录,比如disks/disk2这种,然后yaml文件的挂载目录改下,注意同级的.minio.sys文件夹也要删除。

四、更新mc和store.sh脚本

mc命令需要在新版的镜像中拿出来,启动容器后docker cp到机器上。

cd /youdata/installer

mv mc mc_bak #备份原先的21版本的mc

cd /youdata/scripts

mv store.sh store_bak.sh #备份原先的21版本的store.sh

# 两台都需要操作下

将下方附件的store.sh放到/youdata/scripts下,两台都需要放下

mc需要按下面的方式拿到主机上,再放到/youdata/installer下,两台都需要这样操作下。

docker run -itd --entrypoint="" localhost:5000/yddocker/minio:2024 bash

https://office.netease.com/api/admin/file/download?path=cowork/2024/08/07/218703a523d84820a09d430cfb046e4e.png

https://office.netease.com/api/admin/file/download?path=cowork/2024/08/07/197be4ee0fc840258d168c24aa9dc527.png

拿完mc文件后,再停止这个容器,然后删除掉

docker stop 63de29828af5

docker rm -f 63de29828af5

五、更新yaml配置

主要变更为镜像名、entrypoint、command

主节点进入/youdata/installer目录,先备份原先的815yaml文件,cp docker-stack.ydswarm815.yaml docker-stack.ydswarm815.yaml_bak, 然后编辑815 yaml文件,

vim docker-stack.ydswarm815.yaml,找到store1,store2服务,做出如下改动

image: hub.cn-east-p1.netease.com/youdata/minio:2024

entrypoint: bash

command: /start.sh

下图左边为改过后的,右边为之前备份的815的yaml文件。

https://office.netease.com/api/admin/file/download?path=cowork/2024/08/07/83db729072244addac39da0bb703f272.png

改完后,执行docker stack deploy -c docker-stack.ydswarm815.yaml ydswarm 使其生效

然后两台机器查看store1,store2日志,docker ps|grep store1,docker ps|grep store2,

docker logs -f 容器id,没有error字段即可。

六、导入之前备份的数据

在主节点上执行即可

cd /youdata/scripts

bash store.sh restore /Netease/youdata/store-bak

七、重启store服务

两台机器上分别执行

docker service update --force ydswarm_store1

docker service update --force ydswarm_store2

重启完成后,docker service ls 查看store1,store2服务状态

然后查看store1,store2日志

主节点执行docker logs -f store1容器id,出现如下图红框内信息,即没问题

https://office.netease.com/api/admin/file/download?path=cowork/2024/08/08/fb0bdc9c3c444e56aa69581e04f120a4.png

副节点执行docker logs -f store2容器id,出现如下红框信息,即没问题

https://office.netease.com/api/admin/file/download?path=cowork/2024/08/08/a5e3fec6348d4cf3a3fcb270d91b41dc.png

都起来后再执行下存储桶策略。命令如下:

两台机器都操作下

cd /youdata/installer

./mc anonymous set-json /youdata/scripts/store_ydpublic_config.json store/yd-public

./mc anonymous set-json /youdata/scripts/store_ydbucket_config.json store/yd-bucket

执行完毕后,可以验证服务是否正常,可以有数前端看看表格,图片能否上传下载。