温馨提示×

Linux系统如何升级MinIO

小樊
40
2025-11-20 23:30:47
栏目: 智能运维

Linux系统升级MinIO

一 升级前准备

  • 备份关键数据与环境:对存储目录(如 /mnt/data)、配置文件(如 /etc/minio)、以及必要的证书目录(如 ~/.minio/certs)进行完整备份;如使用 systemd,建议备份服务文件(如 /etc/systemd/system/minio.service)。
  • 选择升级方式:二进制替换、包管理器(如 RPM/DNF)、或 Docker/Kubernetes/Helm
  • 执行升级前先停止服务,避免写入冲突;升级完成后按序启动并验证。
  • 注意:升级存在兼容性风险,操作前请阅读官方升级说明并选择合适版本。

二 二进制方式升级步骤

  • 停止服务
    • systemd:执行 sudo systemctl stop minio
    • 其他方式:停止对应进程(如 nohup 启动的进程)
  • 备份旧二进制与配置
    • 备份二进制:sudo mv /usr/local/bin/minio /usr/local/bin/minio.bak-$(date +%F)
    • 备份配置:sudo cp -a /etc/minio /etc/minio.bak-$(date +%F)
  • 下载并部署新版本
    • 下载:wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /tmp/minio
    • 赋权:chmod +x /tmp/minio
    • 替换:sudo mv /tmp/minio /usr/local/bin/minio
  • 启动并验证
    • 启动:sudo systemctl start minio(如使用 systemd)
    • 状态:systemctl status minio
    • 版本:/usr/local/bin/minio --version
    • 控制台/客户端:通过 Consolemc 验证服务可用与数据可访问

三 包管理器方式升级步骤 RPM DNF

  • 更新二进制包
    • 下载新包:wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-<version>.x86_64.rpm -O minio.rpm
    • 升级:sudo dnf update minio.rpm(或 sudo rpm -Uvh minio.rpm
  • 处理 systemd 服务文件被覆盖
    • 现象:升级后 systemctl restart minio 失败,可能因 RPM 覆盖了自定义的服务文件。
    • 处理:用备份恢复服务文件,或重新创建 /etc/systemd/system/minio.service,确保 ExecStart 指向新二进制、配置与数据目录正确,然后执行 sudo systemctl daemon-reload && sudo systemctl restart minio
  • 验证
    • systemctl status miniominio --version 确认版本与运行状态。

四 Docker与Kubernetes升级

  • Docker方式
    • 拉取新镜像:docker pull minio/minio:RELEASE.<YYYY-MM-DD>THH-MM-SSZ(选择目标版本标签)
    • 重启容器(保持卷与端口映射不变):
      • docker stop <container>
      • docker rm <container>
      • docker run -d --name minio --restart unless-stopped -p 9000:9000 -p 9001:9001 -v /mnt/data:/data -v /home/minio/.minio:/root/.minio minio/minio:RELEASE.<YYYY-MM-DD>THH-MM-SSZ server /data --console-address ":9001"
    • 验证:docker psdocker logs <container>mc admin info <alias>
  • Kubernetes Helm方式
    • 获取现有配置:helm get values <release> -n <ns> > values.yaml
    • 视需要准备覆盖文件(如 TLS、环境变量等)
    • 执行升级:helm upgrade <release> <chart> -n <ns> -f values.yaml [-f override.yaml]
    • 验证:helm history <release> -n <ns> 查看修订历史与状态

五 升级后验证与常见问题

  • 验证要点
    • 版本:minio --version 与服务日志确认新版本启动成功
    • 控制台/客户端:登录 Consolemc admin info 检查节点、磁盘与存储状态
    • 业务回归:抽样读写对象,确认功能与性能正常
  • 常见问题与处理
    • 启动失败且提示服务文件问题:RPM 升级可能覆盖 /etc/systemd/system/minio.service,用备份恢复或重新编写服务文件后执行 systemctl daemon-reload && systemctl restart minio
    • 权限问题:确保新二进制与数据/配置目录权限正确(如 /usr/local/bin/minio 可执行,数据目录对运行用户可读写)。
    • 证书路径:若启用 TLS,证书应位于 ~/.minio/certs(注意 $HOME 实际路径),否则 Console/API 可能无法建立加密连接。

0