Backup and Restore
This topic describes the backup and restore capabilities available in Paragon Automation. Although Paragon Automation is a GUI-based application, the backup and restore operations are managed from the Paragon Insights cMGD CLI. Postgres is the primary persistent storage database for microservices. Backup files are saved in a local persistent volume on the cluster nodes. The backup procedure can be performed while microservices are running and does not affect the operation of the cluster. However, for restore procedures, microservices are stopped and the cluster is not functional until the databases are restored.
Currently, you cannot schedule a backup or restore procedure. Also, you cannot select applications to be backed up and restored. You can back up and restore only a preconfigured and fixed set of applications for each component.
You use containerized scripts invoked through Kubernetes jobs to implement the backup and restore procedures.

Back Up the Configuration
Data across most Paragon Automation applications is primarily stored in Postgres. When you back up a configuration, system-determined and predefined data is backed up. When you perform a backup, the operational system and microservices are not affected. You can continue to use Paragon Automation while a backup is running. You'll use the management daemon (MGD) CLI, managed by Paragon Insights (formerly Healthbot), to perform the backup.
To back up the current Paragon Automation configuration:
Frequently Used kubectl Commands to View Backup Details
To view the status of your backup or the location of your backup files, or to view more information on the backup files, use the following commands.
Backup jobs exist in the common namespace and use the
common=db-backup
label. To view all backup jobs:root@primary-node:~# kubectl get -n common jobs -l common=db-backup NAME COMPLETIONS DURATION AGE db-backup-hello-world 1/1 3m11s 2d20h
To view more details of a specific Kubernetes job:
root@primary-node:~# kubectl describe -n common jobs/db-backup-hello-world
To view the logs of a specific Kubernetes job:
root@primary-node:~# kubectl logs -n common --tail 50 jobs/db-backup-hello-world
To determine the location of the backup files:
root@primary-node:~# kubectl get -n common pvc db-backup-pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE db-backup-pvc Bound local-pv-cb20f386 145Gi RWO local-storage 3d3h
The output points you to the local persistent volume. Use that persistent volume to determine the node on which the backup files are stored.
root@primary-node:~# kubectl describe -n common pv local-pv-cb20f386 Node Affinity: Required Terms: Term 0: kubernetes.io/hostname in [10.49.xxx.x2] Message: Source: Type: LocalVolume (a persistent volume backed by local storage on a node) Path: /export/local-volumes/pv*
To view all the backup files, log in to the node and navigate to the location of the backup folder.
root@primary-node:~# ssh root@10.49.xxx.x2 root@10.49.xxx.x2:~# ls -l /export/local-volumes/pv*
To view commonly seen backup and restore failure scenarios, see Common Backup and Restore Issues.
Restore the Configuration
You can restore a Paragon Automation configuration from a previously backed-up configuration folder. A restore operation rewrites the databases with all the backed-up configuration information. You cannot selectively restore databases. When you perform a restore operation, a Kubernetes job is spawned, which stops the affected microservices. The job restores the backed-up configuration and restarts the microservices. Paragon Automation remains nonfunctional until the restoration procedure is complete.
You cannot run multiple restore jobs at the same time because the Kubernetes job stops the microservices during the restoration process. Also, you cannot run both backup and restore processes concurrently.
We strongly recommend that you restore a configuration during a maintenance window, otherwise the system can go into an inconsistent state.
To restore the Paragon Automation configuration to a previously backed-up configuration:
Frequently Used kubectl Commands to View Restore Details
To view more information and the status of your restore process, use the following commands:
Restore jobs exist in the common namespace and use the
common=db-restore
label. To view all restore jobs:root@primary-node:~# kubectl get -n common jobs -l common=db-restore NAME COMPLETIONS DURATION AGE db-restore-hello-world 0/1 20s 21s
To view more details of a specific Kubernetes job:
root@primary-node:~# kubectl describe -n common jobs/db-restore-hello-world
To view the logs of a particular Kubernetes job:
root@primary-node:~# kubectl logs -n common --tail 50 jobs/db-restore-hello-world
To view commonly seen backup and restore failure scenarios, see Common Backup and Restore Issues.