温馨提示×

Ubuntu MinIO如何更新升级

小樊
31
2025-12-08 21:58:59
栏目: 智能运维

Ubuntu 上 MinIO 的安全升级步骤

一 升级前准备

  • 备份与校验:对 MinIO 的 数据目录配置目录 做一次完整备份,并校验关键数据可正常访问。
  • 版本核查:记录当前版本,便于回滚与对比。
  • 服务停启:为避免写入冲突,升级前先停止服务;升级完成后再启动。
  • 权限与目录:确保用于运行 MinIO 的系统用户对 二进制文件数据/配置目录 具备正确权限。
  • 兼容性检查:跨多个大版本升级时,先查阅 MinIO 官方升级说明,确认 配置项功能 的兼容性。
  • 客户端工具:如需使用 mc 校验,请同步升级到与新服务端兼容的版本。
    以上为通用安全实践,可显著降低升级风险。

二 标准原地升级步骤(systemd 服务)

  • 1)停止服务
    sudo systemctl stop minio

  • 2)备份关键目录(示例路径,按实际调整)
    sudo cp -a /usr/local/bin/minio /usr/local/bin/minio.bak-$(date +%F)
    sudo cp -a /etc/minio /etc/minio.bak-$(date +%F)

  • 3)下载新版本二进制(示例为 amd64;如使用其他架构,请替换为对应链接)
    wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /tmp/minio
    chmod +x /tmp/minio

  • 4)替换二进制并校验
    sudo mv /tmp/minio /usr/local/bin/minio
    /usr/local/bin/minio --version

  • 5)如 systemd 单元文件被包管理器覆盖或缺失,重新写入(示例为常见配置)
    sudo tee /etc/systemd/system/minio.service >/dev/null <<‘EOF’
    [Unit]
    Description=MinIO
    After=network.target

    [Service]
    Type=simple
    User=minio
    Group=minio
    EnvironmentFile=/etc/default/minio
    ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
    Restart=always
    LimitNOFILE=65536

    [Install]
    WantedBy=multi-user.target
    EOF
    注:EnvironmentFile 与 ExecStart 参数请与现有环境保持一致(如 /etc/default/minio/etc/minio/minio.conf)。

  • 6)重新加载并启动
    sudo systemctl daemon-reload
    sudo systemctl start minio
    sudo systemctl status minio

  • 7)验证
    /usr/local/bin/minio --version
    mc admin info myminio # 如使用 mc,请将 myminio 替换为你的别名
    以上流程覆盖“停止—备份—替换二进制—恢复服务—验证”的完整闭环,适用于大多数 Ubuntu + systemd 场景。

三 原地升级步骤(deb 包方式)

  • 1)备份数据、配置与现有二进制(同上)。
  • 2)下载并安装最新 .deb 包(URL 以 MinIO 官方下载页为准):
    wget https://dl.min.io/server/minio/release/linux-amd64/minio_2025…_amd64.deb
    sudo apt install ./minio_2025…_amd64.deb
  • 3)如升级后 systemd 单元文件被覆盖,按你的实际环境重新修正 EnvironmentFileExecStart 后执行:
    sudo systemctl daemon-reload
    sudo systemctl restart minio
    sudo systemctl status minio
    使用包管理器升级更便于依赖与文件管理,但需注意可能的单元文件覆盖风险。

四 跨大版本或存储格式变更时的迁移升级

  • 当从 较老版本 升级且涉及 存储格式/元数据结构 变化时,建议采用“并行新实例 + 数据迁移”的方式:
    • 启动新版本 MinIO 于 新端口(如 9002) 指向全新数据目录;
    • 使用 rclone 将旧实例数据同步至新实例(示例配置与命令):
      rclone sync -P old: bucket1 new:bucket1
      该方式可在不影响线上旧集群的前提下完成迁移与校验,再切换流量到新实例。

五 常见问题与回滚

  • 启动失败:优先检查 /etc/default/minio 或 /etc/minio/minio.conf 中的 MINIO_VOLUMESMINIO_OPTS 与新二进制是否匹配;必要时执行 systemctl daemon-reload 后重启。
  • 权限问题:确认 /usr/local/bin/minio数据/配置目录 对运行用户(如 minio:minio)具备 读写执行 权限。
  • 单元文件被覆盖:包管理器升级可能覆盖自定义 systemd 单元,按实际环境恢复 EnvironmentFileExecStart 配置。
  • 快速回滚:将二进制与配置恢复到升级前备份并重启服务:
    sudo systemctl stop minio
    sudo mv /usr/local/bin/minio.bak-YYYY-MM-DD /usr/local/bin/minio
    sudo cp -a /etc/minio.bak-YYYY-MM-DD /etc/minio
    sudo systemctl start minio
    以上为升级过程中最常见的问题与处理路径,可据此快速定位与恢复。

0