1

I have a production Geth node whose blockchain occupies around ~600 GB. I'm trying to figure out how to free up disk space. I know I can remove the blockchain and start fast sync from scratch, but that will take some time (probably more than a day) and it is not acceptable for a production node that is expected to be up 24/7. I can bring it down but for a couple of hours at the most. So my question is how to reduce blockchain size with a minimal downtime?

I was considering starting a new Geth node in parallel and have it fully sync, and then migrate the keys from the old node to the new one. But is there a better approach?

  • Is this a private network or a public network? – wtk219 Apr 20 '18 at 14:35
  • Do you need to check account's historical balances of blocks below lastblock-1000? If not, you can prune the state and release 500GB of historical state entries. – Nulik Apr 22 '18 at 21:40
2

From Issue #15797

Geth also supports "fast syncing" with itself, which you can use to synchronize an existing chain into a fresh data directory and then swap out the old one with the fresh one:

geth --datadir=/my/temp/datadir copydb --cache=512 /my/main/datadir/geth/chaindata/
rm -rf /my/main/datadir/geth/chaindata/
mv /my/temp/datadir/geth/chaindata /my/main/datadir/geth/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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