升级 MinIO 部署
重要
对于早于以下版本的部署RELEASE.2024-03-30T09-41-56Z正在运行AD/LDAP已启用,必须阅读发布说明RELEASE.2024-04-18T19-09-19Z在开始此过程之前。 您必须执行链接版本中记录的额外步骤作为升级的一部分。
MinIO 使用先更新后重启的方法来将部署升级到较新版本:
使用新版本更新 MinIO 二进制文件。
重启部署,使用
mc admin service restart.
此过程无需停机,不会对正在进行的操作造成中断。
本页记录了使用更新后重启方法进行升级的方法,适用于systemctl以及用户管理的 MinIO 部署。
使用 Ansible、Terraform 或其他管理工具的部署可以参考此处的流程,在现有自动化框架内实施。
前提条件
首先备份集群设置
使用mc admin cluster bucket export和mc admin cluster iam export在开始停用之前,用于获取存储桶元数据和IAM配置快照的命令。
您可以使用这些快照进行恢复桶和IAM必要时从用户或进程错误中恢复的设置。
检查发行说明
MinIO 发布Release Notes供您参考,作为识别每个版本中所应用更改的一部分。 请查阅您当前 MinIO 版本与较新版本之间的相关发行说明,以便全面了解所有更改。
请特别关注任何不向后兼容。 您无法轻易从任何此类版本降级。
在生产环境应用前测试升级
MinIO 在所有版本中都包含测试和验证套件。 然而,任何测试套件都无法完全覆盖您生产环境中硬件、软件和工作负载的独特组合与排列。
您应该始终在较低环境(开发/测试/预生产)中验证任何 MinIO 升级之前将这些升级应用到生产部署或任何包含关键数据的环境中。 在没有先在较低环境中验证的情况下对生产环境执行更新,风险自负。
对于显著落后于最新稳定版本的 MinIO 部署(超过 6 个月),建议使用MinIO SUBNET在升级过程中获得额外的支持和指导。
注意事项
升级不会中断服务
MinIO的升级后重启流程确实不需要停机或安排维护时间。 MinIO 重启速度很快,并行重启所有服务器进程通常只需几秒钟即可完成。 MinIO 操作具有原子性和严格一致性,因此使用 MinIO 或 S3 SDK 的应用程序可以依赖其内置的透明重试无需额外的客户端逻辑。 这确保了升级不会对正在进行的操作造成中断。
更新systemctl托管式 MinIO 部署
使用以下步骤升级由 MinIO 服务器进程管理的 MinIO 部署systemctl例如,使用 MinIO 创建的那些DEB/RPM packages.
此过程假设您已具备MINIO_CONFIG_ENV_FILE在所有 MinIO 节点上设置的变量。
更新每个节点上的 MinIO 二进制文件
以下选项卡提供使用 RPM、DEB 或二进制文件在 64 位 Linux 操作系统上更新 MinIO 的示例:
使用以下命令下载最新的稳定版 MinIO RPM 并更新现有安装。
wget RPMURL -O minio.rpm sudo dnf update minio.rpm
使用以下命令下载最新的稳定版 MinIO DEB 并升级现有安装:
wget DEBURL -O minio.deb sudo dpkg -i minio.deb
使用以下命令下载最新的稳定版 MinIO 二进制文件并覆盖现有二进制文件:
wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio sudo mv -f ./minio /usr/local/bin/minio
替换
/usr/local/bin使用现有 MinIO 二进制文件的位置。运行which minio如果路径尚未确定,请先进行识别。运行
minio --version在每个节点上验证您是否成功将所有二进制文件升级到相同版本。不除非所有节点都使用相同的 MinIO 二进制版本,否则请勿继续操作。重启部署
运行
mc admin service restart同时重启部署中所有 MinIO 服务器进程的命令。mc admin service restart ALIAS
替换别名MinIO 部署将重启。
S3兼容的SDK和应用程序应自动重试操作,使得重启过程通常非破坏性的对正在进行的操作。
验证升级
使用
mc admin info用于检查所有 MinIO 服务器是否在线、正常运行并反映已安装的 MinIO 版本的命令。更新 MinIO 客户端
您应该升级您的
mc二进制文件需要匹配或紧密跟随MinIO服务器版本。 您可以使用mc update更新二进制文件到最新稳定版本的命令:mc update
更新非系统托管的 MinIO 部署
使用以下步骤升级MinIO部署,其中MinIO服务器进程在系统外部管理(systemd, systemctl例如由用户、自动化脚本或其他进程管理工具执行。
此过程仅适用于运行MinIO进程的用户对MinIO二进制文件路径具有写入权限的系统。
对于使用systemctl, 看到更新 systemctl 管理的 MinIO 部署.
使用更新mc admin update
Themc admin updatecommand 会在同时重启所有节点之前更新目标 MinIO 部署中的所有 MinIO 服务器二进制文件。
重启过程通常会在几秒钟内完成,并且是非破坏性的对正在进行的操作。
以下命令使用指定的配置更新 MinIO 部署别名到最新的稳定版本:
mc admin update ALIAS
运行该程序的用户mc admin update命令必须有write对二进制文件安装位置的权限。
您可以指定解析到特定 MinIO 服务器二进制版本的 URL。 与互联网隔离的部署可以利用此功能从内部可访问的服务器进行更新:
mc admin update ALIAS https://minio-mirror.example.com/minio.sha256sum
您应该升级您的mc二进制文件需要匹配或紧密跟随MinIO服务器版本。
您可以使用mc update更新二进制文件到最新稳定版本的命令:
mc update
手动替换二进制文件进行更新
您可以下载并手动替换minio部署中每个主机节点上的 server binary。
然后必须同时重启所有节点,例如通过使用mc admin service restart.
例如,以下命令下载适用于 Linux 的最新稳定版 MinIO 二进制文件并将其复制到/usr/local/bin该命令会覆盖现有的minio该路径下的二进制文件。
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x ./minio
sudo mv -f ./minio /usr/local/bin/minio
一旦您在部署中的所有 MinIO 主机上替换了二进制文件,必须同时重启所有节点。
您应该升级您的mc二进制文件需要匹配或紧密跟随MinIO服务器版本。
您可以使用mc update更新二进制文件到最新稳定版本的命令:
mc update