Documentation

Upgrade a MinIO Deployment

Important

For deployments older than RELEASE.2024-03-30T09-41-56Z running with AD/LDAP enabled, you must read through the release notes for RELEASE.2024-04-18T19-09-19Z before starting this procedure. You must take the extra steps documented in the linked release as part of the upgrade.

MinIO uses an update-then-restart methodology for upgrading a deployment to a newer release:

  1. Update the MinIO binary with the newer release.

  2. Restart the deployment using mc admin service restart.

This procedure does not require taking downtime and is non-disruptive to ongoing operations.

This page documents methods for upgrading using the update-then-restart method for both systemctl and user-managed MinIO deployments. Deployments using Ansible, Terraform, or other management tools can use the procedures here as guidance for implementation within the existing automation framework.

Considerations

Upgrades Are Non-Disruptive

MinIO’s upgrade-then-restart procedure does not require taking downtime or scheduling a maintenance period. MinIO restarts are fast, such that restarting all server processes in parallel typically completes in a few seconds. MinIO operations are atomic and strictly consistent, such that applications using MinIO or S3 SDKs can rely on the built-in transparent retry without further client-side logic. This ensures upgrades are non-disruptive to ongoing operations.

“Rolling” or serial “one-at-a-time” upgrade methods do not provide any advantage over the recommended “parallel” procedure, and can introduce unnecessary complexity to the upgrade procedure. For virtualized environments which require rolling updates, you should modify the recommended procedure as follows:

  1. Update the MinIO Binary in the virtual machine or container one at a time.

  2. Restart the MinIO deployment using mc admin service restart.

  3. Update the virtual machine/container configuration to use the matching newer MinIO image.

  4. Perform the rolling restart of each machine/container with the updated image.

Check Release Notes

MinIO publishes Release Notes for your reference as part of identifying the changes applied in each release. Review the associated release notes between your current MinIO version and the newer release so you have a complete view of any changes.

Pay particular attention to any releases that are not backwards compatible. You cannot trivially downgrade from any such release.

Update Using Homebrew

For Homebrew installations, you can use homebrew to update the cask:

brew upgrade minio/stable/minio

Restart the MinIO process to complete the update.

Update using Binary Replacement

Open a Terminal, then use the following commands to download the latest stable MinIO binary, set it to executable, and install it to the system $PATH:

curl -O https://dl.min.io/server/minio/release/darwin-arm64/minio
chmod +x ./minio
sudo mv ./minio /usr/local/bin/

Open a Terminal, then use the following commands to download the latest stable MinIO binary, set it to executable, and install it to the system $PATH:

curl -O https://dl.min.io/server/minio/release/darwin-amd64/minio
chmod +x ./minio
sudo mv ./minio /usr/local/bin/

Restart the MinIO process to complete the update.