建议先阅读这篇博客,本文中只描述了关键信息,整体流程可以看下面文章中间件升级-CSDN博客
说明:
服务器:centos7, glibc=2.17
应用程序:jdk1.8+springboot2.7.18+minio8.5.12
限制minio升级的因素:centos7对应的glibc=2.17。 AI工具检索最高支持(2024-04-06) 之后的版本glibc需要升级到2.28. 且minio的客户端8.5.12 验证支持的版本为2024-04-06版本
实际验证过程中RELEASE.2025-04-22T22-12-26Z(阉割前的完整)版本,centos7,glibc=2.17,客户端minio8.5.12. 仍然可以正常启动。当前项目的服务文件上传下载正常。未做压力测试等。
查看系统信息
uname -a # 内核版本
ldd --version # glibc版本
Minio 官网下载地址:https://dl.min.io/server/minio/release/
minio原始版本:minio version RELEASE.2022-01-04T07-41-07Z
新老版本的模式不一致,老版本为:fs 新版本为:xl-single不能使用相同挂载目录升级,需要导入导出的方式升级,注意磁盘消耗。
Docker 安装:
docker pull quay.io/minio/minio:RELEASE.2024-04-06T05-26-02Z
`以下启动仅作示例,请根据原始启动脚本进行启动。`
docker run -p 9000:9000 -p 9001:9001 --name easy_minio -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123456" quay.io/minio/minio:RELEASE.2024-04-06T05-26-02Z server /data --console-address ":9001"
linux安装:
# 下载地址: https://dl.min.io/server/minio/release/ # 进入目录 cd /opt/easy-cloud # 下载文件(arm框架请自行调整,当前标记的为centos7版本,其它版本请自行调整) wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2024-04-06T05-26-02Z # 创建文件夹 mkdir -p /opt/easy-cloud/minio-2024.04.06/minio-data # 复制文件 mv minio.RELEASE.2024-04-06T05-26-02Z minio-2024.04.06/minio cd /opt/easy-cloud/minio-2024.04.06/ # 设置minio为可执行文件 chmod +x minio
windows安装包下载:
windows没有2025-04-22的稳定版本, 当前下载地址为2025-09-07的稳定版本,验证是可以正常使用的。 下载地址:https://dl.min.io/server/minio/release/windows-amd64/archive/minio.exe
服务升级:
前置备份:
- 备份老服务安装包(可选,防止操作过程中对老配置产生影响)
略
- 切换文件目录
cd /opt/easy-cloud/minio-2024.04.06/
- 安装最新版本mc(已安装可忽略,后续执行时 ./mc 替换为 mc)
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
- 创建本地服务的别名(MinIO 地址 127.0.0.1:9000,AK=admin,SK=admin123456)
./mc alias set minio-local http://127.0.0.1:9000 admin admin123456
-- 验证别名是否成功:
./mc alias list minio-local
-- 校验服务状态
./mc admin info minio-local
- 备份minio-old内的所有内容到 指定目录。
./mc cp --recursive minio-local/ /data/backup_2022.01.04
新服务启动:
- 停止老服务
pgrep -f minio | xargs -r kill -15
- 启动新服务,设置账号=admin密码=admin123456
cd /opt/hussar-cloud/minio-2024.04.06/
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123456
-- 后台启动minio 服务。
nohup ./minio server /opt/hussar-cloud/minio-2024.04.06/minio-data --console-address ":9001" --address ":9000" > minio.log 2>&1 &
- 验证服务是否启动成功
curl -i http://localhost:9000/minio/health/live
- 备份文件恢复
-- cp指定目录的文件到 minio中,需要提前创建存储桶。(示例为创建hussar,其它请同步替换)
./mc mb minio-local/hussar
./mc cp --recursive /data/backup_2022.01.04/ minio-local/
-- minio-local 是上方配置的mc别名,如果当前没有可参照上述方式重新配置。
- 查看当前环境的存储信息
./mc du minio-local
功能验证:
-
浏览器查看对象个数和对象大小。
-
通过代码,验证新版本的文件上传。
-
通过代码,验证历史恢复文件的下载。
-
通过代码,验证新创建文件的下载。
-
aws_s3协议进行数据读写。
版本回退
- 新版本快照保存数据
./mc cp --recursive minio-local/ /data/backup_2022.01.04
- 停止新版本服务
pgrep -f minio | xargs -r kill -15
- 启动老版本服务
略
- 数据还原
./mc cp --recursive /data/backup_2022.01.04/ minio-local/
- 查看当前环境的存储信息
./mc du minio-local