Adding servers to clusters
You can add new servers to a cluster at installation time, or you can move existing servers to be part of a cluster.
Installing new cluster servers
The easiest way to add servers to a cluster is to install new servers. The installation program sets them up to be part of the cluster.
Before you begin
- Set up a cluster of servers, including setting up a load balancer, shared database, and network storage. See Setting up clusters of servers.
- Each server must run the same version of HCL DevOps Deploy (Deploy).
Procedure
-
On the system on which you are installing the new server, set up a connection to the
network storage.
For example, on Linux™ systems, you might mount a remote drive to the local file system.
-
Install the server as described in Installing the server in interactive mode with
the following details:
- When the installation program asks for database information, specify the shared database for the cluster.
- When the installation program asks for the host name for users to access, specify the host name of the load balancer.
- When the installation program asks whether the server is part of a high-availability cluster, specify yes.
- When the installation program asks for the location of the application data, specify the same folder on the network storage that the other cluster servers are using. If this is the first server in the cluster, you can specify any folder on the network storage. In this case, other servers that you add to the cluster must also use this folder.
-
Set the new server to use the same security certificate as the existing servers.
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 as follows:
tomcat.key.alias=alias_of_your_certificate_in_tomcat_keystore - Configure the load balancer to send HTTP/HTTPS traffic to the new cluster server.
Converting a standalone server to a clustered installation
Before you begin
- Set up a cluster of servers, including setting up a load balancer, shared database, and network storage. See Setting up clusters of servers.
- Each server must run the same version of HCL DevOps Deploy (Deploy).
Procedure
-
On the system that hosts the server, set up a connection to the network
storage.
For example, on Linux™ systems, you might mount a remote drive to the local file system.
- If the server contains elements that you want to keep, such as components, applications, or processes, export those elements and import them into an existing cluster server.
- Stop the server.
-
On the server, open the
devops-deploy/conf/server/installed.properties file and update
the following properties to reflect the new location of the application data (appdata)
folder:
- server.appdata.dir — The path to the appdata folder.
- encryption.keystore — The path to the encryption keystore file.
- server.keystore — The path to the server keystore file.
- derby.system.home (only if you use the Derby database) — The path to the Derby database home.
server.appdata.dir=../appdata encryption.keystore=../appdata/conf/encryption.keystore server.keystore=../appdata/conf/server.keystore derby.system.home=../appdata/var/dbNote:- By default, the
installed.propertiesfile uses relative paths (for example, ../appdata). If you relocate the application data folder to a non-standard location such as a network-attached storage (NAS) mount, use absolute paths instead of relative paths to ensure that the Deploy server can reliably resolve the file locations. - The operating system user account that runs the Deploy server
process must have full read and write access to the new
appdatadirectory and all of its contents, including theconfandvarsubdirectories. On Linux, you can verify permissions by running:ls -la /data/devops-deploy/appdata. You must ensure that the ownership and permissions match the user that runs the Deploy server service.
-
Add the following property to the
devops-deploy/conf/server/installed.properties file:
com.urbancode.ds.UDeployServer.multiserver=true - Copy the value of the encryption.keystore.alias property to the equivalent file on the new cluster server from a server that is already in the cluster.
- Update the database settings to use the same database as the other servers in the cluster.
-
Set the new server to use the same security certificate as the existing servers.
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 as follows:
tomcat.key.alias=alias_of_your_certificate_in_tomcat_keystore - Start the server.
- On the new cluster server, click , and set the External Agent URL and the External User URL to the URL for the load balancer.
- Click Save.