Volume Restore from Snapshot
Volume restore from an existing snapshot will create an exact replica of a storage volume captured at a specific point in time. They serve as an essential tool for data protection, recovery, and efficient management in Kubernetes environments. This article provides a step-by-step guide on how to create a volume restore.
info
A volume snapshot transcends into taking snapshots on each of the volume's replicas for consistency. For instance, a snapshot on a source volume with three replicas (repl=3) results in snapshot-ting all three replicas of the source volume. Similarly, the replica count of the new volume must be less than or equal to the available replica snapshot count of the corresponding source volume when a restore is initiated, or a new volume is provisioned by specifying the source volume's snapshot as the source.
- Do the following command to find the number of available replicas of a volume:
Command
Output
- Do the following command to check the replica snapshot information for volume snapshots:
Command
Output
#
Prerequisites#
Step 1: Create a StorageClassTo begin, you will need to create a StorageClass that defines the properties of the snapshot to be restored. Refer to StorageClass Parameters for more details. Use the following command to create the StorageClass:
info
Currently, restores are thin-provisioned volumes created from a snapshot, Therefore, the storage class for the restored volume must also specify thin: "true"
.
Command
YAML
note
The name of the StorageClass, which, in the example above, is mayastor-3-restore.
#
Step 2: Create a SnapshotYou need to create a volume snapshot before proceeding with the restore. Follow the steps outlined in this guide to create a volume snapshot.
note
The snapshot's name, for example, mayastor-pvc-snap.
#
Create a Volume Restore of the Existing SnapshotAfter creating a snapshot, you can create a PersistentVolumeClaim (PVC) from it to generate the volume restore. Use the following command:
Command
YAML
By running this command, you create a new PVC named restore-pvc
based on the specified snapshot. The restored volume will have the same data and configuration as the original volume had at the time of the snapshot.