Replacing the OS instead of migrating

heya guys… i’m looking to replace the OS instead of migrating.
i currently have 2 HDD, 1 for win10, 1 for storj… i can install a 3rd HDD, but i wanted to convert the win10 to linux and run multiple nodes of storj instead

should my plan be as such?

  1. stop the node
  2. follow the guide on windows10 to linux ( e.g. storage folder path), but skip the rsync
  3. install ubuntu on win10 drive
  4. install dockers and set it up correctly, it should work?

or this?

  1. stop the node
  2. install 3rd HDD
  3. install ubuntu on win10 drive
  4. start ubuntu and rsync from storj drive into 3rd HDD

If you don’t want to move the data you don’t have to. Just make sure the paths for storage and identity are set correctly. And yes, indeed pay attention that it needs a storage subfolder. So follow the instructions to move the data to the storage subfolder and you should be good.

1 Like

The main problem, you should replace NTFS filesystem to ext4, you can’t do it without rsync or any file copy tool. I strongly not recommend you working with NTFS on Linux especially for storganode, you will have huge performance degradation.

I can confirm that. It would be far from ideal. But it does work.
I do expect that especially tasks like walking all the pieces for storage usage calculation or garbage collection could be really slow. One of my nodes is ntfs on external storage attached to Synology NAS and it’s really slow with that stuff. (It doesn’t help that it’s also USB2)
I didn’t feel like doing the migration of other data before I started sharing. But it would help a lot.

1 Like

so in the following docker command I’m not specifying a sub folder --mount type=bind,source="/Volumes/v2_storj",destination=/app/config \

No, the sub folder (storage) is within that path. Windows GUI nodes store data directly inside the given path, without a storage sub folder. This is why you need to create that sub folder manually if you migrate from windows gui to docker.

so i should do the switch to ubuntu first, bring it up and proceed to rsync into 3rd HDD. Once rsync is complete, it will be in ext4 filesystem, and i can start the node on that instead?

1 Like

Yes, it true, I can confirm.
Also, I can propose a “live hack”, spin up a small VM on your windows machine with ubuntu/debian and present entire of you 3rd disk (like a device) to this VM. It can save your downtime for initial synchronization :wink:


you can run more than 1 node on windows 10, Search toolbox here in forum, it will help you install more than 1 windows GUI node. then you dont need aditional layers like VM

If he replace Windows to Linux, he will not need a VM after that. The VM is needed only on Windows.

doker is the sma VM, so it is overhed.

Docker is a chroot on Linux with CGroups limitations.
There is no analogue on Windows. Maybe Virtual App was close enough.
But the docker is definitely not a virtualization.

Only on Windows (and Mac) it uses VM with Linux, because either Windows or Mac are unable execute Linux kernel functions directly.

VM needs only for the migration process (from Windows to Linux), it prevents huge downtime. After initial synchronization is complete, you can stop the source node and did the final sync. After this procedure, you can disconnect 3rd drive from VM and replace host OS (don’t forget to copy your identity), then you can mount this 3rd drive to the new OS and use it, that’s all.


hmm sorry i gotta revive this… managed to turn my OS to linux, and rsynced from NTFS drive to ext4 drive… but hitting this error now:

rsync: readlink_stat("/mnt/storj1/storj/storage/blobs/abforhuxbzyd35blusvrifvdwmfx4hmocsva4vmpp3rgqaaaaaaa/qm/ye5hngl6tv6ct336g67jte7kanr2deowyausiktjsd65mby2ga.sj1") failed: Input/output error (5)

on checking the directory, seems the file is corrupted, and there is another file within the qm folder with a different name…

any proposed means for me to resolve this or i should just ignore it and proceed with the rsync -delete option to complete the transfer?

Before you proceed, please check the file system of both the target and the destination. The error you are getting sounds like a file system corruption issue to me. Does the error refer to the old or new location? It could also point to HDD problems.

error is on the old drive… guess after i complete the rsync, gotta do a clean format of the old drive and scan it for bad sectors… yea might be due to old drive too…

doing a scan of both drives before i finalise the transfer…

another question i have is regarding watchtower… i need to run 1 watchtower per storagenode?
or can 1 watchtower monitor all the nodes i run?

I wouldn’t go as far as to scan for bad sectors. Just a file system scan should be enough. If you lose a single piece due to corruption that won’t hurt your node. It will likely never even get audited. So try a file system fix and then full rsync with --delete.

You should not run more than 1 watchtower instance on one machine. Just add the container names of all nodes to the start command. So just remove watchtower and add it back with the additional container name.