Problem: error": "outdated software version (v1.11.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.

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

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

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 :slight_smile:

This satellite has been shutdown. So nothing to worry about this message.

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.

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

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/

This is wrong. If you want to use custom port then it should be

-p 28201:28967

Restart and show the log again.

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 :arrow_down:

anymore in your log ?

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.

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

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