Do not attempt to restore backup files created from a different version of Workbench. To upgrade your version of Workbench, reference Upgrading Workbench.
The backup/restore script supports synchronizing your production cluster to a “hot” backup cluster at periodic intervals. This is commonly used for Disaster Recovery. To learn more about this process, please speak with our Integration Team.
Obtaining backup restore tools
Theae5-conda environment contains all the tools you need to backup and restore Workbench; for more information, see Administration server.
-
Download the environment installer file.
If you have previously installed the
ae5-condaenvironment, it is a good idea to update theae5_backup_restorepackage to the latest version before continuing. You can update the package by running the command: -
Install and activate the environment by running the following commands:
-
Verify your installation by running the following command:
If your terminal returns the usage help text, then your installation of the backup/restore script was successful! You are now ready to run the backup script.
Run the backup script
Run theae_backup.sh script to create backup files of your cluster in the current directory:
YYYYMMDDHHMM is the format for the timestamp of your backup data.The
ae5_config_db file stores your Kubernetes resources and Postgres data.The
ae5_data file stores your /opt/anaconda/storage data.The backup script does not back up the package repository.
Backup command line options
Restore from backup data
The restore script requires backup files to be created from the same output of the backup script. Do not attempt to load files that were created from different backups.
Restoration modes
The restore script has three different modes for data restoration that can be used to customize how Workbench is restored.Restoring to the original host
In this mode, all resources are restored from backup, except for the base ingress specification. This mode is used when a clean reinstall of an existing cluster has been performed and you want to perform a full restoration from backup. User workload will be restored (deployments, sessions, jobs), except they will be placed in a paused state. The script provides instructions on how to unpause user workload once the administrator is satisfied that the restoration has completed successfully.Restoring to a different host without a hostname change
In this mode, only some resources are restored, as described below. Restored data:- Kubernetes secrets (non-ssl)
- User/Project Data
- Postgres
- Hostname
- SSL certificates
- Configmaps
- Ingress
- Kubernetes resources for user workload
Restoring to a different host, but with a hostname change
This mode fully restores all resources, including the deployments and scheduled jobs. The ingress is also updated in this case to reflect the new hostname. This is used if you need to replace a faulty master node with a hot backup that was already running under a different hostname.Restoration command line options
Bring your own Kubernetes
Customer supplied Kubernetes clusters (non-gravity) can take advantage of this backup/restore script. However the backup/restore process will be slightly different. When taking a backup, you will need to supply the-c, --config-db command line argument, as the backup script will only be able to capture your Workbench configuration data. This will not capture user/project data, and you will need to ensure you are taking regular backups of your provided storage solution. This includes the Persistent Volume used for both anaconda-storage and anaconda-persistence that were configured at time of install.
When restoring from a backup, you will need to supply the -c, --config-only command line option, as the restore script will only be able to restore your Workbench configuration data. This will not restore user/project data, and you will need to ensure you have also restored a backup of your provided storage solution.