Восстановление ноды после миграции с проблемного узла - часть 2

Да, всё верно, выключенные сателлиты нужно удалить вместе с оставшимися данными.

Процедура очистки данных от упразднённых сателлитов успешно пройдена на всех узлах, благодарю за ценные комментарии и помощь.

Также после запуска узел выдает следующие ошибки в логах:

ERROR	piecestore	download failed	{"process": "storagenode", "Piece ID": "6UFSVX2TQ36S72INYDHNK4KI5SLM2PWSH5CBZY3EXF4BDDPXWJAQ", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET", "Offset": 2306560, "Size": 0, "Remote Address": "172.17.0.1:51904", "error": "pieces error: invalid piece file for storage format version 1: too small for header (2 < 512)", "errorVerbose": "pieces error: invalid piece file for storage format version 1: too small for header (2 < 512)\n\tstorj.io/storj/storagenode/pieces.NewReader:230\n\tstorj.io/storj/storagenode/pieces.(*Store).Reader:318\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:669\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func2:251\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:61\n\tstorj.io/common/experiment.(*Handler).HandleRPC:42\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:124\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:114\n\tstorj.io/drpc/drpcctx.(*Tracker).track:35"}

Таких ошибок достаточно много за 2 дня работы узла, около 6 тыс. штук.

Что я могу с этим предпринять?

Это печаль. Это означает повреждённые кусочки. Скоро это скажется на оценке аудита.
Предпринять ничего нельзя, если права корректные и восстановить эти кусочки неоткуда. Вычислить имя файла кусочка по его Piece ID возможно, см.

Права корректные, а кусочки в теории восстановить можно - данные с предыдущего диска пока не стёрты.

Тем более из 5900 ошибок только 1 или 2 ошибки принадлежат к кусочку Y4SYLOIDDQ2KWSSDT3U4LS6J4UJFSDSTLOYJOJYMHDUXWYSBLVGA, а все остальные к 6UFSVX2TQ36S72INYDHNK4KI5SLM2PWSH5CBZY3EXF4BDDPXWJAQ.

Тогда можете попробовать скопировать (только без опции /MIR!!!) содержимое blobs папки. Лишнее удалит сборщик мусора. Либо вычислить имена только этих кусочков и только их и скопировать.

спасибо, пробую, напишу здесь в теме по результату.

1 Like

Кусочек нашёл и заменил обычным копированием, права доступа проверил.

На данный момент за несколько минут пока 3 ошибки:

ERROR	piecestore	download failed	{"process": "storagenode", "Piece ID": "HO7YFXJZQL663AUICYRUBWXAQMMFMDWEZ4CZ2UP53OMNUHEHK63A", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET", "Remote Address": "172.17.0.1:45180", "error": "untrusted: unable to get signee: trust: rpc: tcp connector failed: rpc: dial tcp: lookup us1.storj.io: operation was canceled", "errorVerbose": "untrusted: unable to get signee: trust: rpc: tcp connector failed: rpc: dial tcp: lookup us1.storj.io: operation was canceled\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).VerifyOrderLimitSignature:140\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).verifyOrderLimit:62\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:616\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func2:251\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:61\n\tstorj.io/common/experiment.(*Handler).HandleRPC:42\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:124\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:114\n\tstorj.io/drpc/drpcctx.(*Tracker).track:35"}
ERROR	piecestore	download failed	{"process": "storagenode", "Piece ID": "52H4MU3XDWBYJT7YRFRW7P3RKGZTZGHZUGIICVXZPT5DTEPPIP4Q", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET", "Remote Address": "172.17.0.1:45206", "error": "trust: rpc: tcp connector failed: rpc: context canceled", "errorVerbose": "trust: rpc: tcp connector failed: rpc: context canceled\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:190"}
ERROR	piecestore	download failed	{"process": "storagenode", "Piece ID": "A3L6PN54FZFC2R6LO5MJ4BPCZ6DBOX7CTV2BLOJGKSEBLVA7MLHQ", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "Action": "GET", "Remote Address": "172.17.0.1:41248", "error": "trust: rpc: tcp connector failed: rpc: dial tcp 34.80.215.116:7777: operation was canceled", "errorVerbose": "trust: rpc: tcp connector failed: rpc: dial tcp 34.80.215.116:7777: operation was canceled\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:190"}

Пока что похоже на проблемы с DNS, попробуйте сконфигурировать 8.8.8.8 в качестве DNS сервера.

текущие сетевые настройки по DNS:

DNS1 XX.XXX.XXX.X
DNS2 8.8.8.8

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

Тогда что-то блокирует запросы на получение IP для хоста. Да и, похоже, вообще подключения.

Если вы только что перезагрузили ПК, то такое возможно. Сетевые службы стартуют не мгновенно.

ERROR	piecestore	download failed	{"process": "storagenode", "Piece ID": "HO7YFXJZQL663AUICYRUBWXAQMMFMDWEZ4CZ2UP53OMNUHEHK63A", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET", "Remote Address": "172.17.0.1:45180", "error": "untrusted: unable to get signee: trust: rpc: tcp connector failed: rpc: dial tcp: lookup us1.storj.io: operation was canceled", "errorVerbose": "untrusted: unable to get signee: trust: rpc: tcp connector failed: rpc: dial tcp: lookup us1.storj.io: operation was canceled\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).VerifyOrderLimitSignature:140\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).verifyOrderLimit:62\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:616\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func2:251\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:33\n\tstorj.io/common/rpc/rpctracing.(*Handler).HandleRPC:61\n\tstorj.io/common/experiment.(*Handler).HandleRPC:42\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:124\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:66\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:114\n\tstorj.io/drpc/drpcctx.(*Tracker).track:35"}
ERROR	piecestore	download failed	{"process": "storagenode", "Piece ID": "52H4MU3XDWBYJT7YRFRW7P3RKGZTZGHZUGIICVXZPT5DTEPPIP4Q", "Satellite ID": "12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S", "Action": "GET", "Remote Address": "172.17.0.1:45206", "error": "trust: rpc: tcp connector failed: rpc: context canceled", "errorVerbose": "trust: rpc: tcp connector failed: rpc: context canceled\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:190"}
ERROR	piecestore	download failed	{"process": "storagenode", "Piece ID": "A3L6PN54FZFC2R6LO5MJ4BPCZ6DBOX7CTV2BLOJGKSEBLVA7MLHQ", "Satellite ID": "121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6", "Action": "GET", "Remote Address": "172.17.0.1:41248", "error": "trust: rpc: tcp connector failed: rpc: dial tcp 34.80.215.116:7777: operation was canceled", "errorVerbose": "trust: rpc: tcp connector failed: rpc: dial tcp 34.80.215.116:7777: operation was canceled\n\tstorj.io/common/rpc.HybridConnector.DialContext.func1:190"}

это по какой из ошибок?
посмотрю в логах других узлов аналогичные.

по всем трём. context canceled = timeout. Обычно - результат работы файревола/антивируса. Или не рабочей сети (пока что?).

Глубоко нужно копнуть - антивирус Kaspersky, роутер Mikrotik.
К роутеру только прямой физический доступ - нужно съездить на объект.

Думаю стоит через пару дней посмотреть лог, на этих настройках сети всё крутится с марта этого года и пока без дисквалов.

Антивирус надо научить игнорировать узел - данные зашифрованные, проверять нечего. Можно проверить исполняемые файлы на всякий случай, но это - всё.

Всё-таки кусочек битый на источнике - в логах те же ошибки.

На сколько серьёзный и долговременный эффект от этой ошибки?
Есть какой-то понятный итог у этого процесса или это бесконечный цикл до дисквалификации узла?

Он будет проверяться до тех пор, пока либо не запустится процесс восстановления сегмента (когда уровень здоровых кусочков будет ниже сконфигурированного значения), либо пока клиент не удалит этот сегмент. Ваш узел содержит 1 кусочек из 80 для этого сегмента.