I'm attempting to split my chaindata files across two Samsung T5 SSDs. Mounted the new SSD at /media/t5 and copied the 'ancient' chaindata subdirectory files with

cp -r /var/lib/goethereum/geth/chaindata/ancient /media/t5/ancient 

changed group and file ownership of ancient and contents to geth changed permissions on ancient directory to 755

Changed geth.service file:

ExecStart=geth  --http --syncmode fast --cache 1024  --datadir /var/lib/goethereum  --datadir.ancient /media/t5/ancient

Did a daemon-reload and restarted geth


Fatal: Failed to register the Ethereum service: gap (#11992073) in the chain between ancients and leveldb

Should I have stopped geth before copying those files? Was cp -r not the correct way to copy the directory? Or is there some other step I missed?

1 Answer 1


Yes, is the answer. I should have stopped geth, obviously, before attempting this. The good news was that after stopping it with

sudo systemctl stop geth

I was able to use rsync to update the destination directory, restart Geth, and all was good.

rsync -av --progress dir1/ dir2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.