maxpar
September 26, 2020, 10:34am
1
Hello,
I found my node offline, checked the log, this error, the node is a raspberry installation:
2020-09-26T09:53:01.994Z FATAL Unrecoverable error {"error": "outdated software version (v1.11.1), please update"}
I did the update with this series of commands:
docker pull storjlabs/storagenode:latest
docker rm storagenode
reboot
After rebooting the log gives me these errors:
2020-09-26T10:17:54.126Z ERROR contact:service ping satellite failed {"Satellite ID: "118UWpMCHzs6CvSgWd9BfFVjw5K9pZbJjkfZJexMtSkmKxvvAW attempts: 3, “error: ping satellite error: rpccompat: dial tcp 78.94.240.189:7777: connect: connection refused”, “errorVerbose”: “ping satellite error: rpccompat: dial tcp 78.94.240.189:7777: connect: connection refused\n\tstorj.io/common/rpc.Dialer.dialTransport:211\n\tstorj.io/common/rpc.Dialer.dial:188\n\tstorj.io/common/rpc.Dialer.DialNodeURL:148\n\tstorj.io/storj/storagenode/contact.(*Service ).pingSatelliteOnce:124\n\tstorj.io/storj/storagenode/contact.(*Service ).pingSatellite:95\n\tstorj.io/storj/storagenode/contact.(*Chore ).updateCycles.func1:87\n\tstorj.io/common/sync2.(*Cycle ).Run:92\n\tstorj.io/common/sync2.(*Cycle ).Start.func1:71\n\tgolang.org/x/sync/errgroup.(*Group ).Go.func1:57”}
I don’t understand what the problem is, perhaps the command for the update was supposed to be:
docker pull storjlabs/storagenode:arm ?
I have another offline raspberry node, and I would not like to have the same problems after the update, please tell me what is the precise procedure to update the version on a raspberry 4?
Thank you.
peem
September 26, 2020, 10:45am
2
The order of commands during manual update matters, see here:
https://documentation.storj.io/setup/cli/software-updates
As far as I know the commands for RPi are the same as for other Linux
maxpar
September 26, 2020, 11:12am
3
Thank you Peem, in fact I’m not sure what the manual procedure is for the raspberry4. If someone kindly wanted to enter here the precise commands to update raspberry I think it would be useful for everyone
peem
September 26, 2020, 11:20am
4
I think that if it were different for the raspberry, it would be specified in the official documentation.
But of course RPi users can know and write more about it
This satellite has been shutdown. So nothing to worry about this message.
maxpar
September 26, 2020, 12:02pm
6
Thanks Jammarden, but I keep getting errors in the log file and keep getting the node rebooting. I attach the browser image
, when I update the page the “uptime” field is always 0. So let’s check if I perform the correct procedure, these are exactly the commands I gave:
docker stop -t 300 storagenode
docker rm storagenode
docker pull storjlabs/storagenode:arm
reboot
this is the startup script
docker run -d --restart unless-stopped --stop-timeout 300 \
-p 28201:28201 \
-p 14201:14002 \
-e WALLET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -e EMAIL="xxxxxxxxxxxxxxxxxxxxx" \ -e ADDRESS="xxxxxxx:28201" \
-e STORAGE="1.7TB" \
--mount type=bind,source="/mnt/xxxxxx/storj/identity/storagenode/",destination=/app/identity \
--mount type=bind,source="/mnt/xxxxxx/storj",destination=/app/config \
--name storagenode storjlabs/storagenode:arm
Blockquote 2020-09-26T11:55:38.895Z ERROR pieces:trash emptying trash failed {“error”: “pieces error: filestore error: readdirent: no such file or directory”, “errorVerbose”: “pieces error: filestore error: readdirent: no such file or directory\n\tstorj.io/storj/storage/filestore.(*blobStore).EmptyTrash:150\n\tstorj.io/storj/storagenode/pieces.(*BlobsUsageCache).EmptyTrash:310\n\tstorj.io/storj/storagenode/pieces.(*Store).EmptyTrash:359\n\tstorj.io/storj/storagenode/pieces.(*TrashChore).Run.func1:51\n\tstorj.io/common/sync2.(*Cycle).Run:92\n\tstorj.io/common/sync2.(*Cycle).Start.func1:71\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57”}
2020-09-26T11:55:38.991Z ERROR pieces:trash emptying trash failed {“error”: “pieces error: filestore error: readdirent: no such file or directory”, “errorVerbose”: “pieces error: filestore error: readdirent: no such file or directory\n\tstorj.io/storj/storage/filestore.(*blobStore).EmptyTrash:150\n\tstorj.io/storj/storagenode/pieces.(*BlobsUsageCache).EmptyTrash:310\n\tstorj.io/storj/storagenode/pieces.(*Store).EmptyTrash:359\n\tstorj.io/storj/storagenode/pieces.(*TrashChore).Run.func1:51\n\tstorj.io/common/sync2.(*Cycle).Run:92\n\tstorj.io/common/sync2.(*Cycle).Start.func1:71\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57”}
2020-09-26T11:55:40.254Z INFO piecestore upload started {“Piece ID”: “6BOX7OUDIWMCP6FXYBDFHZGKMAI3RIDDJP75NDO6HSEMQ4QUE44Q”, “Satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “Action”: “PUT”, “Available Space”: 1699920694272}
2020-09-26T11:55:40.441Z INFO piecestore uploaded {“Piece ID”: “6BOX7OUDIWMCP6FXYBDFHZGKMAI3RIDDJP75NDO6HSEMQ4QUE44Q”, “Satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “Action”: “PUT”}
2020-09-26T11:55:40.684Z ERROR contact:service ping satellite failed {“Satellite ID”: “118UWpMCHzs6CvSgWd9BfFVjw5K9pZbJjkfZJexMtSkmKxvvAW”, “attempts”: 3, “error”: “ping satellite error: rpccompat: dial tcp 78.94.240.189:7777: connect: connection refused”, “errorVerbose”: “ping satellite error: rpccompat: dial tcp 78.94.240.189:7777: connect: connection refused\n\tstorj.io/common/rpc.Dialer.dialTransport:211\n\tstorj.io/common/rpc.Dialer.dial:188\n\tstorj.io/common/rpc.Dialer.DialNodeURL:148\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatelliteOnce:124\n\tstorj.io/storj/storagenode/contact.(*Service).pingSatellite:95\n\tstorj.io/storj/storagenode/contact.(*Chore).updateCycles.func1:87\n\tstorj.io/common/sync2.(*Cycle).Run:92\n\tstorj.io/common/sync2.(*Cycle).Start.func1:71\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:57”}
I keep getting these errors and the looped node goes online> offline> online> offline …
I do not know what to do.
Now these are 2 different messages. As said the one starting with:
you don’t have to worry about because the satellite has gone.
The other error message is something else. It looks like it cannot find the correct file dir:
I would check if the mount commands are pointing to the correct directories and if permissions are set correctly.
maxpar
September 26, 2020, 12:16pm
8
These are the files permissions:
drwxr-xr-x 2 root root 0 Sep 26 2020 storj
-rwxr-xr-x 1 root root 8196 Sep 24 16:26 .DS_Store
maxpar
September 26, 2020, 12:19pm
9
Directories are on a nas, the nas folder is mounted with a command entered in the crontab, so that when you restart the crontab node it mounts the nas folder
This is the path: /mnt/xxxxxx/storj/identity/storagenode/
maxpar:
-p 28201:28201
This is wrong. If you want to use custom port then it should be
-p 28201:28967
Restart and show the log again.
maxpar
September 26, 2020, 12:28pm
11
Thanks Nerdatwork,
I changed the port number because in the “config.yaml” file I entered this line: server.address:: 28201 and I must tell you that before the update it worked correctly. Do you think this is not good? I have 4 nodes configured this way.
Docker run
’s parameters take precedence over parameters in config.yaml
file. You should edit your docker run
command for any changes.
You should update your other nodes too if they use custom port.
Do you see
anymore in your log ?
maxpar
September 26, 2020, 12:50pm
13
yes, i still have the error "readdirent: "
What if we try to change file permissions?
What permissions could I give?
I try to give chmod 777 on the folders and files?
I make this consideration. In the mounted network folder, if I try to write as a normal user I get an error but if I try to write as root I can write without problems. Storej is started with the sudo command so it shouldn’t have any problem writing since it has root privileges.
Check your disk with fsck
command.
maxpar
September 26, 2020, 1:24pm
15
The disk I mount is a network folder located on the nas, how do I use fsck?
This should be --name storagenode storjlabs/storagenode:latest
3 Likes
Alexey
September 26, 2020, 6:09pm
17
The NFS and SMB are not supported. The only supported protocol is iSCSI and even then it will be slower than a local connected drive.
Please, use your NAS to run storagenode or move the HDD to raspberry Pi4