Не стартует узел в Linux

Всем привет
Произвел настройку узла на rPi с Debian, узел запускается и через несколько секунд перезагружается.
В логах из видимого:

Error: open sink "/var/storj/storagenode10.log": open /var/storj/storagenode10.log: no such file or directory

Файл при запуске не был создан автоматически.
Этот путь указывал в config.yaml
Пробовал создать файл вручную, тот же результат в логах.

По всей видимости проблема с установленными правами к директории,
подскажите пожалуйста что нужно проверить и сделать.

установил владельца директории:

sudo chown -R user:user -c /var/storj

установил права пользователя на директорию:

chmod -R u+rwx /var/storj

Вывод:

user@rpi:/ $ ls -l /var/storj
total 24
drwxr-xr-x 3 user user 4096 Jul 17 16:27 data
drwxr-xr-x 3 user user 4096 Jun 18 17:02 identity
drwx------ 2 user user 16384 Jun 12 18:29 lost+found
user@rpi:/ $ ls -l /var/storj/data
total 16
-rw------- 1 user user 11667 Jun 18 18:35 config.yaml
drwx------ 5 user user  4096 Jun 18 18:07 storage
user@rpi:/ $ ls -l /var/storj/data/storage
total 16
drwx------ 2 user user 4096 Jun 18 18:07 blobs
-rw-r--r-- 1 user user   32 Jun 18 18:07 storage-dir-verification
drwx------ 2 user user 4096 Jun 18 18:07 temp
drwx------ 2 user user 4096 Jun 18 18:07 trash

команда запуска узла:

docker run -d --restart unless-stopped --stop-timeout 300 \
-p 28967:28967/tcp \
-p 28967:28967/udp \
-p 127.0.0.1:14002:14002 \
-e WALLET="XXX" \
-e EMAIL="YYY@YYY.YY" \
-e ADDRESS="ZZZ.ZZZ.ZZZ.ZZZ:28967" \
-e STORAGE="2.7TB" \
--user $(id -u):$(id -g) \
--mount type=bind,source="/var/storj/identity/storagenode",destination=/app/identity \
--mount type=bind,source="/var/storj/data",destination=/app/config \
--name storagenode10 storjlabs/storagenode:latest

Ещё вопрос - как после запуска попасть в dashboard из домашней сети с другой машины,
просто 192.168.X.X:14002 - нужно ли указывать что-то в настройках роутера?

Это путь в контейнере, не на хосте. В контейнере /var/storj не существует.

Логи лучше держать в /var/log. Эта директория всегда существует.

Далее, в контейнере логгинг устроен по другому, перенаправлять логгинг в файл внутри контейнера тоже не надо.

/var/log находится на диске с системой,
диск - флешка на 32gb.

Видя как быстро набирают вес log-файлы на работающих узлах в windows,
понимаю что это не выход.

Или в linux это так же решается через добавление пути в команду запуска?

перечитал
https://storj.dev/node/faq/redirect-logs
понял в чём ошибка:

log.output: "/app/config/node.log"

You can find resulting log in the storage location.

(Вроде бы) узел запустился, по крайней мере не ребутит.

Осталось понять как попасть в dashboard,
через “домашний-ip-машины:14002”
не пускает, " Не удается получить доступ к сайту".

У меня стоит Mikrotik, ему нужно что-то задать в IP->Firewall для того чтобы пускал или проблема в чём-то другом?

никуда не перенаправлял логи, просто запретил докеру хранить их в большом кол-ве, для этого в файл /etc/docker/daemon.json
внес строки
{
“log-driver”: “json-file”,
“log-opts”: {“max-size”: “10m”, “max-file”: “3”}
}
и все, аппетит у докера пропал. Да после этих изменений надо докер перезапустить, саму службу доккера.

Ок, благодарю за подсказку
попробую как с текущим таском разберусь

