Восстановление ноды после миграции с проблемного HDD

и в логах watchtower на это время ничего нет?

Тогда только один вариант - ОС убивает контейнер по OOM.
Сколько памяти выделено для VM?
Если вы используете WSL2 engine, то сколько памяти на ПК и сколько свободно?

Подскажите пожалуйста, где посмотреть?

Зависит от используемой engine. Если Hyper-V, то в настройках Docker Desktop

устанавливал WSL2, настройки по умолчанию.
в настройках Docker функцию выделения памяти не нашёл, раньше вроде было.

Тогда зависит от версии WSL2, в более ранних версиях они использовали не более 50% установленной памяти.
В последних они похоже это ограничение убрали, так что возможно может съесть всё.
Сколько памяти на ПК и сколько свободно?

на ПК 32GB,
согласно Диспетчера задач используется 47%.
Из них Docker использует 228MB на 3 процесса.

docker run -it --rm ubuntu free
docker run -it --rm ubuntu free
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
2ab09b027e7f: Pull complete
Digest: sha256:67211c14fa74f070d27cc59d69a7fa9aeff8e28ea118ef3babc295a0428a6d21
Status: Downloaded newer image for ubuntu:latest
               total        used        free      shared  buff/cache   available
Mem:        26215276     1404016    22300008        8056     2511252    24459564
Swap:        7340032           0     7340032
failed to resize tty, using default size

то есть памяти должно быть достаточно. Интересно.
Попробуйте остановить watchtower (кстати, проверьте, нет ли нескольких запущенных её копий) и затем запустите узел.


других копий watchtower нет,
попробовал запустить, картина та же:

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

может быть целостность базы данных узла нужно проверить?
после переноса данных этого не делал.

Проверьте, хуже не будет.
То, что узел оффлайн может быть связано на этот раз с сетью, если контейнер работает и больше не останавливается.

docker run --rm -it --mount type=bind,source=F:\data\storage,destination=/data sstc/sqlite3 find . -iname *.db -maxdepth 1 -print -exec sqlite3 '{}' 'PRAGMA INTEGRITY_CHECK;' ';'
./bandwidth.db
ok
./heldamount.db
ok
./info.db
ok
./notifications.db
ok
./orders.db
ok
./pieceinfo.db
ok
./piece_expiration.db
ok
./piece_spaced_used.db
ok
./pricing.db
ok
./reputation.db
ok
./satellites.db
ok
./secret.db
ok
./storage_usage.db
ok
./used_serial.db
ok

эксперимент с заменой порта провёл - узел не запустился, в логах те же ошибки.

Когда вы отключили watchtower, узел всё равно был остановлен?
Какая политика рестартов указана для контейнера?

да

подскажите пожалуйста, где можно посмотреть?

В вашей команде docker run в опции --restart

как и на остальных узлах:
--restart unless-stopped

Тогда у меня закончились идеи, что останавливает контейнер.
Что у вас в config.yaml этого узла?

1 Like