How do I back up the NSP cluster databases?

Purpose

Perform this procedure to manually create a backup of one or more of the following in an NSP cluster:

  • Kubernetes etcd data

  • NSP Kubernetes secrets

  • NSP file service data

  • Neo4j

  • PostgreSQL

  • nspos-solr

  • nsp-tomcat

  • nrcx-tomcat

  • OpenSearch

Note: release-ID in a file path has the following format:

R.r.p-rel.version

where

R.r.p is the NSP release, in the form MAJOR.minor.patch

version is a numeric value

Steps
 

Open a terminal session to the NSP deployer VM.


Log in as the root or NSP admin user.


If a common backup storage location is defined in the NSP configuration, go to Step 7.


Open the following file with a plain-text editor such as vi:

/opt/nsp/NSP-CN-DEP-release-ID/NSP-CN-release-ID/config/nsp-config.yml


Configure the backups to be stored on an NFS server.

  1. Locate the section that begins with the following:

      backups:

  2. Configure the following parameters in the following subsection:

            nfs:

              server: "server"

              path: "path"

    where

    server is the NFS server IP address

    path is the path of the exported file system on the server


Enter the following command to apply the nsp-config.yml changes to the cluster:

Note: If the NSP cluster VMs do not have the required SSH key, you must include the --ask-pass argument in the nspdeployerctl command, as shown in the following example, and are subsequently prompted for the root password of each cluster member:

nspdeployerctl --ask-pass install --config --deploy

/opt/nsp/NSP-CN-DEP-release-ID/bin/nspdeployerctl install --config --deploy ↵

Note: If the kubeconfig files in /opt/nsp/nsp-configurator/kubeconfig on the NSP deployer host contain an expired certificate, enter the following command to resynchronize the kubeconfig files from the NSP cluster; see How do I update nsp_kubeconfig on the NSP deployer host?.

./nspk8sctl update --kubeconfig ↵


Enter the following:

cd /opt/nsp/NSP-CN-DEP-release-ID/NSP-CN-release-ID/tools/database ↵


Enter one or more of the following, as required, to back up system data and databases:

Note: It is recommended that you back up all system data and databases.

You must not proceed to the next step until each backup job is complete.

The system performs the backup of the index detail and user-related configured data in OpenSearch, such as dashboard, saved OpenSearch filters, visualise and other data configured by the user. The backup of the logs is available through the logCollector tool.

  1. To back up the NSP Kubernetes etcd data:

    ./nspos-db-backup-k8s.sh nsp-etcd backup_dir

  2. To back up the NSP file service data:

    ./nspos-db-backup-k8s.sh nsp-file-service backup_dir

  3. To back up the NSP Neo4j database:

    ./nspos-db-backup-k8s.sh nspos-neo4j backup_dir

  4. To back up the NSP PostgreSQL database:

    ./nspos-db-backup-k8s.sh nspos-postgresql backup_dir

  5. To back up the NSP Solr database:

    ./nspos-db-backup-k8s.sh nspos-solr backup_dir

  6. To back up the NSP Tomcat database:

    ./nspos-db-backup-k8s.sh nsp-tomcat backup_dir

  7. To back up the cross-domain Tomcat database:

    ./nspos-db-backup-k8s.sh nrcx-tomcat backup_dir

  8. To back up the OpenSearch database:

    ./nspos-db-backup-k8s.sh opensearch backup_dir

where backup_dir is the directory in which to store the backup

The backup script displays messages like the following as a backup job proceeds:

---------------- BEGIN : Backing up database-backup ----------------

job.batch/backup_job created

timestamp LOG: Waiting for job backup_job at namespace namespace to finish...

timestamp LOG: backup done successfully

timestamp LOG: Removing job backup_job at namespace namespace

job.batch "backup_job" deleted

timestamp LOG: Job backup_job at namespace namespace deleted

----------------- END : Backing up database_backup -----------------

----------------- BEGIN : Fetching backup database -----------------

timestamp LOG: Fetching database backup from pod nsp-backup-storage-0 at namespace namespace

timestamp LOG: Latest database backup is database_backup_timestamp.tar.gz

tar: removing leading '/' from member names

timestamp LOG: Latest database backup fetched successfully

----------------- END : Fetching backup database -------------------

A backup filename has the following format:

database_backup_timestamp.tar.gz

where

database is the database name, for example, nspos-neo4j

timestamp is the start time of the database backup

Note: This step applies only starting with Release 25.8. The OpenSearch database is excluded from the backup operation if the system has been upgraded from a release earlier than Release 25.8.


Safeguard backup files
 

Transfer the files in backup_dir to a secure location for safekeeping.

Note: It is strongly recommended that you transfer each backup file to a secure facility that is outside the local data center.


10 

Close the console window.

End of steps