Setting up clusters of servers
To configure a cluster of servers, set up a shared database and file system for the servers to use.
Before you begin
- Each server in the cluster must run the same version of Deploy.
About this task
To set up servers in a clustered configuration, you install servers on
separate systems and connect the servers to the same database and network storage. Several log and
configuration files are stored in the shared network storage, but each server also independently
maintains some configuration information, such as database and connection information. The database
stores other configuration information and runtime data, as well as other information. Because the
servers share the database, all servers run on the same interval.
Note: To create a second server in
an high-availability setup use the Deploy installer. An install which copies server install files to create a second server is not
supported.
Then, you configure a load balancer to distribute the traffic between the servers. Instead of accessing the servers directly, users access the load balancer URL. To the users, that URL appears to host a single instance of the server with high capacity; users are unaware of the multiple servers.
Note: Servers, agents, and agent relays communicate in several ways: via HTTP/HTTPS on the
default ports 8080 and 8443, and via WebSocket connects on the default port 7919. To set up the
cluster, you must configure the load balancer to distribute the HTTP/HTTPS traffic. In general, load
balancers work well with HTTP/HTTPS traffic because this traffic is stateless and works on a request
and response cycle.
Procedure
- Set up a shared database for the servers to use.
-
Set up network storage for the server configuration files.
Because each cluster server must access the same configuration files, each server must have access to this network storage.
- Configure online and offline backups for the servers.
-
Install a load balancer to send requests to the servers.
The load balancer must be able to forward requests to the HTTP and HTTPS ports for the servers. For more information, see the documentation for your load balancer.Important: You must configure the load balancer for session persistence, also known as session affinity.
-
If you have one or more servers already installed, populate the network storage with
configuration files for the servers:
-
If you terminate SSL at the server level, set the servers to use the same security
certificate.
For example, you can copy the certificate in the /opt/tomcat/conf/tomcat.keystore file to the other servers. Edit the tomcat.key.alias property in installed.properties file to specify the alias in the keystore that contains the certificate to use.
tomcat.key.alias=alias_of_your_certificate_in_tomcat_keystore
- Optional:
Configure the license server for high availability.
For information, see the Common Licensing documentation. Also, see High availability options for Rational License Key Server.
Results
Several server processes behave differently than with individual servers. See High-availability server processes.
What to do next
- Add servers to the cluster. See Adding servers to clusters.
- Set up cold standby servers to use for disaster recovery. See Adding cold standby servers.