Moving from windows to synology (docker)

Hello, I wanted to move Storj from windows to my Synology. With the help of rsync I copied the data over for days and now wanted to run storj there in Docker. Storj is already running successfully on another Synology. Docker reboots every time and I get the following error message:

2021-02-26 16:54:56 stderr runtime.main:204
2021-02-26 16:54:56 stderr main.main:385
2021-02-26 16:54:56 stderr storj.io/private/process.ExecCustomDebug:70
2021-02-26 16:54:56 stderr storj.io/private/process.ExecWithCustomConfig:88
2021-02-26 16:54:56 stderr github.com/spf13/cobra.(*Command).Execute:887
2021-02-26 16:54:56 stderr github.com/spf13/cobra.(*Command).ExecuteC:950
2021-02-26 16:54:56 stderr github.com/spf13/cobra.(*Command).execute:842
2021-02-26 16:54:56 stderr storj.io/private/process.cleanup.func1:381
2021-02-26 16:54:56 stderr storj.io/private/process.cleanup.func1.4:363
2021-02-26 16:54:56 stderr main.cmdRun:193
2021-02-26 16:54:56 stderr storj.io/storj/storagenode/storagenodedb.(*DB).MigrateToLatest:346
2021-02-26 16:54:56 stderr storj.io/storj/private/migrate.(*Migration).Run:164
2021-02-26 16:54:56 stderr storj.io/storj/storagenode/storagenodedb.(*DB).Migration.func1:618
2021-02-26 16:54:56 stderr storj.io/storj/storagenode/storagenodedb.(*DB).openDatabase:323
2021-02-26 16:54:56 stderr Error: Error creating tables for master database on storagenode: migrate: database: context canceled
2021-02-26 16:54:56 stderr 2021-02-26T16:54:56.319Z INFO Telemetry enabled {“instance ID”: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
2021-02-26 16:54:56 stderr 2021-02-26T16:54:56.018Z INFO Got a signal from the OS: “terminated”

Looks like you could mess the paths. In the Windows the storagenode stores its data in the specified folder. In case of docker version, it expects data in the storage folder inside the specified path.
For example, if your Windows node has a path to blobs like E:\storagenode\blobs, then in the docker version it should be placed into storage subfolder, even if you still specify E:\storagenode, so the resulting path should be E:\storagenode\storage\blobs

In case of Linux (Synology) it’s still true. So if you have /Volume/shared/storagenode, then you need to place the content of E:\storagenode to the /Volume/shared/storagenode/storage and specify path /Volume/shared/storagenode in your --mount option of the docker run command, i.e.

--mount type=bind,source=/Volume/shared/storagenode,destination=/app/config \

Thanks for the hint. I have now created the structure exactly as in the other Synology. To be on the safe side, I changed the Docker command of the Synology that was already running and now I get this error message:

2021-02-27 11:06:21 stderr runtime.main: 204
2021-02-27 11:06:21 stderr main.main: 385
2021-02-27 11:06:21 stderr storj.io/private/process.ExecCustomDebug:70
2021-02-27 11:06:21 stderr storj.io/private/process.ExecWithCustomConfig:88
2021-02-27 11:06:21 stderr github.com/spf13/cobra.(*Command).Execute:887
2021-02-27 11:06:21 stderr github.com/spf13/cobra.(*Command).ExecuteC:950
2021-02-27 11:06:21 stderr github.com/spf13/cobra.(*Command).execute:842
2021-02-27 11:06:21 stderr storj.io/private/process.cleanup.func1:381
2021-02-27 11:06:21 stderr storj.io/private/process.cleanup.func1.4:363
2021-02-27 11:06:21 stderr main.cmdRun: 198
2021-02-27 11:06:21 stderr storj.io/storj/storagenode/storagenodedb.(*DB).CheckVersion:605
2021-02-27 11:06:21 stderr storj.io/storj/private/migrate.(*Migration).ValidateVersions:138
2021-02-27 11:06:21 stderr Error: Error checking version for storagenode database: validate db version mismatch error: expected 43! = 50
2021-02-27 11:06:21 stderr 2021-02-27T11: 06: 21.074Z INFO db.migration Database Version {“version”: 48}

Seems you migrated 1.24.4 back to 1.22.2.
It will not work like this. You need to wait a week when the docker image will be published. I cannot suggest a safe way to downgrade because of database migrations.

2 Likes

Thx. I did not noticed that!

1 Like

Hm, sounded too easy. I checked the versions again and both Windows and Docker are running on 1.22.2. So that can’t be the reason

I asked the team how can we fix an issue. And you are right - the 1.22.2 have a 50 version in the tables.
Can you restart it? Is it moving further?
43->49->50, this is how it looks like on my docker node

Thx. Its working now. I`m wondering why I get a lot of downnload failed. I copied serveral times with rsyn. Some succesfull downloads and alot of failed.

Your node have canceled downloads due to long tail cut. You cannot be close enough to all clients in the world, so you can’t win all the races.

I don’t want to just end this topic without comment, I want to take the opportunity to thank Alexey. It is not the first time that you and others have followed me here. And each time with a calm and friendliness that I appreciate. I am a teacher and I know that it is sometimes exhausting to explain things 100 times. So thank you again at this point

3 Likes