In addition to data-persistence functionality, Redis Enterprise provides out-of-the-box support for backup and restore services.
Redis Enterprise allows you to backup a snapshot of your database (across all shards) to one of the major public cloud storage solutions (Amazon S3, Azure Blob Storage, or Google Cloud Storage) as well as FTP or Swift services. Before executing the snapshot, Redis Enterprise confirms that there are no outstanding requests in the cluster, thus ensuring consistency. This figure illustrates the backup process:
The restore process is useful in the following cases:
Cluster recovery is an independent tool that launches a Redis Enterprise cluster from scratch when the cluster reaches an irrecoverable state—when a majority of the cluster nodes are down, for instance. When deploying Redis Enterprise on Kubernetes, this tool is included in Redis Enterprise Operator, and therefore will be triggered automatically. If you use Redis Enterprise as a fully managed service in the cloud (hosted or in your virtual private cloud), the cluster recovery process is executed automatically and governed by our DevOps team.
If you deploy on a Redis Enterprise cluster using Redis Enterprise software, you control the recovery process.
While it’s rare to encounter an irrecoverable cluster state, especially for clusters deployed across multiple availability zones, in order to avoid downtime in these situations we recommend that you use Active-Passive or Active-Active Geo-Distribution deployment.
The cluster recovery process is based on the information written in the Common Cluster Storage (CCS) file—which is constantly backed up during the operation of the cluster—and includes the following steps: