Many Customers and Partners are wanting to deploy an on-premises object storage for testing and learning purposes. How you can deploy a totally free of charge object storage instance for an unlimited time and unrestricted capacity in your own lab?
On this blog post, I will take you through the deployment and configuration of an on-premises object storage instance for test purposes so that you might learn more about the new feature.
For this test, I will use a product call Minio. You can download it from this link for free, and it is available for Windows, Linux and MacOS.
To get started, download Minio and run the installation.
On my CloudOasis lab, I decided to use a Windows core server to act as a test platform for my object storage. Read on to the steps below to see the configuration I used:
By default, after the download of Minio Server, it will install as an unsecured service. The downside of this is that many applications out there need a secure URL over HTTPS to interact with the Object Storage. To fix this insecurity, we have to download GnuTLS to generate a private and public key facility to secure our Object storage connection.
After GnuTLS has downloaded and extracted to a folder on your drive, for example, C:\GnuTLS, you now must add that path to Windows with the following command:
setx path "%path%;C:\gnutls\bin"
The next step is to generate the private.key:
certtool.exe --generate-privkey --outfile private.key
After the private.key has been generated, create a new file called cert.cnf and past the following script into it:
# X.509 Certificate options # # DN options # The organization of the subject. organization = "CloudOasis" # The organizational unit of the subject. #unit = "CloudOasis Lab" # The state of the certificate owner. state = "NSW" # The country of the subject. Two letter code. country = "AU" # The common name of the certificate owner. cn = "Hal Yaman" # In how many days, counting from today, this certificate will expire. expiration_days = 365 # X.509 v3 extensions # DNS name(s) of the server dns_name = "miniosrv.cloudoasis.com.au" # (Optional) Server IP address ip_address = "127.0.0.1" # Whether this certificate will be used for a TLS server tls_www_server # Whether this certificate will be used to encrypt data (needed # in TLS RSA cipher suites). Note that it is preferred to use different # keys for encryption and signing. encryption_key
Now we are ready to generate the public certificate using the following command:
certtool.exe --generate-self-signed --load-privkey private.key --template cert.cnf --outfile public.crt
After you have completed those steps, you must copy the private and the public keys to the following path:
Note: If you already had your own certificates, all you have to do is to copy them to the .\.\certs folder.
Run Minio Secure Service
Now we are ready to run a secured Minio Server using the following command. Here, we are assuming your minio.exe has been installed on your C:\ drive:
C:\minio.exe server S:\bucket
Note: the S:\bucket is a second volume I created and configured in Minio Server to receive the saved the objects.
After the minio.exe has run, you will get the following screen:
This blog was prepared following several requests from customers and partners who wanted to familiarise themselves with object storage integration during their private beta experience.
As you saw, the steps we have described here will help you to deploy an on-premises object storage for your own testing, without the cost, time limit, or storage size limit.
The steps to deploy the object storage are very simple, but the outcome is huge, and very helpful to you in your learning journey.