Veeam: How-to Deploy, and Configure MinIO with Erasure Coding Enabled, Immutability, and Let’s Encrypt

Greetings friends, just a few days ago Veeam officially announced the support for MinIO Immutability on its HCL. This is wonderful news for us to test this functionality in our labs, or in case we are using Linux storage with MinIO for production.In this blog entry, we're going to jump into the pool and see: how to install and configure MinIO with Erasure Coding Enabled, Immutability, Let's Encrypt, and finally, we'll see how to configure it in Veeam. As it has gone out of my hands, I leave you with a menu to move faster:
  1. MinIO System Requirements
    1. What is MinIO Erasure Coding?
    2. Why use MinIO Erasure Coding?
    3. Disk Configuration to use MinIO Erasure Coding
  2. How-to Deploy, and Configure MinIO, including object Immutability, and Let’s Encrypt
    1. How-to configure  Let's Encrypt for MinIO
    2. Run MinIO with Erasure Coding
    3. Creating a new Bucket in MinIO with the Immutability attribute
  3. Veeam Backup & Replication Configuration with Immutable Storage
    1. Backup Repository Creation – Object Storage
    2. Scale-out Backup Repository Creation – with MinIO Immutable as Capacity Tier
    3. Backup Copy Job creation, pointing to this new SOBR with Immutability
    4. Trying to delete Backups from an Object Storage with Immutability Enabled

MinIO System Requirements

In this guide, we are not going to try to deploy MinIO in production, as it usually requires about 96GB of RAM, certain cores, etc. In my case I am deploying everything in 4vCPU and 16GB of RAM since I will have only one VBR sending backups, so nothing serious.One of the most important things to be able to run Immutability in MinIO, and that it is supported by Veeam, is that we need the MinIO RELEASE.2020-07-12T19-14-17Z version or higher, and also we need the MinIO server to be running with Erasure Coding.