Bringing together the Apache Cassandra experts from the community and DataStax.

Want to learn? Have a question? Want to share your expertise? You are in the right place!

Not sure where to begin? Getting Started

 

question

alwayslearning3456_191423 avatar image
alwayslearning3456_191423 asked ·

Why can't I restore snapshots manually copied from another cluster with OpsCenter?

I have 2 dc's DC1(same name) with 4 Nodes and DC2(same name) with 4 nodes, As a part of DR i have taken the backup of keyspaces using opscenter 6.7 i copied the backup file to the DC2 and tried to restore using Opscenter but the Opscenter is not recognizing the file which was placed in the backup path of DC2. How can i restore the keyspace in DC2 using the Opscenter .

please refer below for the detailed description.

1. 2 clusters in 2 differetn DC's (No connection between them ) like ClusterA in DC1 and ClusterB in DC2

2. By using the Opscenter, LocalFS backup is been chosen and i have specific /backup directory in all the four nodes where the backup files are being generated

3. yes as You said there are multiple files generated however the directory structure looks like below

backup/snapshots/e6662d8f-61a6-6cba-b6cc-bce90a07f6/opscenter_adhoc_2020-09-09-08-19-57-UTC/

it contains 2 files backup.json and schema.json

4. I am using restore backup service availble in the Opscenter

5. No 2 different Opscenters we are using and there is no connectivity between them

opscenterrestore
2 comments
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Hi @alwayslearning3456_191423,

I have a couple of questions about your problem description, perhaps you could update your original description.

Do you have two DCs in the same cluster, or two independent clusters?

When you take the backup of DC1, what backup location do you specify?

I am a bit confused by your reference to "the backup file", as typically an opscenter backup would create several files on each of the nodes, so I would like to double-check how you take the backup.

And when you say OpsCenter is not recognising the file, what process do you follow to restore from backup?

Lastly, are you using the same OpsCenter instance to monitor both clusters?

Thanks!

0 Likes 0 · ·
alwayslearning3456_191423 avatar image alwayslearning3456_191423 bettina.swynnerton ♦♦ ·

Hi Bettina,

I have updated the question with details requested, can you please let me know if u require any info

0 Likes 0 · ·

1 Answer

Erick Ramirez avatar image
Erick Ramirez answered ·

I think there's some misunderstanding here with some of the semantics with backups, restores and OpsCenter which I hope I can clarify.

Terminology

Here is how I understood details of the issue you are facing:

  • you have 2 clusters called DC1 (source) and DC2 (target)
  • you took backups of the source cluster using the OpsCenter Backup Service
  • you manually copied the snapshots to the target cluster
  • there's no network connectivity between the source and target clusters
  • the OpsCenter instance in the target cluster does not recognise the snapshots

For future reference, please don't refer to clusters as "DC1" and "DC2" because "data centres" have a different connotation in Cassandra. :)

Cause

There are several reasons why this isn't working for you.

INCORRECT OPERATION

I understand that you would like to "restore" data from one cluster to another using the OpsCenter Backup Service. But an OpsCenter Restore refers to restoring data from backups of the same cluster where both the source and destination are the same cluster.

Instead what you want is to copy data from one cluster to another -- in OpsCenter terms, this is known as Cloning cluster data. To be clear, "restore" and "cloning" are two distinct operations in the OpsCenter Backup Service.

MANAGED vs MANUAL

You mentioned that there is no connectivity between the 2 clusters. This implies that you have 2 separate OpsCenter instances running -- one that manages the cluster at DC1 and another at DC2.

For the OpsCenter Backup Service to recognise backups (snapshots), those snapshots need to be managed by the OpsCenter. When you manually copy the files, it means that they're not managed by OpsCenter so it doesn't know that the files/snapshots exist.

CONNECTIVITY

The OpsCenter instance and the agents in DC2 need to be able to access the snapshots in a storage location that is managed by OpsCenter which means it needs to be a defined OpsCenter backup location.

The snapshots need to be stored in a Local FS destination (mounted on a different drive/volume exclusively for use by OpsCenter only), Amazon S3 bucket, Azure Storage, or other S3-compatible storage.

Solution

Use the OpsCenter Backup Service cloning feature but you will need to be able to satisfy the requirements I've outlined above.

Otherwise, you will need to manually restore the snapshots yourself. For details, see Restoring a snapshot into a new cluster. Cheers!

1 comment Share
10 |1000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Hi All,


i have created the empty keyspaces with similar structure in the target cluster and performed restore the data using the opscenter restore backup checking sstable option it worked out.

0 Likes 0 · ·