Direct to Windows Object Storage on premise with MinIO

  • 20 November 2023
  • 6 comments
  • 848 views

Userlevel 7
Badge +12

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:

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 @SteveF 

https://community...veeam-amazing-object-storage-tips-techniques-part-1

https://community...veeam-amazing-object-storage-tips-techniques-part-2

https://community...veeam-amazing-object-storage-tips-techniques-part-3

https://community...veeam-amazing-object-storage-tips-techniques-part-4

https://community...veeam-amazing-object-storage-tips-techniques-part-5


6 comments

Userlevel 7
Badge +7

Hello Marco, I usually use Minio on Linux, but it is helpful to know that there is an alternative..thanks!

Userlevel 5
Badge +2

great guide! I also wrote something similar (but not as good as this!!) for linux:

 

https://medium.com/@alessandro.tinivelli/minio-as-an-object-storage-for-veeam-home-lab-819e632c5c4c
 

Userlevel 7
Badge +15

Nice writeup for a lil object storage test environment Marco!

Userlevel 7
Badge +20

MinIO on Windows is great for those with lesser Linux skills.  I have deployed MinIO in my lab on both to test them out with Veeam and found setting up Windows faster, but Linux seems to work much better for some reason.

Great write-up and share Marco. 👍🏼

Userlevel 7
Badge +12

Hello Marco, I usually use Minio on Linux, but it is helpful to know that there is an alternative..thanks!

And it’s incredible that’s there’s no how-to on windows on the web. So I write one!

Nice writeup for a lil object storage test environment Marco!

Yeah, super small :)

MinIO on Windows is great for those with lesser Linux skills.  I have deployed MinIO in my lab on both to test them out with Veeam and found setting up Windows faster, but Linux seems to work much better for some reason.

Great write-up and share Marco. 👍🏼

There’s a tons of linux ObjStor solutions, but very few for windows. 😥

Userlevel 6
Badge +7

Hi Marco, definitly something to try in the lab.

Comment