升级 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 发布了 发行说明 供您参考,作为识别每个版本中应用的更改的一部分。查看您当前 MinIO 版本和较新版本之间关联的发行说明,以便您全面了解任何更改。
特别注意任何不向后兼容的发行版。您无法从任何此类版本轻松降级。
在应用于生产环境之前测试升级
MinIO 在所有版本中都使用测试和验证套件。但是,没有任何测试套件可以考虑生产环境中硬件、软件和工作负载的独特组合和排列。
您应该始终在较低的环境(开发/测试/暂存)中验证任何 MinIO 升级,然后再将这些升级应用于生产部署或任何其他包含关键数据的环境。在未先在较低环境中验证的情况下对生产环境进行更新,风险自负。
对于严重落后于最新稳定版本(6 个月以上)的 MinIO 部署,请考虑使用 MinIO SUBNET 以在升级过程中获得额外的支持和指导。
注意事项
升级是非中断性的
MinIO 的先升级后重启过程不需要停机或安排维护期。MinIO 重启速度很快,因此并行重启所有服务器进程通常只需几秒钟。MinIO 操作是原子且严格一致的,因此使用 MinIO 或 S3 SDK 的应用程序可以依靠内置的 透明重试,而无需额外的客户端逻辑。这确保了升级不会中断正在进行的操作。
更新 systemctl 管理的 MinIO 部署
使用以下步骤升级 MinIO 部署,其中 MinIO 服务器进程由 systemctl 管理,例如使用 MinIO DEB/RPM 包 创建的部署。
此过程假设您已在所有 MinIO 节点上设置了 MINIO_CONFIG_ENV_FILE 变量。
更新每个节点上的 MinIO 二进制文件
以下选项卡提供了使用 RPM、DEB 或二进制文件将 MinIO 更新到 64 位 Linux 操作系统的示例
使用以下命令下载最新的稳定 MinIO RPM 并更新现有安装。
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20241029160148.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_20241029160148.0.0_amd64.deb -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 更新
mc admin update 命令在同时重启所有节点之前更新目标 MinIO 部署中的所有 MinIO 服务器二进制文件。重启过程通常在几秒钟内完成,并且不会中断正在进行的操作。
以下命令将具有指定 别名 的 MinIO 部署更新到最新的稳定版本
mc admin update ALIAS
运行 mc admin update 命令的用户必须对二进制文件安装到的位置具有 write 权限。
您可以指定一个解析到特定 MinIO 服务器二进制文件版本的 URL。隔离的或互联网隔离的部署可以使用此功能从内部可访问的服务器进行更新
mc admin update ALIAS https://minio-mirror.example.com/minio
您应该升级您的 mc 二进制文件以匹配或紧跟 MinIO 服务器版本。您可以使用 mc update 命令将二进制文件更新到最新的稳定版本
mc update
通过手动替换二进制文件进行更新
您可以下载并手动替换部署中每个主机节点上的 minio 服务器二进制文件。然后,您必须同时重启所有节点,例如使用 mc admin service restart。
例如,以下命令下载最新的稳定 MinIO Linux 二进制文件并将其复制到 /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