cassandra-medusa
cassandra-medusa copied to clipboard
Scylladb unable to restore to different cluster
Hello First of all, not sure if ScyllaDB is supported. If not, then I guess ignore this xD
Following this guide: https://thelastpickle.com/blog/2019/11/05/cassandra-medusa-backup-tool-is-open-source.html Section: "Case #2 - Restore To A Different Cluster With Same Number Of Nodes" Scylladb version = 4.1.2-0.20200715.3e6c6d5f582-1 cassandra-medusa version = 0.7.1 OS: ubuntu 18.04 minimal image from GCE Backups saving to a gcs bucket
Steps:
- create a 3-node ScyllaDB cluster, with 2 seeds
- create keyspace, insert data
- Install cassandra-medusa
- config
medusa.ini
(ssh, start/stop cmd, storage provider, config_file) - perform
medusa backup --backup-name=test1
on each node. All nodes backed up to the bucket (folders for each node and data present)medusa status --backup-name=test1
comes back green, all ok. - destroy cluster, create a new one, make sure is up, can connect, etc.
- Install cassandra-medusa, config, etc
- create node mapping file with "True/False, new node, old node"
- execute
medusa restore-cluster --backup-name=test1 --host-list node_map.txt
Medusa connects by SSH, stops scylladb, copies GS bucket data, cleans directories, restores, parses tokens, but at the moment to restart scylla (DEBUG: Starting Cassandra with /bin/systemctl start scylla-server
) it crashes
systemctl status scylla-server
shows this on both seeds:
[shard 0] init - Startup failed: std::runtime_error (Exception while populating keyspace 'system' with column famil
y 'compactions_in_progress' from file '/var/lib/scylla/data/system/compactions_in_progress-55080ab05d9c388690a4acb25fe1f77b': sstables::malformed_sstable_exception (invalid version for file
compactions_in_progress-55080ab05d9c388690a4acb25fe1f77b. Name doesn't match any known version.))
3rd node is not a seed so it was waiting for seeds to start first.
Already deleted/recreated cluster again, tried a couple of times, but same error comes up.
Please let me know if you need me to upload a log or a command output. Thanks!
p.d.
On first run I noticed you seem to require netcat but is not mentioned. It might be good to mak the error or requisite clear, since many containers, instances, etc are using reduced OSes which don't include it :)
I installed it across nodes to fix the error but doesn't seem related since scylla start error persists:
stderr:timeout: failed to run command ‘nc’: No such file or directory
┆Issue is synchronized with this Jira Story by Unito
ScyllaDB is a bit out of scope indeed. We are developing primarily for Apache Cassandra.
We already have a lot to do with Cassandra only :)... That being said, if you go for it and offer us Pull requests to make it compatible with Scylla (without breaking it for Cassandra of course), then I assume it's perfectly fine for us to merge your PRs to make medusa compatible with Scylla DB. If not, that's honestly not something I think we would do anytime soon...
Hi @Helmut-Onna : did you manage to fix issue with Scylla? Or decided to use different tool?
FYI, I just did a successful restore of a 2 node Scylladb cluster to 2 others nodes :)
- Scylladb 4.2
- Cassandra-medusa 0.10.0
- Debian 10
- Storage provider s3_compatible
no news about scylladb support? I saw another project here on github named scylla-octopus