Cloud Backup - How to Set Up Minio for Multi-Tenant Cloud Hosting

Cloud Backup


Minio

Minio Private Cloud Storage provides a free, open source, scalable cloud storage location for secure on-site data protection. Retrospect 15.1 for Windows and Mac are certified for Minio. Follow these step-by-step instructions for configuring Retrospect to integrate with Minio.

We will walk through setting up Minio for multi-tenant cloud backup hosting: using Minio to host multiple accounts for different customers.


Setup

  1. Choose a NAS with Docker capabilities, as Minio requires Docker. We will use a Synology NAS in this guide.

  2. Choose where on the NAS to put the tenant backups. We created volume4/tenant backup/.

  3. Choose where on the NAS to put tenant configuration files. We created volume1/docker/minio/tenant config/.

  4. Note that both places should not be within the Minio Docker instance as the data is not persistent.

  5. Create a list of customers that will be housed in the NAS with unique text names and port for each one (i.e. Acme Holdings: 'acme' / port 5001).

  6. Add a port forwarding rule in your firewall for those ports to go to your NAS.


Install Docker and Minio

  1. Install Docker

    Minio multi tenant1

  2. Open Docker

  3. Click on 'Registry' on the left hand pane

  4. Search for 'minio'

  5. Click to highlight minio/minio, and then click 'Download' at the top

  6. Choose the 'latest' build

    Minio multi tenant2

  7. Click on 'Image' on the left hand pane, and you will see the minio/minio:latest image

    Minio multi tenant3


Install Command-Line Interface (CLI)

  1. Download and install PuTTY or your choice of client.

  2. Enable SSH on the Synology (and remember to disable it again afterwards) by going to 'Control Panel - Applications - Terminal & SNMP'

  3. Select the checkbox to 'Enable SSH server'

    Minio multi tenant4

  4. Open PuTTY

    Minio multi tenant5

  5. Enter the IP address of your Synology NAS, and click 'Open'

  6. You will at this stage be prompted to 'login as:', so enter your username and password for your Synology NAS

    Minio multi tenant6

  7. To fire up your first docker minio instance, paste this command into PuTTY using copy and then the right click of your mouse, replacing "acme" with your first client’s short text name and their port number instead of "5001".

    sudo docker run -p 5001:5001 --name acme -d minio/minio server --address :5001 --config-dir /docker/minio/tenantconfig/acme /export/acme
  8. Repeat this process for each of your tenants. Each of these will be a Docker instance.

  9. If you now look back at Docker on your Synology NAS, and click on 'Container' on the left hand pane, you will see a list of running instances.

    Minio multi tenant7

  10. You can verify the Minio instance is running by accessing the NAS at that port. You will see a login screen.


Minio Setup

  1. You can retrieve the Minio Access Key and Secret Key for each instance from the Docker GUI on Synology.

  2. Click and highlight the container, and the click 'Details' at the top

  3. Click 'Log' from the menu at the top, and scroll until you reveal the key’s.

    Minio multi tenant8

  4. Copy them, and keep them secure. You will need them to access the cloud storage from Retrospect backup server, or to login to the web client.

  5. After you’ve entered them in, you’ll access the storage, and it’s empty and not persistent. We need to configure the persistent storage.

  6. Click the on/off button to switch the container off. Or click 'Action-Stop'

  7. Click the container to highlight, and click Edit

  8. Click the Volume menu at the top, and then Add Folder

  9. Create and select the folder that you have chosen to store the backup data for this tenant to. In our case, we used volume4/tenant backup/acme then in the 'Mount path' field, we typed /export/acme.

    Minio multi tenant9

  10. Click 'Add Folder' again

  11. Create and select the folder that you have chosen to store the config data for this tenant to. In our case, we used volume1/docker/minio/tenant config/acme then in the 'Mount path' field, we typed '/docker/minio/tenantconfig/acme'.

  12. Switch the container back on, either with the on/off switch on the right hand side, or using 'Action-Start'.

  13. Note that the new instance has a new access key and secret key, so retrieve those from the log.

  14. You can now log into the Minio client on the NAS in your web browser using the new keys, create a bucket, upload a file, and see that file in the NAS. In our case, we saw it in volume1/docker/minio/tenant config/acme.


Information for Retrospect

Retrospect needs three pieces of information to access Minio:

  • Pathurl_to_instance:port_number/your_bucket_name

  • Access Key – Use the Access Key provided by your Minio instance.

  • Secret Key – Use the Secret Key provided by your Minio instance.


Adding Cloud Storage in Retrospect

Adding cloud storage as a destination is simple. Retrospect has a new set type called "Cloud". Create a new backup set/media set and select "Cloud" as the type.

Windows Interface

Cloud backup selection win

Mac Interface

Cloud backup selection mac

Next you’ll need to enter your cloud storage credentials.

Windows Interface

S3 set creation win

Mac Interface

Cloud backup settings mac


Using Cloud Storage in Retrospect

Using cloud storage is simple. After you have created a cloud set, create a new script or add it to an existing one, and click "Run". The backup will begin with the contents of the set being uploaded to your cloud storage location. You can track the progress in the execution/activity.

Windows Interface

Cloud backup log win

Mac Interface

Cloud backup log mac


Throttling Cloud Backups in Retrospect

Throttling for cloud backup and cloud restore is available in Preferences.

Windows Interface

Cloud backup preferences win

Mac Interface

Cloud backup preferences mac


General Tips

Below are a number of tips for using cloud storage in Retrospect:


Last Update: August 9, 2018