TLDR
- When you want to change your node over and don't want to experience significant downtime, you need to follow a few procedures.
- The best way to rollover your node is:
- Setup new instance
- Let it sync
- Change the DB name per scripts below to new IP
- Associate new IP address with new instance and restart
docker-compose.yml
Background
As the network is evolving, it will be necessary for node operators to rollover their node for various reasons. There are several complications that need to be considered when rolling over your node.
- If you miss 600 blocks, you excluded from the current term which depending on the term start, could result in up to a day of downtime
- Nodes that are cold started need to be synced first which can take several hours depending on bandwidth between the CDN
- Using setPrep in preptools to set new node IP is not instantaneous as new nodes are advertised each term
- The IP doesn't register until the next term so you will have downtime
- This is fine if you do this right near the end of the term but is the worst option
- If remounting old volume, you need to rename data files in
./data/mainnet/.storage/db_<ip address>:7100
and ./data/mainnet/.storage/db_<ip address>:7100_icon_dex
- This prevents simply remounting a synced volume directly
Node Rollover Situations
- Upsizing / downsizing node size
- Moving to new network topology
Node Rollover Options
1 - Associate New IP
- Option with the most downtime
- You need to register new IP with
preptools