Storegrid™ Server Cluster Deployment

Overview of Server Cluster Deployment

Storegrid™ supports installing multiple Storegrid™ Server instances (Nodes) in a cluster to provide load balancing of the clients. Backup and Restore requests from the client machines are directed to one of the Nodes as per the load balancing algorithm (Node Locked, Round Robin or Load Based) configured for the cluster. New Backup Server machines (Nodes) can be added to the cluster anytime to increase the capacity.

The Nodes share a common RDBMS database. If the load balancing algorithm configured in the cluster is ‘Round Robin’ or ‘Load Based’, then the Nodes have to share a common backup storage as well.

NOTE:

Only Node Locked algorithm for load balancing is currently supported.

How does the Storegrid™ Clustering Work?

The illustration below shows how a new client machine registers with the Backup Server cluster and initiates its backup. Each Storegrid™ Backup Server instance consists of Storegrid™ Web Server and the StoreGrid Application. The Storegrid™ Web Server by default listens on port 6060 (and 6061 if HTTPS is enabled) and addresses the Web Service requests from the clients.

The Storegrid™ Application listens on port 32004 (and 32007 if SSL is enabled) and accepts the backup and restore requests from the clients. The Storegrid™ Application of each of the Backup Server instances access a common RDBMS database. This enables the Storegrid™ Backup Server instances running from different systems to share the backend database and serve the backup/restore requests of the Storegrid™ clients independently.

 StoreGrid Server Cluster Deployment

Here is how a client selects a backup server (Node) from the cluster to backup:

  1. A Storegrid™ Client machine backing up to a Backup Server Cluster first sends a HTTPS (or HTTP request as configured in SGConfguration.conf file in the client machine; HTTPS been default) ‘Server Lookup’ Web Service request at the backup server address (say for example: backup.datamaniacs.com – as specified while configuring the backup schedule in the client machine). The default port at which the request is sent is 6061 for HTTPs and 6060 for HTTP.
  2. The backup server that receives the ‘Server Lookup’ request assigns a backup server (Node) for the client based on the Load Balancing algorithm (described below) specified for the cluster.
  3. The backup server sends the response back to the client with the details of the assigned Node like its public lookup name (say serverB.datamaniacs.com) or public IP address, backup ports etc.
  4. The Storegrid™ client opens a TCP connection with the assigned Node on port 32004 (if SSL is disabled in the client) or 32007 (if SSL is enabled) and starts backing up.

Load Balancing Algorithms

The different load balancing algorithms and how they work are described below:

  1. Node Locked Algorithm
  2. Round Robin Algorithm (coming soon!)
  3. Load based Algorithm (coming soon!)

Only Node Locked Algorithm of load balancing is supported currently.

Node Locked

In Node Locked algorithm, a Client machine backs up to the node to which the client is ‘Node Locked’ by the administrator of the backup server cluster. If the client machine is not ‘Node Locked‘, then it backs up to the Node to which its parentGroup account is Node Locked.

The administrator can ‘Node Lock‘ a Group or a Client to a particular node in the cluster through ‘Cluster Management’ page in the backup server’s web console. However, if a Group is node locked to a different node, then all the Clients under that Group will backup to that node. Similarly if a Client is Node Locked, it will always backup to that node even if its parent Group is locked to a different node.

If neither the parent Group nor the Client is Node Locked, then the client will be automatically node locked to the first node (the backup server instance that was first added to the cluster) in the cluster, the second client will be automatically Node Locked to the second node and so on, in a Round Robin fashion. Thereafter, the client will always backup to that locked node.

Round Robin

Unlike in Node Locked, in Round Robin algorithm, the client machines can backup to any node in the cluster and is not locked to a node. The backup/restore requests from the clients are directed to the different nodes in Round-Robin fashion – first backup request is directed to the first node, second request to the second node and so on. This load balancing algorithm needs centralized backup data storage solution such as SAN, NAS or Amazon S3. It supports dynamically taking down and adding of nodes to the cluster on-the-fly. This algorithm will be supported in the future releases.

Load Based

This algorithm is very similar to Round Robin, but takes into account the current load in the nodes and assign the backup/restore request to the least loaded node. Like Robin Robin, Client is not locked on to a single server instance and this load balancing algorithm needs centralized storage solution such as SAN, NAS or Amazon S3. It supports dynamically taking down and adding of nodes to the cluster on-the-fly. This algorithm will be supported in the future releases.

Clustering requires a common RDBMS database that the cluster nodes share. For Round Robin and Load Load Based clustering, the backup storage should also be common to the nodes.