Hi. I have two Qnaps with storage nodes. They’re running latest QTS version 5.0.1.2277. The nodes were stuck in storagenode version 1.1.0, and I’m unable to update to 1.1.2, 1.1.3 or 1.1.4.
I’ve received a mail informing that “Your Node is Below the Minimum Version”
Is there a way to update the nodes?
Is there going to be a new qnap version that works for QTS 5.0.1?
To use Docker, in QNAP Container Station you can create an app, and then paste in the storage node docker compose config. This is how I run my node. I attached a screenshot here to show you what I mean:
You will need to ensure /share/Container/storj/storage and /share/Container/storj/identity go to the right place on the storage. If you SSH into the NAS it can be helpful to locate these paths.
Alternatively you can follow the Docker steps here and do it all while in an SSH session.
Just write down paths to identity and data from this app, then remove the app.
Enable ssh, login via ssh and follow the mentioned setup with docker. You need to skip SETUP step, since it’s already done and run your node right away using correct paths.
Or use the method suggested by @sean, the example of docker-compose.yaml for storagenode and watchtower you may see there:
But something seems to be wrong, because it’s not working. Any suggestion?
I paste some of the logs, maybe they are usefull.
2023-03-16 22:12:59,975 WARN received SIGQUIT indicating exit request
2023-03-16 22:12:59,975 INFO waiting for storagenode, processes-exit-eventlistener to die
2023-03-16 22:12:59,976 INFO exited: storagenode (exit status 1; not expected)
2023-03-16 22:13:00,978 INFO stopped: processes-exit-eventlistener (terminated by SIGTERM)
2023-03-16 22:15:13,832 INFO exited: storagenode (exit status 1; not expected)
2023-03-16 22:15:14,833 INFO success: processes-exit-eventlistener entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-03-16 22:15:14,834 INFO spawned: ‘storagenode’ with pid 28
2023-03-16 22:15:14,836 INFO spawned: ‘storagenode-updater’ with pid 29
2023-03-16T22:15:14.845Z INFO Invalid configuration file value for key {“Process”: “storagenode-updater”, “Key”: “log.caller”}
2023-03-16T22:15:14.845Z INFO Invalid configuration file value for key {“Process”: “storagenode-updater”, “Key”: “log.development”}
2023-03-16T22:15:14.845Z INFO Invalid configuration file value for key {“Process”: “storagenode-updater”, “Key”: “log.encoding”}
2023-03-16T22:15:14.845Z INFO Invalid configuration file value for key {“Process”: “storagenode-updater”, “Key”: “log.output”}
2023-03-16T22:15:14.845Z INFO Anonymized tracing enabled {“Process”: “storagenode-updater”}
2023-03-16T22:15:14.845FATAL Error loading identity. {“Process”: “storagenode-updater”, “error”: “file or directory not found: open identity/identity.cert: no such file or directory”, “errorVerbose”: “file or directory not found: open identity/identity.cert: no such file or directory\n\tstorj.io/common/identity.Config.Load:326\n\tmain.cmdRun:108\n\tstorj.io/private/process.cleanup.func1.4:377\n\tstorj.io/private/process.cleanup.func1:395\n\tgithub.com/spf13/cobra.(*Command).execute:852\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:960\n\tgithub.com/spf13/cobra.(*Command).Execute:897\n\tstorj.io/private/process.ExecWithCustomConfigAndLogger:92\n\tmain.main:20\n\truntime.main:250”}
2023-03-16 22:15:14,846 INFO exited: storagenode-updater (exit status 1; not expected)
Error: invalid argument “” for “–storage.allocated-disk-space” flag: empty size
Can you check the path there at /share/xxxxo/Storj_id/identity? It looks like it’s probably not existing, so the container doesn’t see the identity files as shown in the error.
Thank you. Now this identity error is fixed. But the app is still not working. It’s starting and stopping all of the time:
2023-03-17 09:01:06,339 INFO exited: storagenode (exit status 1; not expected)
2023-03-17 09:01:07,340 INFO gave up: storagenode entered FATAL state, too many start retries too quickly
2023-03-17 09:01:08,356 WARN received SIGQUIT indicating exit request
2023-03-17 09:01:08,356 INFO waiting for processes-exit-eventlistener, storagenode-updater to die
2023-03-17T09:01:08.356Z INFO Got a signal from the OS: “terminated” {“Process”: “storagenode-updater”}
2023-03-17 09:01:08,358 INFO stopped: storagenode-updater (exit status 0)
2023-03-17 09:01:08,393 WARN received SIGTERM indicating exit request
2023-03-17 09:01:08,394 INFO stopped: processes-exit-eventlistener (terminated by SIGTERM)
Error: Error starting master database on storagenode: group:
— stat config/storage/blobs: no such file or directory
— stat config/storage/temp: no such file or directory
— stat config/storage/garbage: no such file or directory
— stat config/storage/trash: no such file or directory
2023-03-21 09:43:38,299 INFO exited: storagenode (exit status 1; not expected)
2023-03-21 09:43:41,303 INFO spawned: ‘storagenode’ with pid 73
2023-03-21T09:43:41.340Z INFO Anonymized tracing enabled {“Process”: “storagenode”}
2023-03-21T09:43:41.340Z INFO Operator email {“Process”: “storagenode”, “Address”: “xxxxxxx@gmail.com”}
2023-03-21T09:43:41.340Z INFO Operator wallet {“Process”: “storagenode”, “Address”: “0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”}
Error: Error starting master database on storagenode: group:
— stat config/storage/blobs: no such file or directory
— stat config/storage/temp: no such file or directory
— stat config/storage/garbage: no such file or directory
— stat config/storage/trash: no such file or directory
2023-03-21 09:43:41,342 INFO exited: storagenode (exit status 1; not expected)
2023-03-21 09:43:42,343 INFO gave up: storagenode entered FATAL state, too many start retries too quickly
2023-03-21 09:43:43,344 WARN received SIGQUIT indicating exit request
2023-03-21 09:43:43,345 INFO waiting for processes-exit-eventlistener, storagenode-updater to die
2023-03-21T09:43:43.345Z INFO Got a signal from the OS: “terminated” {“Process”: “storagenode-updater”}
2023-03-21 09:43:43,346 INFO stopped: storagenode-updater (exit status 0)
2023-03-21 09:43:44,348 INFO stopped: processes-exit-eventlistener (terminated by SIGTERM)
FIrst thing that stands out is that one has Storj_id as intermediate folder while the other has Storj.
Second, where does /share/xxxxo/Storj/storage point to? At literal storage folder? Cause I think it should point one level up, where there is both storage and orders folder: