This article explains how to set up High Availability (HA) for your ThoughtSpot cluster using the AWS Elastic File System (EFS)

Configure high availabiity

To set up High Availability (HA) for your ThoughtSpot cluster using the AWS Elastic File System (EFS), follow these steps:

  1. Create an EFS File System that spans across different availability zones, and across different subnets.

  2. Create two ThoughtSpot clusters in each availability zone and in the subnets, where the file system was created.

  3. Change the IP addresses of the cluster, if necessary.

  4. Create an EFS directory in the `/home/admin` path, and issue the following command to mount the previously created file system.

    Modify the fields as necessary for your installation.

    sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,
                         noresvport fs-f756f1ee.efs.us-west-1.amazonaws.com:/ /home/admin/efs/
    

    To ensure that all clusters with EFS mount points have read and write permissions, modify permissions:

    chmod 777 /home/admin/efs
    
  5. On the first cluster, create a snapshot on to the EFS mount point, and backup it.

    tscli snapshot create EfsTest HA 2
    tscli backup create --mode full --type full
                        --storage_type local EfsTest /home/admin/efs/Efs-backup
    
  6. Ensure that the backup is successful, and that it can be accessed from all clusters where EFS is mounted.

  7. Take down the first cluster instances.

  8. On the second cluster, delete the existing cluster, and create a new one by restoring from the first cluster backup. This is accessible from the EFS mount point.

    tscli cluster restore /home/admin/EFS/Efs-backup
    

Your cluster should now be successfully restored to the second cluster from the backup on the EFS, achieving HA for ThoughtSpot clusters.

Replace a cluster

For information on how to recover from infrastructure failure scenarios, see: Cluster replacement.