Backup from cStor

Step 1: Backup from CStor Cluster

In the current setup, we have a CStor cluster serving as the source, with Cassandra running as a StatefulSet, utilizing CStor volumes.

kubectl get pods -n cassandra 
kubectl get pvc -n cassandra 
kubectl get cvc -n openebs 

Step 2: Velero Installation

To initiate Velero, execute the following command:

velero install --use-node-agent --provider gcp --plugins velero/velero-plugin-for-gcp:v1.6.0 --bucket velero-backup-datacore --secret-file ./credentials-velero --uploader-type restic

Verify the Velero namespace for Node Agent and Velero pods:

kubectl get pods -n velero

Step 3: Create a Sample Database

In this example, we create a new database with sample data in Cassandra, a distributed database.

The data is distributed across all replication instances.

Step 4: Taking Velero Backup

Cassandra is a distributed wide-column store database running in clusters called rings. Each node in a Cassandra ring stores some data ranges and replicates others for scaling and fault tolerance. To back up Cassandra, we must back up all three volumes and restore them at the destination.

Velero offers two approaches for discovering pod volumes to back up using File System Backup (FSB):

  • Opt-in Approach: Annotate every pod containing a volume to be backed up with the volume's name.

  • Opt-out Approach: Back up all pod volumes using FSB, with the option to exclude specific volumes.

Opt-in:

In this case, we opt-in all Cassandra pods and volumes for backup:

kubectl -n cassandra annotate pod/cassandra-0 backup.velero.io/backup-volumes=data
kubectl -n cassandra annotate pod/cassandra-1 backup.velero.io/backup-volumes=data
kubectl -n cassandra annotate pod/cassandra-2 backup.velero.io/backup-volumes=data

To perform the backup, run the following command:

velero backup create cassandra-backup-19-09-23 --include-namespaces cassandra --default-volumes-to-fs-backup --wait

Check the backup status, run the following command:

velero get backup | grep cassandra-backup-19-09-23

Last updated