Failed to restart scylla-server.service: Unit scylla-image-setup.service not found

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.


Step 2: Re-run the image setup

Once installed:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable scylla-image-setup.service
sudo systemctl start scylla-image-setup.service
sudo systemctl start scylla-server
1 Like

Thanks @Gabriel for the response.
I followed your instruction. However, I am unable to find that package.
Please check the below error that I received

sudo apt install -y scylla-ami-setup

Reading package lists… Done

Building dependency tree… Done

Reading state information… Done

E: Unable to locate package scylla-ami-setup

Hi @Amit_Sahoo ,

I’d therefore recommend to decommission the corrupted and launch a new one using the official Scylla AMIs for the desired version.

@Yaron_Kaikov - would you have an alternate suggestion ?

Thanks,
Gabriel

@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?

What I would do is:

  1. Launch a new EC2 instance using the desired ScyllaDB AMI (5.4.9, in your case)
  2. Assign the same VPC/security group of the non-functional old ScyllaDB cluster
  3. Make sure that Scylla is not running on both the old and new server
    sudo systemctl stop scylla-server
  4. 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.
  5. copy /var/lib/scylladb/data from the old cluster to the new one
    (sudo rsync -avz /source/path/data/ /var/lib/scylla/data/)
  6. make sure the permissions of the copied file match the one on the old server.
  7. Ensure SSTables match the version format expected by ScyllaDB 5.4.9
    sudo find /var/lib/scylla/data -type d -name '*-*' -exec sudo sstableupgrade {} \;
  8. Start ScyllaDB on the new server
    sudo systemctl start scylla-server
  9. I’d also suggest to run a repair (nodetool repair) and cleanup (`nodetool cleanup) - just to be on the safe side
1 Like

@Amit_Sahoo I think you are trying to install the wrong package, try sudo apt install -y scylla-machine-image

2 Likes

Thanks @Yaron_Kaikov. That worked.

1 Like