Upgrade minio from Gateway or Filesystem Mode

For anyone upgrading minio prior to RELEASE.2022-10-29 you probably need to "Migrate from Gateway or Filesystem Mode". If you need to restore a working system asap then follow the instructions in the FreeBSD issue.

Upgrade

The simple upgrade steps on FreeBSD are:

  • Create a new minio SNSD instance;
  • Create an alias to this new instance;
  • Mirror your existing instance to the new one;
    minio-client mirror --preserve old-alias new-alias
  • Backup your old instance
    mv /var/db/minio /var/db/minio.bak
  • Start a new empty live instance
    service minio restart
  • Restore from newly created instance
    minio-client mirror --preserve new-alias old-alias

Upgrade complete

Aliases have not changed as they are part of minio-client, a separate application.

Testing

You can confirm the upgrade by exporting the new live instance with the old files as follows:

mkdir local-minio
minio-client cp old-alias local-minio
diff --recursive --brief local-minio /var/db/minio.bak
rm -r local-minio

Issues

As noted in the migration guide for Filesystem mode:

The Filesystem mode steps presume the existing MinIO Client supports the needed export commands. If it does not, recreate users, policies, lifecycle rules, and buckets manually on the new deployment using the new MinIO Client.

Only delete the old instance when you are confident the upgrade has completed successfully.

Happy upgrading