I just migrated my node from Windows 10 on one PC to Linux on a different PC.
I followed this guide but ran into a number of problems that
@Alexey @peem were kind enough to help me fix; Migrating from Windows GUI installation to Docker CLI - Storj Node Operator Docs
I believe I followed the guide “to a T” but could be mistaken. Or perhaps there are errors in the guide?
Is the step that I put a red dot next too correct? Because I had to move files around after the transfer otherwise the node was offline. I’m wondering if the pathway is wrong?
There is a difference, where Windows GUI node and docker node stores its data.
Windows GUI storagenode will store data in a specified path, so the file tree would look like
storagenode.log file and
config.yaml file are stored in the
"C:\Program Files\Storj\Storage Node" path, the identity is stored in the
%APPDATA%\Storj\Identity\storagenode by default.
But for the docker node the structure is different:
│ ├── ca.1560971067.cert
│ ├── ca.cert
│ ├── ca.key
│ ├── identity.1560971067.cert
│ ├── identity.cert
│ └── identity.key
│ ├── archive
│ └── unsent
│ ├── blob
│ ├── blobs
│ ├── garbage
│ ├── temp
│ ├── trash
│ ├── bandwidth.db
│ ├── heldamount.db
│ ├── info.db
│ ├── notifications.db
│ ├── orders.db
│ ├── piece_expiration.db
│ ├── piece_spaced_used.db
│ ├── pieceinfo.db
│ ├── pricing.db
│ ├── reputation.db
│ ├── satellites.db
│ ├── secret.db
│ ├── storage-dir-verification
│ ├── storage_usage.db
│ └── used_serial.db
So, to correctly migrate your Windows storagenode to Linux, you need to copy/move data to
storage subfolder in the data location, and your
orders subfolder to the data location.
docker run command you will use a path without
storage subfolder (it will be added automatically inside the container).
Alright. So then someone
@storj should add that step to the guide right?
I’m just trying to look out for the next person who confuses easily.
It’s added, if you run the mentioned command:
rsync -aP "/mnt/c/Program Files/Storj/Storage Node/orders" firstname.lastname@example.org:/mnt/storj/storagenode/orders/
it will copy your
orders folder to the storage location on Linux.
The next command will copy data to the subfolder
storage in your data location on the Linux system:
rsync -aP /mnt/d/STORJ/ email@example.com:/mnt/storj/storagenode/storage/
As you can see, that it will do exactly what I explained and what’s explained in the
The difference between the Windows GUI and the Docker CLI is where each system stores the data. The Windows GUI version stores data in the path specified in the
storage.path parameter of the configuration file
"%ProgramFiles%\Storj\Storage Node\config.yaml", while the Docker version stores data in the subfolder called
storage, which is automatically (silently) added to the specified path through the
The same applies for the
orders folder. In the Windows GUI version it’s stored in the installation location (
"%ProgramFiles%\Storj\Storage Node\orders" by default), the docker version stores orders alongside with data in the data location.
For example, if the storage folder specified in the Windows GUI is
D:\STORJ, then for the Docker version you should move the content of the
D:\STORJ folder to the subfolder
orders should be moved from the
"%ProgramFiles%\Storj\Storage Node\orders" to the