Back Up Routing Director Configuration
This topic describes the backup functionality available for Routing Director.
You can use the backup functionality available in Paragon Shell to back up your Routing Director cluster and application configuration data.
Back Up Using Paragon Shell
You can back up your current Routing Director network configuration using Paragon Shell CLI. When you run the backup command, all the application configuration information stored in PostgreSQL, ArangoDB, and Airflow configuration database systems, LLM connector secrets keys, and available software images are backed up. The backup command also backs up telemetry information stored in OpenSearch, TimescaleDB, and VictoriaMetrics database systems. The backup procedure can be performed while the microservices and applications are running and does not affect the operation of the network. However, we recommend that you do not perform a backup during configuration changes such as device onboarding.
To back up your Routing Director configuration state.
Upon completion of the backup process, the backup folder is stored in the local persistent /export/paragon-shell/backup folder on the node. You'll have to exit out of Paragon Shell to the Linux root shell to navigate to the folder where the backups are saved.
Each backup folder contains the following folders with backup-related information.
-
airflow—Backup of airflow secrets and DAGs
-
arango—Backup of ArangoDB database
-
ask_paragon—Configured LLM connector secrets (in encrypted format)
-
postgres—Backup of PostgresDB database
-
software_images—Backup of available devices images
-
system_config—Backup of system configuration; this is for reference only
Telemetry data backups are stored in the nodes where the database pods are running.
Caveats of the Backup Process
-
When you back up a cluster and restore it, use the same VIP addresses as the cluster that was backed up. If the restored cluster uses a new set of VIP addresses, you must change the VIP addresses configured on the devices being managed by the Routing Director cluster.
-
Application configurations (such as devices, sites, service orders, and so on) are backed up, but certificates and infrastructure services configurations are not backed up. This information must be kept unchanged before you perform a restore.
-
The backup process captures the current infrastructure configurations, but information is used for reference only. The same configuration can be used to instantiate a new setup.
For example, if monitoring was enabled on the cluster before performing a backup. The configuration related to monitoring is stored in the /export/paragon-shell/backup/backupID/system_config/config.cmgd file. Post-restore, use the information in the monitoring section of the config.cmgd file to reconfigure the monitoring commands on the new setup.
-
Telemetry backups are not version controlled, that is, only the latest copy of a backup is available at any given point of time. A new backup command will overwrite the existing telemetry backup with the delta of the data from the last backup.
To maintain multiple and periodic copies of telemetry data, you can upload the telemetry backup to a remote location. To upload a backup to a remote location, use the following command.
root@Primary1> request paragon backup upload backup-id backupID storage-location remote-path user username password passwordYou can re-upload the data to the same remote location folder every time you choose to back up telemetry data to maintain incremental copies.
View or Delete Backup Files
To view a list of all backup folders across all nodes, use the following command:
root@Primary1> show paragon
backupThe node connects to all the other nodes in the Routing Director cluster using SSH and displays a list of all backup folder names along with the IP address of the node on which the folder is located. This command displays all successfully completed backup jobs and folders, but does not display if a backup job is currently in-progess.
To view a list of backup folders along with a list of failed or in-progress backup jobs, use the following command:
root@Primary1> show paragon backup
include-failure trueTo list the available backups from a remote location use the following command.
root@Primary1> show paragon
backup remote storage-location remote-path user
username password
passwordUse this command to determine the backup that you want to download from the remote location. You can view the backup directories only in the folder that you have specified in the path and not all the backups available in other folders on the remote server. You cannot delete a backup in a remote location since you don't have the necessary permissions to manage the remote server.
To delete a backup folder, use the following command.
root@Primary1> request paragon backup delete backup-id
backupIDYou can delete a backup folder that is located only on the node on which you execute the command.
Upload or Download Backup Files
root@Primary1>
request paragon backup upload backup-id
backupID storage-location
scp://IP:port/remote-path user
username password
password
To view progress of the backup folder upload command, use the following command:
root@Primary1> show paragon backup upload status backup-id
backupID
root@Primary1>
request paragon backup download backup-id
backupID storage-location
scp://IP:port/remote-path user
username password
password
The
backup download command checks the space available on the
local filesystem before proceeding with the download. If the available disk
space is insufficient, the download job aborts.
To view progress of the backup folder download command, use the following command:
root@Primary1> show paragon backup upload status
backup-id backupID
Schedule Backups
Schedule periodic backups and store the backed up data locally or upload your backed-up data to a remote location outside the Routing Director cluster. You can configure only one backup schedule on a cluster. Additionally, you can also delete scheduled backups.
Backup scheduling job logs are stored at /export/paragon-shell/backup/schedule_job.log on the node on which the scheduling backup command is executed.
Backups can be scheduled for the following time periods:
-
Hourly
-
Daily
-
Weekly
-
A specific time of the day or day of the week
-
A specific but regular monthly schedule
-
A combination of all these
When a backup is scheduled, a cron job performs the backup as per the configured schedule.
To upload your backup folder to a remote location, use the following command:
root@Primary1>request paragon backup schedule trigger-time
schedule node nodeIP
storage-location scp |
sftp://IP:port/remote-path
user username password password node
nodeIP type (full | config | telemetry
)
Where:
-
trigger-time— (Mandatory) The cron expression of the backup schedule. The schedule must be entered in the following format:
*
*
*
*
*
Minute
(0 - 59)
Hour
(0 - 23)
Day of the month
(1 - 31)
Month
(1 - 12)
Day of the week
(0 - 6, where 0 is Sunday)
For example:
Trigger Time Backup Schedule 0 * * * *
Hourly
We recommend that you do not schedule hourly backups
0 0 * * *
12 00 AM daily
0 0 * * 6
12 00 AM on Saturdays
0 0 1 * *
12 00 AM, on day 1 of each month
0 0 1 */2 *
12 00 AM , on day 1 of the month, every alternate month
Alternatively, if you skip this expression while entering the command, you will be prompted to enter the schedule.
-
node —(Optional) Enter the hostname of the node on which you want to execute the backup scheduling command and store the backup job logs. Use the
kubectl get nodescommand on the Linux root shell to determine the correct hostname. This node also serves as the storage location on which the backup folder is saved if not uploaded to a remote location. If no node is specified, then the backup is scheduled from and the backup job logs are stored on the current node. -
storage-location—(Optional) Location of the remote storage server. You can use scp or sftp to transfer the files to the remote server. If you do not enter this option, the backup files are stored on the cluster node you specify, by default.
-
user—(Optional) The username with which you can log in to the remote storage location. If you have specified a storage location, this option is mandatory.
-
password—(Optional) The password with which you can log in to the remote storage location. If you have specified a storage location, this option is mandatory.
-
type—(Optional) The type of backup that must be taken. You can specify full, telemetry, or config. If you do not specify any option, then a full backup is scheduled, by default.
For example:
root@Primary1> request paragon backup schedule storage-location scp://10.1.2.3/tmp/backup Provide backup scheduling time How often should the backup run? 1) Hourly 2) Daily 3) Weekly 4) Monthly 5) Custom Select an option (1-5): 5 Minute (0-59) [0]: Hour (0-23) [0]: Day of month (1-31) [*]: 1 Month (1-12) [*]: */3 Day of week (0-6) [*]: Trig Time 0 0 1 */3 * Storage User: root Storage Password: Backup scheduled : At 12:00 AM, on day 1 of the month, every 3 months
Caveat of scheduling backups
-
If both day of month and day of week are defined then the schedule will trigger a backup if any one of the conditions match.
View, Edit, or Delete Backup Schedules
To view if a backup schedule is configured, use the following command:
root@Primary1> show paragon backup
scheduleTo edit a backup schedule, rerun the request
paragon backup schedule command. The new information will
overwrite any pre-configured
schedule.
root@Primary1>request paragon backup schedule
trigger-time schedule node nodeIP
storage-location scp |
sftp://IP:port/remote-path
user username password password
node nodeIP type (full | config | telemetry
)
To delete a scheduled backup, use the following command:
root@Primary1> request paragon backup
delete scheduleTo view any scheduled but in-progress backup jobs, or failed backup jobs, use the following command:
root@Primary1> show paragon backup
include-failure true
In case of any failure while performing a scheduled backup, Routing Director will retry the backup process three times before aborting the backup attempts. In such cases, you may see three failed backup attempts in the backup jobs list.