升级前务必备份所有重要数据,防止升级过程中出现意外导致数据丢失。可使用MinIO客户端(mc)备份数据,命令示例:
mc admin config get myminio | grep "access_key" > access_key.txt
mc admin config get myminio | grep "secret_key" > secret_key.txt
mc admin config get myminio | grep "endpoint" > endpoint.txt
也可通过mc admin backup命令备份整个存储桶数据。
通过以下命令确认当前MinIO版本,确保升级路径符合官方要求(如从v2023.x升级至v2025.x):
mc admin info http://minio-server-ip:9000
或登录MinIO控制台查看版本信息。
访问MinIO官方下载页面(https://min.io/download),选择与系统架构(如linux-amd64)匹配的最新版本。推荐使用wget命令下载二进制文件:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
下载完成后,赋予执行权限:
chmod +x minio。
根据部署方式停止正在运行的MinIO服务:
sudo systemctl stop miniosudo pkill minio若之前通过二进制文件或系统包安装,需移除旧版本文件以避免冲突:
sudo rm -rf /usr/local/bin/minio # 删除旧二进制文件
sudo rm -rf /etc/systemd/system/minio.service # 删除旧systemd服务文件
sudo rm -rf /etc/default/minio # 删除旧环境变量文件
sudo rm -rf /usr/local/bin/mc # 可选:删除旧mc客户端
```。
## 四、安装新版本
### 1. 部署新二进制文件
将下载的新版本minio文件移动至系统路径(如`/usr/local/bin`),并赋予执行权限:
```bash
sudo mkdir -p /usr/local/bin # 创建目录(若不存在)
sudo mv minio /usr/local/bin/ # 移动二进制文件
sudo chmod +x /usr/local/bin/minio # 赋予执行权限
```。
### 2. 配置systemd服务(systemd管理)
创建或更新systemd服务文件(`/etc/systemd/system/minio.service`),内容如下:
```ini
[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local
ProtectProc=invisible
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${minio_volumes}\" ]; then echo \"variable minio_volumes not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $minio_opts $minio_volumes
Restart=always
LimitNoFile=65536
TasksMax=infinity
TimeoutStopSec=infinity
SendSigKill=no
[Install]
WantedBy=multi-user.target
创建环境变量文件(/etc/default/minio),配置存储路径、访问密钥等信息(根据实际情况修改):
minio_root_user=admin
minio_root_password=your_strong_password
minio_volumes=/data # 数据存储目录
minio_opts="--console-address :9001" # 控制台端口(默认9001)
```。
## 五、启动新服务
### 1. 重载systemd并启动服务
```bash
sudo systemctl daemon-reload # 重载systemd配置
sudo systemctl enable minio # 设置开机自启动
sudo systemctl start minio # 启动MinIO服务
```。
### 2. 验证服务状态
```bash
sudo systemctl status minio # 查看服务状态(应显示“active (running)”)
minio --version # 检查MinIO版本(确认升级成功)
```。
## 六、验证升级
### 1. 通过控制台验证
浏览器访问`http://your_server_ip:9001`(根据`minio_opts`中的`--console-address`调整),使用配置的管理员账号(`minio_root_user`)和密码登录,检查存储桶、对象是否正常。
### 2. 通过命令行验证
使用mc客户端连接MinIO服务器,列出存储桶:
```bash
mc alias set myminio http://your_server_ip:9000 admin your_strong_password
mc ls myminio/
确认存储桶及对象可正常访问。
若使用Docker运行MinIO,可通过拉取新镜像并重新运行容器完成升级:
docker pull minio/minio:latest # 拉取最新镜像
docker stop minio-container # 停止旧容器
docker rm minio-container # 删除旧容器
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=your_strong_password" \
-v /var/lib/minio/data:/data \
-v /var/lib/minio/config:/root/.minio \
minio/minio server /data --console-address ":9001"
```。
### 2. 控制台缺失问题(2025年5月版本)
若升级至2025年5月及以上版本(如`RELEASE.2025-05-24T17-08-30Z`)后控制台功能缺失,可回退至2025年4月22日版本(未阉割控制台):
```bash
docker pull minio/minio:RELEASE.2025-04-22T22-12-26Z
docker stop minio-container
docker rm minio-container
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=your_strong_password" \
-v /var/lib/minio/data:/data \
-v /var/lib/minio/config:/root/.minio \
minio/minio:RELEASE.2025-04-22T22-12-26Z server /data --console-address ":9001"
注意:回退版本可能存在安全风险,建议升级后尽快适应新版本(如使用mc命令行工具)。