Scale-out Docker Deployment Guide

Introduction

This document outlines the requirements and instructions for setting up a cluster of StorReduce servers using Docker.

Contact us if you have questions

If you have any problems or questions in your deployment, please feel free to contact us!

Email info@storreduce.com

Live on-line chat: use the chat button (bottom right)

Prerequisites

This guide assumes that each docker container will run on its own isolated Linux VM, each with internet connectivity capable of communicating with S3 (HTTP port 80 and/or port 443) and access to port 8080 for the StorReduce dashboard admin interface.

Deploy the StorReduce OVA Virtual Machines

Virtual Machines (VMs) need to first be provisioned using the StorReduce OVA file:

  1. Download the StorReduce OVA file here
  2. Import the OVA file into VMware ESXi, Workstation or Fusion.

    • We recommend that you select ‘thin provisioning’ for disks since the OVA file will set up several virtual disks. For evaluation purposes the default disk sizes can be used.

    • Ensure that you have network connectivity to the server on ports 22, 80 and 443, and optionally port 8080 can be used for the dashboard (admin) interface

  3. You must have a DNS name or hosts file entry to refer to the StorReduce server VM. Although you can use the IP address for the VM to browse to the Web console, this will not work for clients connecting via the S3 API. (S3 API digital signatures do not work when the endpoint is specified as an IP address.)

If required you can log in to the machine as user ‘root’ with the initial password ‘storreduce’.

Pre-configure StorReduce VMs

Each of the virtual machines need to have additional preconfigurations performed in preparation for the latest Docker images to be retrieved and have proper network connectivity.

*The following instructions apply to each of the virtual machines provisioned in the previous step*

  1. SSH into the provisioned StorReduce VM

    ssh <IP address of VM>
    
  2. Install StorReduceCtl

    yum clean all && sudo yum -y update storreducectl
    

Deploy First StorReduce Docker image

NOTE: The method for deploying the first StorReduce docker image varies from subsequent servers belonging to the same cluster.

  1. On the first StorReduce VM of the cluster, deploy the StorReduce docker image by running:

    storreducectl server init --docker_image_name=storreduce/storreduce:latest -d
    
  2. Follow the wizard to allocate ports and other configuration settings for StorReduce operation

  3. Browse to the server’s admin dashboard e.g. https://<server IP address>:8080 and complete the full server setup and save settings.

  4. Wait for server to restart, then log back in and navigate to the Cluster tab.

  5. Copy the Cluster Discovery Token that appears (referred in subsequent steps as <clustertoken>)

Cluster Discovery Token Screenshot

Expand the cluster with subsequent Docker image deployments

  1. On all the other provisioned StorReduce VMs that have not yet had a docker deployment, run:

    storreducectl server init <clustertoken> --docker_image_name=storreduce/storreduce:latest -d
    
  2. Follow the wizard to allocate ports and other configuration settings for StorReduce operation

Rebalance the cluster

After all servers have been added to the cluster SSH to any server and run:

    storreducectl cluster rebalance -d

Wait a few moments and the cluster should be fully functional.