How to migrate the Windows GUI node from one physical location to another?

To be able to move an existing node to a different physical location (different PC) we should transfer both the node's identity and the data. It is neither suffient to only migrate the identity nor to only move the data to the new location, we need to do both.

FIrst, we need to know where the identity is currently stored on your original machine. If you didn't change the default path, your identity is usually located in "%AppData%\Storj\Identity\storagenode". You can open this path in the Explorer or with cmd.

We will assume that you can connect to your node directly via the local network.

Both PCs at the local network location

Please create an identity folder on your new PC with the same name as the identity folder you had on your old PC, and share it to the network.

For example, assuming your new PC is called PC2 and the user on it is called user, then you can open cmd on the first PC and execute the command:

robocopy "%AppData%\Storj\Identity\storagenode" \\pc2\Users\user\AppData\Roaming\Storj\Identity\storagenode /MIR

Using the same approach, you should also transfer the data. We will assume that the storage folder on the second PC is called storage. You can share that folder the same way as you did for the identity.

Please run this command while your node is running:

robocopy d:\storagenode \\pc2\storage /MIR

While the command is executing, you should make a port forwarding rule on your router for the future storagenode on the second PC: Port Forwarding.

After the above robocopy command has finished executing for the first time, you should run it several more times until the difference will be negligible. Then you can stop the storagenode service on the first PC in the elevated cmd:

net stop storagenode

Then run the command for copying the data one last time.

Now you can uninstall the storagenode Windows GUI version from your first PC and install it on the new PC following these instructions: GUI Install - Windows, but please skip the steps for receiving the authorization token and generating the identity.

You must provide the correct path to the locations of your copied identity and to the copied data during the installation wizard.

Remote location

There are plenty of options how to transfer the identity and data to the remote location:

  • ftp service

  • file sharing services

  • BitTorrent

  • Resilio sync

  • Team Viewer

  • ...

Depending on what type of data transfer you have selected, you can transfer the data while your node is running, but you need to sync for a second time after you have shut down the source node to transfer the last-changed pieces (BitTorrent and Resilio Sync).

Unfortunately, most of these services will require you to first stop the source node while you transfer the data in which case you should not run it again.

Even though the disqualification for downtime is currently disabled and being re-architected: https://forum.storj.io/t/design-draft-new-way-to-measure-sn-uptimes/1046, you should try to bring your node online again as soon as possible.