Back up and restore

In ArcGIS Enterprise on Kubernetes, you can back your organization and subsequently restore it to avoid data loss and downtime. In the event of a failure, you can restore the most recent backup to recover the organization to the point in time when the backup was created.

As an administrator, you must provide a persistent volume (PV) to store the backup files. When the organization is backed up, it will store the backup files to this PV. When you want to restore, it will use this PV to see which backups are available and you can choose any of the backup files that are stored in that backup store.

PVs can be supported by block storage devices, such as an EBS volume or Azure disk, or file storage, such as Azure Files on Microsoft Azure, Elastic File System on Amazon, or an NFS share provisioned within your organization.

If you are not developing a disaster recovery plan that uses geographic redundancy, the PVs can support either the Read-Write-Once or Read-Write-Many access modes. If you are restoring to a standby deployment, the PV must either support the Read-Write-Many (RWX) access mode or you must copy the backup files to the PV that supports the backup store in your standby deployment. Typically, RWX volumes are supported by network files shares such as Azure Files on Microsoft Azure, Elastic File Service on Amazon and traditional NFS shares on-premises. PVs that support RWX access mode will allow multiple systems to consume the content within the volumes without needing any special replication on your part.

Backup and restore operations can be performed either manually through the ArcGIS Enterprise Administrator API or automatically through a stand-alone script.

To determine how often you need to create backups, first identify the amount of data loss your organization can withstand in the event of a failure. For example, if your organization can withstand a day's worth of data loss, you'll need to back up the organization daily.

The amount of time it takes to create or restore a backup as well as the size of a backup depends on a variety of factors, such as the number of items in the organization, the number of web layers, the size of the associated data, and the specifics of where the backups are stored. Testing the restore process will give you an idea of how long the process will generally take and also allow you to practice your disaster recovery plan.

Backup configuration

Before you can create a backup of the organization, you need to configure a backup store for your system. During the configuration of the backup store, you need to specify the storage class, the access modes, and the optional labels associated with the PV. After the configuration, the backup store creates a new persistent volume claim (PVC) that binds to the PV. You can configure the storage classes to support RWX access mode to use the backups to create redundant deployments. The configuration only needs to be performed once.

You can initiate a new backup using ArcGIS Enterprise Administrator API. When a backup is created, the following data is stored in the system data stores:

  • Hosted geospatial data
  • Organizational items and content
  • Server configuration store
  • System configuration properties

In ArcGIS Enterprise on Kubernetes, each backup is time stamped and configured as a full backup of the organization. Data outside of the Kubernetes environment, such as in an enterprise geodatabase or elsewhere in your file system, is not backed up. Back up such data based on the recommendations of your database vendor or your organization's IT department.

It is recommended that you perform routine backups to prevent data loss. You must also create a backup before installing software updates or upgrading to a new release.

Before creating a backup, you must do the following:

  • Register the staging location
  • Register the backup store.

Register the staging location

Each individual component in the organization is initially backed up separately during the backup process. All the components are later moved to the backup store. Since the size of the staged files and folders may be large, a staging location must first be configured to ensure that there is enough storage space for them. The staging location uses a PV to temporarily store the backups before they are moved to the backup store.

Because the staging location is used for temporary data, it is recommended that you use a storage class or dynamically provisioned PVs.

To set the staging location storage information, complete the following steps:

  1. Sign in to ArcGIS Enterprise Administrator API as an administrator of your organization.
  2. Click System > Disaster Recovery > Settings.
  3. Click Update Settings.
  4. Enter the following JSON in the Settings text box:
    { 
        "stagingVolumeConfig": { 
    
            "provisioningType":"DYNAMIC", 
    
            "storageClass": "staging", 
    
             "size": "64Gi"		 
        } 
    }
    

The requested PV must contain enough storage space to store the staged data. It is recommended that you set the staging location to be at least double the size of the PV that was specified when creating your ArcGIS Enterprise organization. To get a sense of the storage space required, use ArcGIS Server Manager to determine the used and total storage space of the relational data store. The staging location is automatically mounted to the pod managing the backup operation. The staging location needs to be registered once.

Register a backup store

Once you've set the staging location, you can register a backup store. In ArcGIS Enterprise on Kubernetes, backups are stored in an ArcGIS backup store that is created and managed by ArcGIS Enterprise. Similar to the staging location, the backup store uses a PV to store the backups.

The reclaim policy for the preconfigured PV or storage class must be set to Retain. This ensures that the backups are not deleted when undeploying and redeploying ArcGIS Enterprise on Kubernetes.

To create a backup store, complete the following steps:

  1. Sign in to ArcGIS Enterprise Administrator API as an administrator of your organization.
  2. Click System > Disaster Recovery > Stores.
  3. Click Register.
  4. Set the following parameters to register the backup store:
    1. Store Name—Provide the name of the backup store.
    2. Credentials JSON—Leave this parameter blank.
    3. Root Directory—Leave this parameter blank.
    4. Storage Config JSON—Provide the storage configuration for the backup store.

      Use preconfigured PVs:

      {
          "provisioningType":"STATIC",
          "size": "64Gi",
          "labels": {
                  "key":"value"
          }
      }
      

      If the PV contains the "arcgis/purpose":"backups" label:

      {
          "provisioningType":"STATIC",
          "size": "64Gi",
          "labels": {
                  "arcgis/purpose":"backups"
          }
      }
      

      Use a storage class to dynamically provision the PV:

      {
          "provisioningType":"DYNAMIC",
          "storageClass": "backups",
          "size": "64Gi"
      }
      

When the backup store is registered, you can create backups. To conserve resources, the backup store pod only runs during the backup or restore process.

Consider the size of the backup store if your storage provider does not allow the expansion of PVs. If this is the case, evaluate the amount of data your organization will hold as well as the number of backups you'll create. If the original backup store runs out of storage space, delete the old backups or register a new backup store.

If your storage provider does support expansion of PVs, you can modify the configuration of the volume. Whether PVs can be resized is determined by the allowVolumeExpansion setting for the storage class. It must be set to true. Review the documentation specific to your environment for more information.

The next step is to create a backup.