Command Line Installation Guide

Introduction

This document outlines the requirements and instructions for setting up a StorReduce server with a disabled admin UI via command line.

NOTE: For a scale-out version of these instructions, please contact our team.

Contact us if you have questions

If you have any problems or questions setting up your StorReduce server, please contact us - we’ll be happy to help out!

Email info@storreduce.com

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

Prerequisites

To configure StorReduce via the command line, the standard setup procedures apply before StorReduce is started for the first time. This can be via the following:

Then, ensure that you have the latest version of StorReduce by referencing the Upgrade Guide

After StorReduce is installed, make sure that it is stopped via supervisorctl stop storreduce before continuing with ths guide.

Disabling the admin UI

On the server which StorReduce is installed, edit the script ‘start-storreduce’, usually found at /usr/bin/start-storreduce for a standard installation.

In this script, locate the line: args="" and replace with: args="--redirect_browsers=false --admin_port=0"

Configuring StorReduce for the first time

This involves editing the StorReduce settings file located by default at /etc/storreduce/storreduce-settings.json. It is advised that you make a backup of this file before proceeding.

Within storreduce-settings.json, the following fields need to be populated with appropriate settings over the default:

  • hostname - The hostname of this StorReduce server, or a comma separated list of hostnames. Objects stored in this server will be addressed http://hostname/bucket/key or http://bucket.hostname/key
  • License
    • For a standard cut-and-paste license:
      • license - The value of the cut-and-paste license.
    • For a license server license:
      • license_server_url - The license server VM url; e.g. ec2-123-45-67-213.ap-us-west-2.compute.amazonaws.com

Then, depending on the backend being used, other parameters are required to be populated:

Amazon S3 and compatible (Cleversafe, Cloudian, ...)

  • aws_access_key_id - Access key with access to the bucket
  • aws_secret_access_key - Secret key with access to the bucket
  • bucket - The name of your S3 bucket
  • use_backend - Should be of value AWS

Microsoft Azure Blob Store

  • azure_blob_account_name - The name of an Azure Storage Account
  • azure_blob_account_key - The key for the Azure Storage Account named above.
  • azure_blob_container - The container in the Azure Storage Account that you wish to store the data in. The container must already exist.
  • azure_blob_service_base_url - This field should be core.windows.net, unless using a private instance of the Azure Storage Service.
  • use_backend - Should be of value AZURE

Google Cloud Storage

  • aws_access_key_id - The Google Access key with access to the bucket
  • aws_secret_access_key - The Google Secret key with access to the bucket
  • bucket - The name of your Google storage bucket
  • use_backend - Should be of value AWS_GCS
  • use_backend_sub_type - Should be of value GCS

Starting StorReduce and ongoing admin tasks

With the correct settings in place, StorReduce can now be started by running supervisorctl start storreduce. To test that the settings are correct, it is strongly advised to test creating a bucket via an S3-compatible client pointed at StorReduce.

For ongoing admin tasks, the StorReduceCtl command line client can be used whilst a StorReduce instance is running. It can be found at /usr/bin/storreducectl.

StorReduceCtl Example Usage

To get a full list of usages that StorReduceCtl can handle, simply run /usr/bin/storreducectl.

Some of the available commands include:

Command Description
adduser Adds a user
createcluster Creates a cluster
createreplica Creates a replica of the data onto a different object store (TODO)
deleteorleavecluster Deletes the current cluster
getcurrentcluster Gets information about the current cluster
getgcstatus Gets the garbage collection status.
getservertime Gets the current server time.
getsnapshotstatus Gets the snapshot status
joincluster Joins a cluster
listuser List the users registered with StorReduce with associated Access Keys
startgc Starts the garbage collection process
startsnapshot Starts the snapshot process

An example of adding a user is below:

  1. Firstly, to get the relevant parameters for adding a user, run /usr/bin/storreducectl adduser -h
  2. Observing the possible configuration flags for adding a user from the above step, a user can be created by running: /usr/bin/storreducectl adduser -e "johnsmith@example.com" -n "John Q. Smith" -u "johnsmith"