Installing RPD in a high-availability cluster


Use this section to set up BMC Release Package and Deployment (BRPD or RPD) in a high-availability (HA) cluster environment. 

Important

In this section, HAProxy is used as a load balancing server and RPD is installed and configured on an RHEL 7 operating system. You can choose to use any other load balancer server.

High-availability deployment architecture

In a high-availability environment, a load balancer server distributes the heavy incoming requests traffic across multiple servers or nodes in a server cluster. 

The following figure shows an HA environment deployment by using a load balancer server, RPD servers, and a central database. 

RPD HA.png

Before you begin

Before starting with installing the product in a high-availability cluster, ensure that you consider the following prerequisites:

  • In an HA environment, use a central database for all RPD nodes.
  • Install or upgrade the central database only one time during the first node installation.
  • Before you begin the cluster configuration, ensure that the load balancer server and all nodes are accessible and located in the same common network.
  • After you configure nodes, use the URL and port of a load balancer to access RPD application UI.


To install the first node in a high-availability cluster environment

Before installing the first node in a high-availability cluster, ensure that the following prerequisite tasks are complete:

Click here to see the prerequisites for installing the first RPD node
  • Download and unzip the RPD ZIP files in the preferred location.
  • Ensure that you have prepared the installation environment, and verify that your environment meets the requirements listed in System requirements.
  • Ensure that you have superuser privileges. You can install the product as a normal user without superuser privileges, but then you cannot register the product as a service. 
    For more information on how to register and start/stop services for the non-root installation, refer to the RLMhome/README_special_config.txt file.
  • Ensure that there is no Ruby Version Manager (RVM) environment in the installation path.
  • If your Linux environment has the DISPLAY variable set to export the display from a remote system, ensure that the remote system has the X Windows Server installed and configured.

To install the first RPD node in a high-availability cluster

  1. Perform the steps described in the Fresh-installation topic to install the first node in the cluster.
  2. While installing RPD, if you want to use the default database, ensure that you select the PostgreSQL bundled with the installer.
    If you are using any other database, you can choose to skip installing the PostgreSQL server database. 

    BMC recommends that you do not install the database on the load balancer server.

  3. Install the product by following the steps in the installation wizard. 
    After the installation is complete, verify that the installation is successful.  

    If upgrading the RPD environment, ensure that you perform database changes only while upgrading RPD on the first node. For additional nodes, skip the database modifications.

Back to top

To install additional nodes in a cluster

Use the steps described in this section to install more than one instance of RPD servers in a cluster. The load balancer server acts as a front-end for accessing and navigating the RPD UI. You can choose to install new nodes or clone existing nodes to create a cluster. 

While installing the additional nodes, ensure that a central database is installed and running. You need the database details (such as the hostname, username, and password) while configuring additional nodes in the cluster.

  1. Perform the steps described in the Fresh-installation topic to install the first node in the cluster.
  2. In the RPD installer, do not select Install PostgreSQL 9.5.04 option since a central database is already installed when you installed the first RPD node.
    unselect postgresql.PNG
  1. On the data migration screen, under Cluster Installation, select the Skip database modification check box.
    You use the Skip database modification option if you already have installed the same version of the application and database on another node of the same cluster.

    Skip database selected.PNG
  1. On the Database Details screen, select the database installed in your environment and specify the configuration details such as the host name, port, RPD Database/Service name, username, and password. 
    DB details.PNG
  2. Install the product by following the steps in the installation wizard. 
    After the installation is complete, verify that the installation is successful.

Back to top

To install the load balancer server

In this section, RHEL HAProxy is used as a load balancer server. For more information about installing and downloading HAProxy, see Install and configure HAProxy in the RHEL documentation. 

Back to top

To configure the load balancer server to connect with the RPD nodes

After your load balancer server is installed successfully, you now need to configure the load balancer to connect with the multiple RPD nodes in the cluster. 

For a secure communication, ensure that you use a CA approved secure certificate, which is installed on the load balancer server. In this section, RHEL HAProxy is used as a load balancer server. 

  1. On the HAProxy server, make changes to the /etc/haproxy/haproxy.cfg file.
  2. If using HTTPS, generate keys for SSL. If you do not have a certificate, you may use a self-signed certificate and put the certificate and key into a PEM file.
  3. In the haproxy.cfg file, specify the following details in the frontend http_frontend section.

    frontend http_frontend
       bind *:80
      mode http
       redirect scheme https code 301

    In this file, redirect scheme HTTPS specifies to redirect the request to HTTPS as described in the following example. 

    frontend https_frontend
        bind *:443 ssl crt /etc/ssl/private/example.com.pem
       mode http
       option httpclose
       option forwardfor
        reqadd X-Forwarded-Proto:\ https
        default_backend rgw
  4. To connect the RPD servers to the HAProxy server, specify the node details in the backend section in the haproxy.cfg file.
    The following figure shows an example of the configuration file. 

    backend rgw
        balance roundrobin
        cookie SERVERID insert indirect nocache
        server  rgw1 vl-pun-rpd-01:80 check cookie s1
        server  rgw2 vl-pun-rpd-02:80 check cookie s2
        server  rgw3 vl-pun-rpd-03:80 check cookie s3

    In this file:

    1. balance roundrobin specifies that the round robin algorithm is used. 
    2. cookie SERVERID insert indirect nocache is used for configuring sticky sessions, which ensures that a user is not logged out of a session during the load balancing activity.
    3. cookie s1, s2, s3 specifies that sticky sessions be used for each node.
    4. server contains the server hostname:port details for each node in the RPD cluster.
  5. Save changes and start or enable the HAProxy server.

    Note

    After you configure nodes, use the URL and port of a load balancer to access RPD console. For example, if your RPD URL is http://<hostname>:<port>/<webServerPath>, use the load balancer server hostname and port to access the RPD console.

Back to top

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*