Scylla旧版本备份跨版本恢复咨询:1.6备份能否恢复至2.0/2.1?
Great questions around Scylla backup recovery and version jumps—let's break this down clearly:
Can a Scylla 1.6 backup be safely restored to version 2.0 or 2.1?
Absolutely, but with a few key caveats to ensure safety:
- First, confirm your backup was created using official Scylla tools like
nodetool snapshotorscylla-backup. These generate valid SSTable files, which are forward-compatible—Scylla 2.0/2.1 can read and process 1.6-era SSTables without issue. - Before restoring, make sure your target cluster’s architecture (node count, consistency level settings, replication strategies) matches the original 1.6 cluster. Mismatched configs can lead to data inconsistencies post-restore.
- After restoring, run
nodetool repairon the relevant keyspaces to ensure all nodes in the target cluster have consistent copies of the data.
Can backups from older versions (1.4/1.5/1.6) be loaded directly into newer versions, or must I follow the stepwise upgrade path?
You don’t need to follow the stepwise upgrade path for backup restoration—this path is designed for live cluster upgrades (keeping the cluster running while incrementally updating versions to avoid service interruptions and protocol/compatibility issues).
For backup recovery:
- Directly loading old SSTables into a newer Scylla cluster works out of the box. When you start the Scylla service with old SSTables in the data directory, it automatically converts them to the newer version’s format in the background. No manual conversion steps are required for most cases.
Optional Manual Workflow (for granular control)
If you prefer to handle the process explicitly (e.g., for testing or custom setups), here’s how:
- Stop the Scylla service on the target node.
- Copy your backup SSTables into the correct data directory:
/var/lib/scylla/data/<your-keyspace>/<your-table>-<uuid>/ - Start the Scylla service—it will detect the old SSTables and convert them to the current version’s format automatically.
- Run
nodetool repairon the keyspace to sync the restored data across all cluster nodes.
Tooling Support
The official scylla-restore tool is purpose-built for this scenario. It handles the entire restoration process, including automatic SSTable format conversion, so you don’t have to manage file copies manually.
Critical Note: Never restore system tables (like
system_schema) from an old backup to a newer cluster. Newer Scylla versions update system table structures, and restoring old system tables will cause compatibility errors. Only restore your business-specific keyspaces—system tables will be created automatically by the new version.
内容的提问来源于stack exchange,提问作者s_kenkel

