升级部署MinIO
重要
对于运行时间早于 RELEASE.2024-03-30T09-41-56Z 且已启用 AD/LDAP 的部署, 你 must 在开始此步骤前,阅读 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配置进行快照。
您可以使用这些快照来恢复存储桶( bucket)和IAM( IAM)设置,以必要的程度从用户或程序错误中恢复。
查看发行说明
MinIO 发布了 发行说明,供您参考,以识别每个版本中应用的变化。 查看您当前的 MinIO 版本与新版本之间的相关发行说明,以便您有一个完整的任何变更的视图。
特别注意任何 不 向后兼容的发行版本。 您无法轻易从这样的版本降级。
在应用于生产之前测试升级
MinIO 在所有发布版本中使用测试和验证套件。 然而,没有任何测试套件能够考虑到您生产环境中硬件、软件和工作负载的独特组合和排列。
您应该始终在较低环境(Dev/QA/Staging)中验证任何MinIO升级, 在 将这些升级应用到生产部署或其他包含关键数据的环境之前。 在没有首先在较低环境中验证的情况下对生产环境进行更新,这是您自己的风险。
对于明显落后于最新稳定版本(6+个月)的MinIO部署,考虑在升级过程中使用 MinIO SUBNET 以获得额外的支持和指导。
考虑因素
升级是无干扰的
MinIO的更新后重启过程不需要采取停机或安排维护时间。 MinIO的重启非常快,因此在并行重启所有服务器进程时,通常只需要几秒钟就可以完成。 MinIO操作是原子的且严格一致的,因此使用MinIO或S3 SDK的应用程序可以依赖于内置的 透明重试 而无需进行更多的客户端侧逻辑。 这确保了升级不会对正在进行的操作造成干扰。
检查发行说明
作为识别每个版本所应用更改的一部分,MinIO发布 发行说明 供您参考。 请查看当前MinIO版本和更新版本之间的相关发布说明,以便您完整地了解任何更改。
请特别注意任何与以前版本不兼容的发布。 任何这样的发布版本都不能被轻易地降级。
升级 systemctl
- 管理MinIO
使用以下步骤来升级部署 MinIO,其中 MinIO 服务器进程由 systemctl
, 管理,如那些使用 MinIO DEB/RPM 包 创建的进程。
此步骤假定所有 MinIO 节点上都设置了 MINIO_CONFIG_ENV_FILE
变量。
在每个节点上更新 MinIO 二进制文件
以下标签页提供了使用 RPM,DEB 或二进制在64位 Linux 操作系统上更新 MinIO 的示例:
使用以下命令下载最新的稳定版 MinIO RPM 并 更新现有的安装。
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20250422221226.0.0-1.x86_64.rpm -O minio.rpm sudo dnf update minio.rpm
使用以下命令下载最新稳定版本的MinIO DEB软件包, 并升级现有安装:
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20250422221226.0.0_amd64.deb -O minio.deb sudo dpkg -i minio.deb
使用以下命令下载最新的稳定版 MinIO 二进制文件, 并覆盖现有的二进制文件:
wget https://dl.minio.org.cn/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 二进制版本,否则 not 继续。重启部署
运行
mc admin service restart
命令以同时重新启动部署中的所有MinIO服务器进程。mc admin service restart ALIAS
替换MinIO部署的 别名 以进行重新启动。
与 S3 兼容的 SDK 和应用程序应自动重试操作,这样重启过程通常不会对正在进行的操作 non -disruptive 影响。
验证升级状态
使用
mc admin info
命令检查所有MinIO服务器是否在线、运行正常并反映已安装的MinIO版本。升级客户端
您应该升级
mc
二进制文件以匹配或紧随MinIO服务器版本发布。 您可以使用mc update
命令将二进制文件更新到最新的稳定版本:mc update
更新非系统管理的MinIO部署
请按照以下步骤升级MinIO部署,其中MinIO服务器进程在系统外( systemd
、 systemctl
)管理,例如由用户、自动化脚本或其他进程管理工具管理。
此过程仅适用于运行MinIO进程的用户对MinIO二进制文件路径具有写权限的系统。
对于使用 systemctl
进行管理的部署,请参见 minio-upgrade-systemctl 。
使用 mc admin update
进行更新
mc admin update
命令会在重新启动所有节点之前,更新目标MinIO部署中的所有MinIO服务器二进制文件。
重新启动过程通常在几秒钟内完成,并且对正在进行的操作是 非破坏性的 。
以下命令将使用指定的 alias 更新MinIO部署到最新的稳定版本:
mc admin update ALIAS
运行 mc admin update
命令的用户 必须 对二进制文件安装位置具有 write
权限。
您可以指定一个URL解析到特定的MinIO服务器二进制版本。 隔离网络或无互联网连接的部署可以利用此功能从内部可访问的服务器进行更新:
mc admin update ALIAS https://minio-mirror.example.com/minio.sha256sum
您应该升级 mc
二进制文件以匹配或紧随MinIO服务器的更新。
您可以使用 mc update
命令将二进制文件更新到最新的稳定版本:
mc update
通过手动替换二进制文件进行更新
您可以在部署中的每个主机节点上下载并手动替换 minio
服务器二进制文件。
然后,您必须同时重启所有节点,例如使用 mc admin service restart
命令。
例如,以下命令下载适用于Linux的最新稳定版MinIO二进制文件,并将其复制到 /usr/local/bin
。
该命令将覆盖该路径下现有的 minio
二进制文件。
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x ./minio
sudo mv -f ./minio /usr/local/bin/minio
一旦您已经在部署中的所有MinIO主机上替换了二进制文件,您必须同时重启所有节点。
您应该升级 mc
二进制文件以匹配或紧随MinIO服务器的更新。
您可以使用 mc update
命令将二进制文件更新到最新的稳定版本:
mc update