Installing UFM on Docker Container - High Availability Mode

  • Install pacemaker, pcs, and drbd-utils on both servers

  • A partition for DRBD on each server (with the same name on both servers) such as /dev/sdd1. Recommended partition size is 10-20 GB, otherwise DRBD sync will take a long time to complete.

  • CLI command hostname -i must return the IP address of the management interface used for pacemaker sync correctly (update /etc/hosts/ file with machine IP)

  • Create the directory on each server under /opt/ufm/files/ with read/write permissions on each server. This directory will be used by UFM to mount UFM files, and it will be synced by DRBD.

On the main server, install UFM Enterprise container with the command below:

Copy
Copied!
            

docker run -it --name=ufm_installer --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/systemd/system/:/etc/systemd_files/ \ -v /opt/ufm/files/:/installation/ufm_files/ \ -v /tmp/license_file/:/installation/ufm_licenses/ \ mellanox/ufm-enterprise:latest \ --install

On the standby (secondary) server, install the UFM Enterprise container like the following example with the command below:

Copy
Copied!
            

docker run -it --name=ufm_installer --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/systemd/system/:/etc/systemd_files/ \ -v /opt/ufm/files/:/installation/ufm_files/ \ mellanox/ufm-enterprise:latest \ --install

Download the UFM-HA package on both servers using the following command:

Copy
Copied!
            

wget https://www.mellanox.com/downloads/UFM/ufm_ha_5.1.1-6.tgz

For more information on the UFM-HA package and all installation and configuration options, please refer to UFM High Availability User Guide.

  1. [On Both Servers] Extract the downloaded UFM-HA package under /tmp/

  2. [On Both Servers] Go to the extracted directory /tmp/ufm_ha_XXX and run the installation script. For example, if your DRBD partition is /dev/sda5 run the following command:

    Copy
    Copied!
                

    ./install.sh -l /opt/ufm/files/ -d /dev/sda5 -p enterprise

There are the three methods to configure the HA cluster:

Configure HA with SSH Trust (Dual Link Configuration)

  1. On the master server only, configure the HA nodes. To do so, from /tmp, run the configure_ha_nodes.sh command as shown in the below example

    Copy
    Copied!
                

    configure_ha_nodes.sh \ --cluster-password 12345678 \ --master-primary-ip 10.10.50.1 \ --standby-primary-ip 10.10.50.2 \ --master-secondary-ip 192.168.10.1 \ --standby-secondary-ip 192.168.10.2 \ --no-vip

    Warning

    The script configure_ha_nodes.sh is is located under /usr/local/bin/, therefore, by default, you do not need to use the full path to run it.

    Warning

    The --cluster-password must be at least 8 characters long.

    Warning

    When using back-to-back ports with local IP addresses for HA sync interfaces, ensure that you add your IP addresses and hostnames to the /etc/hosts file. This is needed to allow the HA configuration to resolve hostnames correctly based on the IP addresses you are using.

    Warning

    configure_ha_nodes.sh requires SSH connection to the standby server. If SSH trust is not configured, then you are prompted to enter the SSH password of the standby server during configuration runtime

  2. Depending on the size of your partition, wait for the configuration process to complete and DRBD sync to finish. To check the DRBD sync status, run:

    Copy
    Copied!
                

    ufm_ha_cluster status

Configure HA without SSH Trust (Dual Link Configuration)

If you cannot establish an SSH trust between your HA servers, you can use ufm_ha_cluster directly to configure HA. You can see all the options for configuring HA in the Help menu:

Copy
Copied!
            

ufm_ha_cluster config -h

To configure HA, follow the below instructions:

Warning

Please change the variables in the commands below based on your setup.

  1. [On Standby Server] Run the following command to configure Standby Server:

    Copy
    Copied!
                

    ufm_ha_cluster config -r standby -e <peer ip address> -l <local ip address> -p <cluster_password>

  2. [On Master Server] Run the following command to configure Master Server:

    Copy
    Copied!
                

    ufm_ha_cluster config -r master -e <peer ip address> -l <local ip address> -p <cluster_password> -i <virtual ip address>

Configure HA without SSH Trust (Single Link Configuration)

Important

This is not the recommended configuration and, in case of network failure, it might cause HA cluster split brain.

If you cannot establish an SSH trust between your HA servers, you can use ufm_ha_cluster directly to configure HA. To configure HA, follow the below instructions:

Warning

Please change the variables in the commands below based on your setup.

    1. [On Standby Server] Run the following command to configure Standby Server:

      Copy
      Copied!
                  

      ufm_ha_cluster config \ -r standby \ -e 10.212.145.5 \ -l 10.212.145.6 \ --enable-single-link

    2. [On Master Server] Run the following command to configure Master Server:

      Copy
      Copied!
                  

      ufm_ha_cluster config -r master \ -e 10.212.145.6 \ -l 10.212.145.5 \ -i 10.212.145.50 \ --enable-single-link

      You must wait until after configuration for DRBD sync to finish, depending on the size of your partition. To check the DRBD sync status, run:

      Copy
      Copied!
                  

      ufm_ha_cluster status

Starting HA Cluster

  • To start UFM HA cluster:

    Copy
    Copied!
                

     ufm_ha_cluster start 

  • To check UFM HA cluster status:

    Copy
    Copied!
                

    ufm_ha_cluster status 

  • To stop UFM HA cluster:

    Copy
    Copied!
                

    ufm_ha_cluster stop 

  • To uninstall UFM HA, first stop the cluster and then run the uninstallation command as follows:

    Copy
    Copied!
                

    /opt/ufm/ufm_ha/uninstall_ha.sh

© Copyright 2023, NVIDIA. Last updated on Sep 4, 2023.