I know there are some steps listed here. How do I migrate my node to a new device? - Node Operator But I’m kind of concerned I’ll mess this process up and have to start a new node. I currently have mine running on its own rpi4 and I want to move it to my other rpi4 which I use for other stuff.
So I am just hoping for some more detailed steps maybe to get this done correctly without messing up my node.
Any help is appreciated.
I’ve moved nodes between devices many times in the past. Rpi 4 to Rpi 4 and Rpi 4 to Odroid H2+.
Assuming you’re using just a USB connected hard drive and you just want to plug that into the new Rpi, then it’s a pretty simple process.
On the old pi, stop the docker image and move the identity folder to the hard drive (if not already there). Shut down that pi and unplug the hard drive.
On the new pi, install docker and the docker images like in the instructions in the Storj docs. Plug in the hard drive will all of the Storj data and static mount the drive like in the instructions in the Storj docs. If you’re like me you have a notepad file with your docker run command saved to the desktop for quick reference, so then reconfigure your docker run command (if needed) with the new identity folder path and new static mount path.
Lastly, you’ll need to reconfigure your port forwarding rule in your router for the new pi’s IP.
After that you should be good to go to just start the node up on the new pi with your docker run command. Also, don’t forget to start the watchtower container as well for auto-updating.
One note: I do recall during one of my pi to pi migrations I did end up having to run the one-time setup command in the Storj Docs, but I think during that time I also actually migrated the data from one hard drive to another…so just keep that in mind. If for some reason you try to start it after running through the steps above and then it doesn’t seem to start right, then you could try stopping, removing, and then running that cmd and then try starting the node again.
If all the data associated with the node gets moved, this shouldn’t be necessary.
In what case did you need that? You moved data blobs only, but missed databases & config files?
It was over a year ago…so to be honest I don’t really remember the specific circumstances. I believe the migration was from a rpi4 with a USB connected external hard drive to a new rpi4 with a geekworm X382 SATA adapter 3.5", geekworm X735 power management board, along with an old 4TB WD Red from my NAS. I set up the new rpi and HDD in the geekworm X835-C1 case, and got that all set up with docker, static mount, port forwarding, etc. Then plugged in the old hard drive with USB, and started the node on the new rpi with the old hard drive. Then while that was running, I started the rsync process for a couple of times through. and eventually stopped the node, did one more pass of rsync and then ditched the old external drive and started the node back up with the 3.5" HDD in the case.
So I know by using rsync I transferred over all of the necessary files (i.e. blobs, databases, etc.)
I recall being surprised that I had to run the setup cmd, since I think that node was originally setup before that setup cmd was even a thing that had to be done for a new node…either way. it worked and just thought I’d share the experience just in case the OP or anyone else in the future were to read the thread.
If you lose the dir-verification file you could generate a new one with the setup command. Basically, that is the only reason I can think of because everything else would result in a disqualification anyway.
This was perfect and exactly what I was looking for and needed. It has been a long time since I setup my node, and this jogged my memory and walked me through the steps needed to migrate from 1 rpi4 to my other pri4 which has all my other stuff on it. Which frees up this rpi4 for another project. Thanks for the help! much appreciated!