Installation details #ScyllaDB version: #Cluster size: os (RHEL/CentOS/Ubuntu/AWS AMI):
We are using AWS Scylla DB AMI 5.2.8 version. We wanted it to be added to the cluster which has a node of 5.4.9. So we were trying to upgrade it to 5.4.9. Somehow it got corrupted and we are getting “Failed to restart scylla-server.service: Unit scylla-image-setup.service not found.” while running sudo systemctl restart scylla-server.
You’re dealing with a broken ScyllaDB upgrade on an AWS AMI, and the error:
Failed to restart scylla-server.service: Unit scylla-image-setup.service not found.
means that the ScyllaDB image setup service that prepares the AMI environment is either missing or wasn’t properly migrated during the upgrade. This is specific to ScyllaDB AMIs, which rely on custom units and setup scripts (not found in vanilla packages).
Root Cause
You likely did a package-level upgrade (e.g. via yum or apt) on an AWS Scylla AMI, which is not recommended unless you’re following the official Scylla upgrade path for AMIs.
AWS Scylla AMIs come pre-configured with systemd units like scylla-image-setup.service. If those are deleted, replaced, or not installed during a manual upgrade, Scylla won’t start correctly.
Fix: Reinstall Scylla AMI Tools
You need to restore the missing image setup scripts and systemd services. Try this:
Step 1: Reinstall Scylla AMI-specific scripts
Run:
sudo apt install -y scylla-ami-setup
This package contains scylla-image-setup.service and related systemd configuration required for the AMI.
@Gabriel We had a single node set up. We have to set it up in cluster. If we can’t upgrade the node, we can’t add node to it. In this case, we are not sure how to migrate the data. We have around 800GB of data. Could you please suggest any suitable strategy for this?
Launch a new EC2 instance using the desired ScyllaDB AMI (5.4.9, in your case)
Assign the same VPC/security group of the non-functional old ScyllaDB cluster
Make sure that Scylla is not running on both the old and new server sudo systemctl stop scylla-server
Copy Scylla’s configuration from the old cluster to the new one, make sure the settings are correct for listen_address, rpc_address, seed_provider, etc.
copy /var/lib/scylladb/data from the old cluster to the new one
(sudo rsync -avz /source/path/data/ /var/lib/scylla/data/)
make sure the permissions of the copied file match the one on the old server.
Ensure SSTables match the version format expected by ScyllaDB 5.4.9 sudo find /var/lib/scylla/data -type d -name '*-*' -exec sudo sstableupgrade {} \;
Start ScyllaDB on the new server sudo systemctl start scylla-server
I’d also suggest to run a repair (nodetool repair) and cleanup (`nodetool cleanup) - just to be on the safe side