Moving the Node from Windows to Raspberry PI3

Hello all,

I have a node set up on a Windows laptop for testing StorJ. However, I would like to save some power and install the whole thing on a RaspberryPI3. Can I connect the existing data (which is currently on an external hard drive) to the RPI3 without further ado? What is the best way to do this?

Greetings.

https://docs.storj.io/node/resources/faq/migrate-my-node/migrating-from-windows-gui-installation-to-a-docker-cli

Thanks for the link. Unfortunately, I do not really get on there. I have now installed Pasrberry Pi OS on the RPi and enabled SSH. Docker is installed.

I would like to connect the hard drive with the Node (which is currently connected externally to the Windows computer) to the RPI. What is the best way to implement this?

I was started from 2 hdd 2.5inch via usb. For starting, just plug in hdd and don’t foget about fstab(to do auto mount) and keep your mind about file system( i thinking ntfs), nothing bad in this, but its not native fs.

Since your disk is likely formatted NTFS, it would be best if you can temporarily move the data to another drive, format the disk as ext4, then move the data back. Some users have found that NTFS on linux gives poor performance, especially once the disk nears full capacity. Although as forsam said, it will technically work just by plugging it in.

1 Like

Please, seriously think about converting the disk to ext4. The NTFS may work on Linux, but you will have problems.
For example, it cost me 2/3 of my largest node. See Moving from Windows to Ubuntu and back

1 Like

Also, I don’t know what kind of disk you have, but if it’s a small 2.5" disk powered via its USB cable, it may or may not work reliably on a RPi (which is pretty limited when it comes to powering USB devices). You might need an external source of power (via a powered USB hub for instance).

If it’s a 3.5" disk with its own power adapter, then you should be fine on this regard.

1 Like

How easy is it to do? Can I just… 1) Use the robocopy /MIR command in power shell to move the data onto a external hard drive. 2) Plug external hard drive into rhasberry pi. 3) Install storj on rhasberry pi 4) Copy the “congif.yaml” file from windows over to the rhasberry i storj folder?

I’m guessing it’s not that easy…

same LAN between the two devices if that matters.

I express gratitude in advance to anyone who took the time to help me.

Migration guide: How do I migrate my node to a new device? - Node Operator

I would only add

1 Like

I have a few more follow up questions if you would be so kind:

  1. what about the identify key? the ca.key file? Don’t I have to somehow bring that over to the rhasberry pi?

  2. how do I deactivate storj on the old computer? Is it true that if I do not correctly remove storj from the first computer, and then mistakenly run the same data/identify on both computers I will get banned?

All identity files should be moved from the old location to the new one indeed.

It is true. Running 2 nodes with the same identity in parallel is the perfect recipe to get both nodes disqualified fast.

Usually, the idea is to:

  • Synchronize all files from the old location to the new one while the old node is still running. At this stage, the new node at the new location should NOT be running.
    The sync should be run several times until the diff is very little (e.g. when it takes only a few minutes to run).
  • From this point, the old node can be stopped.
  • Then a final file synchronization should be run to ensure all files get transferred to the new location so the new node is identical to the first one (file and folder wise).
  • All settings should be carefully checked (new node configuration, port forwarding, identity files, and so on… see dedicated tutorial/documentation suggested by @littleskunk & @Alexey).
  • Finally, the new node at the new location can be started.
  • If everything starts up correctly and the new node shows “Online”, is sending and receiving data without suspicious errors in the logs after a few minutes, the old node can be removed.

Note: Once the new node starts getting new data anyways, the old node becomes obsolete and should never ever be started again, so it’s safer to delete it completely to avoid starting it by mistake. Just be sure that the files you delete don’t include some that would be targeted by the new one (identity files for instance…).

1 Like

I have a “ca.key” file and a “identify.exe” file and a “identify_windows_amd64.zip” file saved in a safe place. I have these files saved because that is what I was told to do when I followed the original tutorial video.

However, I don’t see any of these files in “c:\program files\storj\storagenode”. I am confused about how I would move them from the old location to the new one. It doesn’t appear that my existing node is using any of these files as they are not in the application directory. If storj was using these files wouldn’t they be in “c:\program files\storj\storagenode”?

These files are not needed. The identity consist of:

PS C:\Users\USER> ls X:\storagenode2\identity\


    Directory: X:\storagenode2\identity


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         6/19/2019  10:04 PM            546 ca.1560971067.cert
-a----         6/19/2019  10:04 PM           1076 ca.cert
-a----         6/19/2019  10:01 PM            241 ca.key
-a----         6/19/2019  10:04 PM           1084 identity.1560971067.cert
-a----         6/19/2019  10:04 PM           1614 identity.cert
-a----         6/19/2019  10:01 PM            241 identity.key

The default identity location in Windows is "%APPDATA%\Storj\Identity\storagenode" (or "$env:AppData\Storj\Identity\storagenode" if you use PowerShell)

No. There are only orders. The identity locates in a different folder by default. However, you can move it to the disk with data (highly recommended) and update your config.yaml accordingly. You can also update it by reinstalling storagenode, but you will be forced to remove folder "C:\Program Files\Storj" after uninstallation and thus maybe lose yet sent orders altogether. So, the best method just update config.yaml with a new path using Notepad++ (other editors could corrupt the config file), save it and restart the storagenode service either from the Services applet or from the elevated PowerShell:

Restart-Service storagenode