Scale-out Deployment Guide

Deploy bare metal or custom OS StorReduce Server(s)

These steps must be completed for each of the custom StorReduce servers in the cluster

StorReduce can be manually deployed via a Docker container on any RedHat 7+ compatible distribution (e.g. RHEL 7, CentOS 7+, Amazon Linux).

Disk Configuration

StorReduce requires two disks to store index data. These disks must be physical SSDs. StorReduce does not support running on mechanical disks or hybrid disks. These disks do not need to be redundant - all data stored on them can be recovered from the object store if lost. These disks should be sized based on the sizing guidelines outlined in the StorReduce Cluster Deployment Guide.

These disks should be formatted with the ext2 filesystem1 and mounted at /mnt/srdb and /mnt/srkeydb.

Format the disks:

sudo mkfs -t ext2 /dev/sdX
sudo mkfs -t ext2 /dev/sdY

Create mount points:

sudo mkdir -p /mnt/srdb
sudo mkdir -p /mnt/srkeydb

Ensure the disks are mounted when the server restarts2:

sudo vi /etc/fstab

/dev/sdX    /mnt/srdb       ext2    defaults,noatime  0  2
/dev/sdY    /mnt/srkeydb    ext2    defaults,noatime  0  2

Mount the disks for the first time:

sudo mount /mnt/srdb
sudo mount /mnt/srkeydb

Network Configuration

Static IP

Each StorReduce server should have one or more network interfaces based on the sizing guidelines outlined in the StorReduce Cluster Deployment Guide.

Use nmtui (or similar) to set a static IP address for each interface:

Network Configuration Screenshot

Firewall

RedHat 7+ compatible distributions often come with a built-in firewall enabled by default. The standard StorReduce cluster ports must be opened if the firewall is enabled.

Port(s) Reason Who/What will connect
22 SSH Administrators
80 S3 API over HTTP Administrators & users
443 S3 API over HTTPS Administrators & users
8080 StorReduce adminstration dashboard over HTTPS Administrators & users
8095-8098 Intra-cluster communications Servers in the cluster
2379-2380 Intra-cluster communications Servers in the cluster

Run the following command for each port:

firewall-cmd --zone=public --add-port=$PORT/tcp --permanent

Then reload the firewall configuration:

firewall-cmd --reload

Install ntpd

StorReduce servers require synchronized clocks for cluster operations and we recommend NTP is used to ensure servers remain in sync.

Determine if ntpd is installed:

sudo systemctl status ntpd

or on an older distribution:

sudo server ntpd status

If NTP is not installed, please install it.

Note you may need to configure ntpd to use your corporate NTP servers. You may also need to modify your firewall settings to allow NTP packets through.

Install Docker

On some systems (e.g. CentOS 7 and AMI Linux) you can run:

sudo yum install -y docker

Please ensure that docker will restart when the server is rebooted.

For other systems please follow the instructions on the Docker website.

Install the StorReduce YUM Repository

The StorReduce YUM repository contains the installation RPM packages. Add this repo to the server with the following command:

sudo curl --output /etc/yum.repos.d/storreduce.repo https://storreduce-yum.s3-us-west-2.amazonaws.com/storreduce.repo

Install storreducectl

storreducectl is the command line utility used to manage the StorReduce Docker container. It will automatically install the Docker container when needed.

Install storreducectl with the following commands:

sudo yum clean all
sudo yum -y install storreducectl

Now that the StorReduce custom server(s) have been deployed please return to the StorReduce Cluster Deployment Guide to continue the configuration.


  1. We use the ext2 filesystem because it offers the best performance with memory mapped databases.

    [return]
  2. The noatime option reduces the number of writes into filesystem by disabling updates to the last accessed time attribute on the files in the filesystem.

    [return]