Updated guide for migrating your node to a new VPS provider
Good morning all,
Many people have asked for an updated guide to migrate their under performing VPS instance to a new provider or instance with the same provider.
I will outline the basic steps that can be performed to move your node to a new provider or higher spec instance.
Step 1: Preparation the new instance
I recommend preparing the new instance using the official HoriZEN guide available here up to and including part 3.
Use the FQDN (Fully Qualified Domain Name) you previously used on your old node in section 1 part 3 for the new instance.
Step 2: Bootstrap your new node from your old node
At this point if you previously had a node that was synced, you would would not want to wait for it to sync again, I know I would not.
Please stop your tracker using
sudo systemctl stop zentracker
You can either follow the scp method or rsync method
But please do not start either of the zend daemons (step 3 and 4 of those guides)
Step 3: Copy across the old wallet.dat
In this step we are going to grab the old wallet.dat from your old node and put it on the new instance.
You can either use the SCP method or RSYNC method
SCP method
Executed from the old node
- Replace <D_USER> with the non-root user of the destination node, replace <D_IP_Address> with the IP address of the destination node, remove <>
- When prompted, enter the non-root user password for the destination node to execute the transfer
scp -r ~/.zen/wallet.dat <D_USER>@<D_IP_Address>:~/.zen
RSYNC method
Executed from the old node
- Replace <D_USER> with the non-root user of the destination node, replace <D_IP_Address> with the IP address of the destination node, remove <>
- When prompted, enter the non-root user password for the destination node to execute the transfer
rsync -rv ~/.zen/wallet.dat -e ssh <D_USER>@<D_IP_Address>:~/.zen/
Once you have completed the copy of the wallet.dat to the new instance, run
zend
on the new instance
Step 4: Back to the official guide
Then continue on with part 4 of the official guide found here
Step 5: Update DNS records
At this point you will want to update your DNS records to reflect the new IP address/es of your instance so you can issue the SSL cert again for your FQDN.
Step 6: Back to the official guide for 6.
We'll now head back to the official guide and perform the steps in part 6
We will come back to part 5 of the official guide after we have successfully synced the required files to the new node.
Step 7: Ignore part 7 of the official guide.
Because you copied across the wallet.dat you do no need to perform the commands in this part.
Step 8: Install the node tracker software.
The next part we are going to perform the steps in part 8, available here but we need to take a pause at step 7 of the official guide and then continue below.
Lets create the config directory in the node tracker directory so we can copy across the config.json
Please run cd ~/nodetracker && mkdir config
Now we can copy across the nodetracker configuration. You can either use SCP or RSYNC.
Copy old nodetracker configuration.
SCP method
Executed from the old node
- Replace <D_USER> with the non-root user of the destination node, replace <D_FQDN> with the IP address of the destination node, remove <>
- When prompted, enter the non-root user password for the destination node to execute the transfer
scp -r ~/nodetracker/config/config.json <D_USER>@<D_IP_Address>:~/nodetracker/config
RSYNC method
Executed from the old node
- Replace <D_USER> with the non-root user of the destination node, replace <D_FQDN> with the IP address of the destination node, remove <>
- When prompted, enter the non-root user password for the destination node to execute the transfer
rsync -rv ~/nodetracker/config/config.json -e ssh <D_USER>@<D_IP_Address>:~/nodetracker/config
Once you have done that, on the new node please run cd ~/nodetracker && node app.js
If everything has been performed successfully you should see in the tracker log that the IP address for your nodeid changed and you are back up an running.
Step 9: Configuring the services and continuing with the official guide
Once you have successfully stood up the nodetracker and you can see that your node is up and running, you can jump back to the official guide from part 9, available here
Step 10: Securing SSH for the new instance
Once you have finalised the configuration of the node you will need to secure the SSH daemon on the new node.
We need to jump back to step 5 of the offical guide to secure the SSH on the new node. Step 5 is available here
That is it. Hopefully you should be able to get the new instance up and running, but should you have any questionss, post them below or find me in the node_tech_support channel on discord.