Узел запускается, но в логе куча ошибок:

ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "attempts": 1, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   nodestats:cache Get disk space usage query failed       {"Process": "storagenode", "error": "nodestats: EOF; nodestats: EOF; nodestats: EOF; nodestats: EOF", "errorVerbose": "group:\n--- nodestats: EOF\n\tstorj.io/storj/storagenode/nodest>
ERROR   nodestats:cache payouts err     {"Process": "storagenode", "satellite": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE"}
ERROR   nodestats:cache payouts err     {"Process": "storagenode", "satellite": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6"}
ERROR   nodestats:cache payouts err     {"Process": "storagenode", "satellite": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S"}
ERROR   nodestats:cache payouts err     {"Process": "storagenode", "satellite": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs"}
ERROR   nodestats:cache Get held amount query failed    {"Process": "storagenode", "error": "payouts service: node not found: 12KHGhc16Tew5Yx844eEG6jEU2V3zBEzRmWFg2Mqybp1tJ4DMii; payouts service: node not found: 12KHGhc16Tew5Yx844eEG6jEU2V3zBEzRm>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "attempts": 2, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   nodestats:cache Get stats query failed  {"Process": "storagenode", "error": "nodestats: EOF; nodestats: EOF; nodestats: EOF; nodestats: EOF", "errorVerbose": "group:\n--- nodestats: EOF\n\tstorj.io/storj/storagenode/nodestats.(*Service).G>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "attempts": 1, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "attempts": 1, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "attempts": 1, "error": "ping satellite: failed to ping storage node, your node indicated error code:>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "attempts": 3, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "attempts": 4, "error": "ping satellite: check-in ratelimit: node rate limited by id", "errorVerbose>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "attempts": 2, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "attempts": 2, "error": "ping satellite: failed to ping storage node, your node indicated error code:>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "attempts": 2, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "attempts": 3, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "attempts": 5, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "attempts": 6, "error": "ping satellite: check-in ratelimit: node rate limited by id", "errorVerbose>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "attempts": 7, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "attempts": 3, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "attempts": 3, "error": "ping satellite: failed to ping storage node, your node indicated error code:>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "attempts": 4, "error": "ping satellite: check-in ratelimit: node rate limited by id", "errorVerbose>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "attempts": 4, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "attempts": 5, "error": "ping satellite: check-in ratelimit: node rate limited by id", "errorVerbose>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "attempts": 4, "error": "ping satellite: failed to ping storage node, your node indicated error code:>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "attempts": 5, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "attempts": 5, "error": "ping satellite: failed to ping storage node, your node indicated error code:>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "attempts": 8, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "attempts": 6, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs", "attempts": 6, "error": "ping satellite: failed to ping storage node, your node indicated error code>
ERROR   contact:service ping satellite failed   {"Process": "storagenode", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "attempts": 6, "error": "ping satellite: check-in ratelimit: node rate limited by id", "errorVerbose">

подскажите пожалуйста куда копать

Это можно задать прямо в команде запуска, не обязательно менять системную настройку.

--log-opt max-size=50m \
--log-opt max-file=10 \

Вы подписали его identity?
Если да, нужно добиться, чтобы узел хотя бы раз смог зарегистрироваться на сателлитах (быть ONLINE).

Либо какая-то проблема с диском, либо это следствие остановки узла по причине, которая была перед этим.
Пока выглядит так, что ваш адрес и порт не доступны для сателлитов.
Проверьте, что адрес

ресолвится в тот же IP, что на Open Port Check Tool - Test Port Forwarding on Your Router и он совпадает с WAN IP на вашем роутере.

nslookup ZZZ.ZZZ.ZZZ.ZZZ 8.8.8.8

вернёт IP.

Для этого нужно убрать 127.0.0.1: отсюда:

чтобы стало

-p 14002:14002 \

на роутере ничего делать не нужно. Если вам потом понадобится подключаться снаружи, используйте эту инструкцию: How to remote access the web dashboard - Storj Docs или [Tech Preview] Multinode Dashboard Binaries.

Для портов 28967/tcp и 28967/udp нужно настроить правило(-а) переадресации на локальный IP вашего устройства. В исходящих правилах не нужно ставить ограничение к каким внешним адресам и портам ваше устройство должно подключаться.

да, identity подписана
2 и 3 возвращает

как пользоваться сервисом из терминала?
роутер mikrotik - поставил на него скрипт на прослушку и обновление ip,
тестил примерно неделю, у машины ip не слетает.

:local noipuser "UUU"
:local noippass "PPP"
:local noiphost "all.ddnskey.com"
:local inetinterface "ether1"
 
:global previousIP
 
:if ([/interface get $inetinterface value-name=running]) do={
# Get the current IP on the interface
   :local currentIP [/ip address get [find interface="$inetinterface" disabled=no] address]
 
# Strip the net mask off the IP address
   :for i from=( [:len $currentIP] - 1) to=0 do={
       :if ( [:pick $currentIP $i] = "/") do={ 
           :set currentIP [:pick $currentIP 0 $i]
       } 
   }
 
   :if ($currentIP != $previousIP) do={
       :log info "No-IP: Current IP $currentIP is not equal to previous IP, update needed"
       :set previousIP $currentIP
 
# The update URL. Note the "\3F" is hex for question mark (?). Required since ? is a special character in commands.
       :local url "http://dynupdate.no-ip.com/nic/update\3Fmyip=$currentIP"
       :local noiphostarray
       :set noiphostarray [:toarray $noiphost]
       :foreach host in=$noiphostarray do={
           :log info "No-IP: Sending update for $host"
           /tool fetch url=($url . "&hostname=$host") user=$noipuser password=$noippass mode=http dst-path=("no-ip_ddns_update-" . $host . ".txt")
           :log info "No-IP: Host $host updated on No-IP with IP $currentIP"
       }
   }  else={
       :log info "No-IP: Previous IP $previousIP is equal to current IP, no update needed"
   }
} else={
   :log info "No-IP: $inetinterface is not currently running, so therefore will not update."
}
sudo nslookup ZZZ.ZZZ.ZZZ.100 8.8.8.8
ZZZ.ZZZ.ZZZ.100.in-addr.arpa      name = ZZZ-ZZZ-ZZZ-100.broadband.operator.ru.

возвращает ip машины.
ip назначен через noip.com

настроил аналогично основному роутеру mikrotik:

сейчас команда имеет вид:

docker run -d --restart unless-stopped --stop-timeout 300 \
-p 28968:28967/tcp \
-p 28968:28967/udp \
-p 14002:14002 \
-e WALLET="XXX" \
-e EMAIL="YYY@YYY.YY" \
-e ADDRESS="ZZZ.ZZZ.ZZZ.100:28967" \
-e STORAGE="2.7TB" \
--user $(id -u):$(id -g) \
--mount type=bind,source="/var/storj/identity/storagenode",destination=/app/identity \
--mount type=bind,source="/var/storj/data",destination=/app/config \
--log-opt max-size=50m \
--log-opt max-file=10 \
--name storagenode10 storjlabs/storagenode:latest

в дополнении сделал:

log.output: "/app/config/node.log"
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world
sudo chown -R -c user:docker /var/storj
chmod -R -c u+rwx /var/storj

Есть впечатление что права для новых файлов в директории раздаются неверно,
когда появились файлы *.db и прочие они были со стандартными правами доступа.
Ввёл повторно команды:

sudo chown -R -c user:docker /var/storj
chmod -R -c u+rwx /var/storj

текущий лог:

983 WARN received SIGTERM indicating exit request
984 INFO waiting for storagenode, processes-exit-eventlistener, storagenode-updater to die
    INFO    Got a signal from the OS: "terminated"  {"Process": "storagenode-updater"}
988 INFO stopped: storagenode-updater (exit status 0)
895 INFO stopped: storagenode (exit status 0)
897 INFO stopped: processes-exit-eventlistener (terminated by SIGTERM)
582 INFO RPC interface 'supervisor' initialized
582 INFO supervisord started with pid 1
586 INFO spawned: 'processes-exit-eventlistener' with pid 12
591 INFO spawned: 'storagenode' with pid 13
595 INFO spawned: 'storagenode-updater' with pid 14
    INFO    Configuration loaded    {"Process": "storagenode-updater", "Location": "/app/config/config.yaml"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "server.private-address"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "storage.allocated-disk-space"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "healthcheck.details"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "console.address"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "operator.wallet-features"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "storage.allocated-bandwidth"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "operator.email"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "server.address"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "contact.external-address"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "healthcheck.enabled"}
    INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "operator.wallet"}
    INFO    Anonymized tracing enabled      {"Process": "storagenode-updater"}
    INFO    Running on version      {"Process": "storagenode-updater", "Service": "storagenode-updater", "Version": "v1.105.4"}
    INFO    Downloading versions.   {"Process": "storagenode-updater", "Server Address": "https://version.storj.io"}
    INFO    Current binary version  {"Process": "storagenode-updater", "Service": "storagenode", "Version": "v1.105.4"}
    INFO    New version is being rolled out but hasn't made it to this node yet     {"Process": "storagenode-updater", "Service": "storagenode"}
    INFO    Current binary version  {"Process": "storagenode-updater", "Service": "storagenode-updater", "Version": "v1.105.4"}
    INFO    New version is being rolled out but hasn't made it to this node yet     {"Process": "storagenode-updater", "Service": "storagenode-updater"}
297 INFO success: processes-exit-eventlistener entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
297 INFO success: storagenode entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
298 INFO success: storagenode-updater entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Dashboard начал грузиться:
2024-07-19_11-37-25

нет. IP вам назначает ISP, а noip позволяет не менять его каждый раз в конфиге, когда ISP его снова поменяет и использовать домен вместо IP, это всё, что он умеет делать.
Этот IP совпадает с IP на yougetsignal и с WAN IP на роутере?

то есть у вас цепочка роутеров? Если так, то вам на первом надо сделать проброс этих портов на локальный IP вашего зависимого роутера, а на нём сделать проброс этих же портов уже на локальный IP вашего устройства с узлом. Либо второй роутер перевести в режим точки доступа и тогда правила будет нужно сделать только на основном и сразу на IP вашего устройства.

2024-07-20_09-29-39 (2)

WAN IP адрес на роутере не совпадает, в NOIP адрес другой, nslookup возвращает адрес XX.XX.XX.100.
yougetsignal если запускаю из той же сети на другой машине возвращает XX.XX.XX.100.
в настройках команды запуска в Docker XX.XX.XX.100
2024-07-20_10-18-48

выразился неверно - у меня две разные изолированные друг от друга сети:

  1. static ip->mikrotik->windows->docker
  2. dhcp->noip->mikrotik->радио линк->свитч->rpi->docker.

Текущий кейс произвожу во 2ой сети.

тогда - всё. Ваш провайдер посадил вас за CGNAT.
Это верно только для случая, если вы посмотрели WAN IP на роутере, который напрямую к провайдеру подключен.
В этом случае у вас есть несколько вариантов:

  1. Связаться с провайдером и попросить публичный IP. Он может быть динамическим, тут вам как раз NOIP пригодится, будете использовать их домен и обновлятор на роутере, главное - чтобы IP был публичный (тогда WAN IP на роутере будет совпадать с IP на yougetsignal).
  2. Использовать VPN с пробросом портов, типа portmap.io, PIA, ngrok, AirVPN, PureVPN, и т.д. и в этом случае NOIP вам без разницы (кроме, может быть, PIA?).
1 Like

ок, благодарю за ответ - всё таки видимо проблема в сетевых настройках.
подключил услугу “белый-IP”, заменил адрес в команде docker, узел запустился.

следующая проблема с watchtower - запускается не корректно:

docker run -d --restart=always --name watchtower -v /var/run/docker.sock:/var/run/docker.sock storjlabs/watchtower storagenode10 watchtower --stop-timeout 300s

возвращает:

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

лог через docker logs watchtower посмотреть не могу не открывает, но ранее открывался и выдавал ошибки.

так же при запуске узла в логе остались сообщения:

INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "storage.allocated-bandwidth"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "server.private-address"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "operator.wallet-features"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "operator.wallet"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "server.address"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "storage.allocated-disk-space"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "console.address"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "contact.external-address"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "healthcheck.details"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "operator.email"}
INFO    Invalid configuration file key  {"Process": "storagenode-updater", "Key": "healthcheck.enabled"}

все вновь созданные файлы создаются с правами:

s -l /var/storj/data/orders/unsent
total 1644
-rw-r--r-- 1 user user    3436 Jul 20 13:21 unsent-orders-121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6-1721466000000000000.v1
-rw-r--r-- 1 user user  204223 Jul 20 13:11 unsent-orders-12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S-1721462400000000000.v1
-rw-r--r-- 1 user user 1230018 Jul 20 13:21 unsent-orders-12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S-1721466000000000000.v1
-rw-r--r-- 1 user user    7800 Jul 20 13:00 unsent-orders-12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs-1721462400000000000.v1
-rw-r--r-- 1 user user   48063 Jul 20 13:21 unsent-orders-12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs-1721466000000000000.v1
-rw-r--r-- 1 user user  106889 Jul 20 12:59 unsent-orders-1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE-1721462400000000000.v1
-rw-r--r-- 1 user user   52058 Jul 20 13:21 unsent-orders-1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE-1721466000000000000.v1

это нормально?
ставил рекурсивно на директорию:

chown -R -c user:docker /var/storj
chmod -R -c u+rwx /var/storj

можете игнорировать, если оно запустилось. Этот сервис не очень важен сейчас, хотя и работает с предупреждениями: базовый образ меняется крайне редко (только для обновлений безопасности), потому что там только скачивалка storagenode-updater, который, в свою очередь, скачает последнюю версию самого себя и узла.

Но, скорее всего, скоро базовый образ нам придётся обновить, текущий дистрибутив больше не поддерживается.

INFO Сообщения от storagenode-updater можно игнорировать, он использует тот же конфиг, что и узел, но не умеет некоторые параметры из конфига и жалуется.

наверное. Зависит от того, донастроили ли вы docker:

если нет, придётся запускать с sudo, тогда, скорее всего, не очень важно, кто там владелец, они все будут root… и в этом случае лучше его и поставить владельцем во избежание и убрать опцию --user $(id -i):$(id -g) из вашей команды docker run.
Хотя я бы порекомендовал донастроить. Ну или хотя бы вашего пользователя в группу docker добавить. Если не планируете, можете вернуть владельца обратно на root и всегда запускать с sudo.

А это буквально в переводе - получили публичный IP. Ну, или как они обозвали - “белый IP”. Надеюсь бесплатно. Потому что у них, обычно, есть две опции:

  • платная - статический публичный IP;
  • бесплатная (при возможности) - динамический публичный IP.

В первом случае NOIP вам вообще не нужен - IP всегда будет одинаковый, пока платите. Во втором - NOIP (или аналоги) нужны, иначе при смене IP всегда надо будет конфиг обновлять и перезапускать узел. В случае NOIP домена вы пропишете этот домен в конфиге и никогда его менять не будете. Но нужно настроить обновлятор для этого NOIP домена. Либо на роутере (лучший вариант, потому что он обычно вкурсе, когда ваш провайдер решил поменять адрес и потому обновляет его в домене практически моментально) или на вашем ПК с помощью отдельной программы (не рекомендуется), она проверяет актуальность адреса с какой-то периодичностью. Если у вас бесплатный аккаунт - раз в несколько часов, в течение которых ваш узел будет оффлайн.

скорее всего эти статьи я пропустил, буду разбираться дальше.
Во всяком случае сегодня получен очень крутой результат, к которому шёл очень долго и растянул этот процесс на несколько лет.
Я запустил узел в Linux с роутером mikrotik без каких-либо фундаментальных знаний этих процессов.
Дальше будет зеркальная настройка уже пройденного на сервере, купленном и собранном ещё в 2021 году и rsync уже имеющихся узлов из Windows в Linux.
Это уже с большой долей вероятности вызовет создание новой ветки на форуме:)

А на данный момент выражаю бесконечную благодарность (не в первый раз) Алексею, без вашей помощи я бы в очередной раз затух и всё заморозил. СПАСИБО!
Благодарность ребятам, что помогали комментариями к вопросам к этому посту.

Ну и пойду праздновать что-ли?
А начиная с понедельника закончу донастройку Docker и начну следующий этап битвы, о котором писал ранее.

1 Like

пробился на специалиста, который прояснил что у них вся сеть находится за CGNAT и возможность предоставить динамический публичный ip у них отсутствует в принципе.
поэтому мой единственный вариант без костылей - платный статический публичный IP.
скрипт обновления из schelduler деактивировал, в команду запуска внёс предоставленный ip.

сочувствую. У меня - “динамический”. В кавычках, потому что меняется только если я просрочил оплату за обычное использование (ну, они иногда тарифы меняют, а автоплатёж не в курсе…). Но отдельно я за почти-статический не плачу.

Хотя в этом году мне пришлось платно его поменять, потому что Гугл решил, что подключаться из России - это прямо вообще низззя…
А у меня там, кроме узлов, больше вообще ничего не работает, как сервер, доступный из интернет.

по этому провайдеру (из big five) давно не прогружался в тему сети, так как на нём крутятся только дом и офис с базовыми потребностями.

весь процесс Storj локализовал в другом помещении, где протянут отдельный опто линк с выделенным ip прямо до узла другого провайдера.
это маленький местный провайдер, с ребятами дружеские отношения и вытекающие из этого бонусы. в этом году у провайдера была проблема с Google DNS, как то в моменте они вышли из этого, потом восстановили доступ к 8.8.8.8

в планах на этот год взять большую пропускную способность, так как текущий линк 100Мб/с и на нём уже крутятся 4 узла.


в стойке сверху - текущий “билд” на storj (непотребного вида комп и дисковая полка)
нижний - сервер на который давние планы переехать.

а на этом фото так выглядело помещение когда я в него заходил:

в принципе в РФ как-то душно с этим направлением стало,
а обсуждение на форуме в прошлом году об отказе от операторов нод из РФ меня вообще прибило надолго.

1 Like

Ох, даже не напоминайте… Я даже вернуться не могу… да чтоб их всех перевернуло и хлопнуло…

Мы, в отличие от некоторых, соблюдаем законодательство. РФ - не запрещено, чтобы там местечковые не думали. Перо, паровоз, барабан, в нужной последовательности в необходимые места и в правильной последовательности для достижения ожидаемого результата.

Вам нужно это в

но - на английском, там люди со всего мира (я вообще ни разу не шучу). Английский для них - в точности, как для вас, совсем не родной.