Happy monday everyone!
Are you considering integrating the feature direct-to-Object Storage into your backup plan, which allows you to add Object Storage as a primary backup repository?
Perhaps you'd like to test it locally on-premise first, on a Windows Server environment, without having to purchase, or testing purposes, paid cloud solutions? Or maybe you're specifically seeking a reliable On-Premise Object Storage solution that can also run on a Windows Server?
Well, this guide is just for you.
In this example I used:
- VMware ESXi 8.0 U2
- Windows Server 2022 VM with 2 disks
- MinIO 2023-11-15
Prepare your Object Storage Windows server
Let's set up and update a Windows Server 2022 VM. Keep it in a Workgroup. Then partition two disks: a smaller one for the OS and a larger one for data. In my example, I allocated 50GB to the OS and 500GB to the data.
Visit https://min.io/download#/windows and download the executable.
Place that in C:\ and create a PowerShell script with the following code:
setx MINIO_ROOT_USER SecretAdmin
setx MINIO_ROOT_PASSWORD SecretPassword
C:\minio.exe server D:\Data --console-address ":9001"
The code is super simple: the first two commands set the environment variables MINIO_ROOT_USER and MINIO_ROOT_PASSWORD in the Windows operating system. The third command starts the MinIO server, where D:\Data specifies the directory where MinIO will store data and --console-address ":9001" sets the address of the MinIO server management console on port 9001.
But don't run it yet. Let me show why:
By default with that command, MinIO operates with the HTTP protocol, while Veeam is only compatible with HTTPS regarding Object Storage. In fact, if you try to configure it in Veeam, you'll get the following error:
We need to set up an SSL certificate for our server and make it usable by the service. There are at least three options:
- Install a CA on Windows and proceed with issuing a self-signed certificate.
- Use Certbot to obtain a trusted certificate (https://certbot.eff.org/instructions?ws=other&os=windows).
- The third option, the fastest one, is to use a dedicated GitHub for our purpose.
So, let's connect to https://github.com/minio/certgen and download the executable for Windows.
The usage is extremely straightforward:
certgen -host "VMs-IP,VMs-name"
In my example is: certgen -host "192.168.100.5,cloud"
Move both the public key and the private key to the folder C:\Users\Administrator.minio\certs
Now, execute the PowerShell script created earlier.
As you can see, it has switched to the HTTPS protocol. Now, let's configure it.
Open a browser and access the aforementioned address for the console. It should respond with this page:
Log in and go to the "Access Key" section. Create and save the credentials to access your Object Storage.
And now, create a Bucket.
As you can notice, you can enable Versioning, Object Locking, Quota, and Retention. Yes, Object Locking is software-simulated and isn't pure immutable like in Linux environments. Windows hasn’t the “-i” attribute for files.
Configure your Object Storage Windows server on Veeam
Now, configure your Veeam Server by adding an S3 compatible Object Storage Repository.
Run a backup task
Set up a backup task and execute it.
If you go back to the MinIO console, you can verify how it's indeed receiving data.
Try to delete data from Veeam Console
Remember the Object Locking? From RDP on the Server, you can delete all the data, but if you try to delete it from the Veeam console, you'll get this error.
To test the immutable functionality, it seems like a good start.
I hope this guide is helpful for your testing on-premise Object Storage MinIO with direct backup from Veeam and begin your adventure with Object Storage solutions.
If you have any questions or doubts, feel free to ask in the comments section!
Interested in Object Storage Tips and techniques? Read these blogs written by