Поломалась нода, помогите!

Почему нода в офлайне не могу понять?


Обновил файл и всё равно офлайн.

Я наверное ответа не дождусь?

Лог файл

2020-04-23T00:42:27.099+0300 INFO piecestore upload canceled {“Piece ID”: “CRXXYTXIWYOXMG4QJ3HRP6PWQASHOP6A74ZNYBWNVGHFLASFMKVA”, “Satellite ID”: “1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE”, “Action”: “PUT”, “error”: “context canceled”, “errorVerbose”: “context canceled\n\tstorj.io/common/pb/pbgrpc.init.0.func3:70\n\tstorj.io/common/rpc/rpcstatus.Wrap:77\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:362\n\tstorj.io/storj/storagenode/piecestore.(*drpcEndpoint).Upload:215\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:987\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:107\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:105\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:56\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:93\n\tstorj.io/drpc/drpcctx.(*Tracker).track:51”}
2020-04-23T00:42:27.102+0300 ERROR piecestore failed to add bandwidth usage {“error”: “bandwidthdb error: database disk image is malformed”, “errorVerbose”: “bandwidthdb error: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).getSummary:170\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Summary:112\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:51\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).saveOrder:721\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload.func5:346\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:362\n\tstorj.io/storj/storagenode/piecestore.(*drpcEndpoint).Upload:215\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:987\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:107\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:105\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:56\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:93\n\tstorj.io/drpc/drpcctx.(*Tracker).track:51”}
2020-04-23T00:42:27.159+0300 ERROR piecestore failed to add bandwidth usage {“error”: “bandwidthdb error: database disk image is malformed”, “errorVerbose”: “bandwidthdb error: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).getSummary:170\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Summary:112\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:51\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).saveOrder:721\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload.func5:346\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:362\n\tstorj.io/storj/storagenode/piecestore.(*drpcEndpoint).Upload:215\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:987\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:107\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:105\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:56\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:93\n\tstorj.io/drpc/drpcctx.(*Tracker).track:51”}
2020-04-23T00:42:27.165+0300 ERROR piecestore failed to add bandwidth usage {“error”: “bandwidthdb error: database disk image is malformed”, “errorVerbose”: “bandwidthdb error: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).getSummary:170\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Summary:112\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:51\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).saveOrder:721\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:443\n\tstorj.io/storj/storagenode/piecestore.(*drpcEndpoint).Upload:215\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:987\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:107\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:105\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:56\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:93\n\tstorj.io/drpc/drpcctx.(*Tracker).track:51”}
2020-04-23T00:42:27.165+0300 INFO piecestore uploaded {“Piece ID”: “7HU6F6DQVE6FKUQ5IOYEGRPXHYB3HGB5HKGDTL7EBCQKWHKEIOLQ”, “Satellite ID”: “1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE”, “Action”: “PUT”}
2020-04-23T00:42:27.218+0300 ERROR piecestore failed to add bandwidth usage {“error”: “bandwidthdb error: database disk image is malformed”, “errorVerbose”: “bandwidthdb error: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).getSummary:170\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Summary:112\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:51\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).saveOrder:721\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload.func5:346\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).doUpload:362\n\tstorj.io/storj/storagenode/piecestore.(*drpcEndpoint).Upload:215\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:987\n\tstorj.io/drpc/drpcmux.(*Mux).HandleRPC:107\n\tstorj.io/drpc/drpcserver.(*Server).handleRPC:105\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:56\n\tstorj.io/drpc/drpcserver.(*Server).Serve.func2:93\n\tstorj.io/drpc/drpcctx.(*Tracker).track:51”}

Попробуйте Ctrl-F5 в браузере

Не помогает Ctrl-F5, перезагрузка тоже не помогла. Перезапуск службы тоже не дал результат

Тогда давайте проверим по списку:

  1. Сравните WAN IP на главной странице роутера с IP тут: 2ip.ru
    Если они не совпадают, проброс порта работать не будет.
  2. Проверьте правило проброса порта на роутере, оно должно использовать тот же IP, что и ваш ПК.
  3. Убедитесь, что внешний адрес в параметре contact.external-address: указан вместе с портом и совпадает с WAN IP и публичным IP. Если у вас динамический публичный IP, вам необходимо использовать DDNS hostname вместо IP. Его можно получить например на noip.com Если вы уже его используете, проверьте, что он обновлён и указывает на ваш текущий публичный IP.
  4. Проверьте порт 28967 на 2ip.ru

Не сразу заметил. Проверьте и исправьте все ошибки БД:

  1. IP статичный
  2. проброс порта есть.
    3.совподает и работает
    4.порт открыт
    Но не работает нода, 4 месяца отработала где-то не было проблем, а тут на те вам

А для операционной Windows нет инструкции? Докером не пользовался

Она универсальная. Установите sqlite3 локально и используйте её. Либо установите в WSL и используйте оттуда.

У меня есть двух месячной давности бекап этих файлов, можно просто заменить?

Так можно сделать или не стоит?

Не стоит. Если врсстановите всю ноду, она будет дисквалифицирована. Если восстановите только эту базу данных, то статистика на доске не будет соответствовать действительности.


Вообще непонятно что делать ))

Закрыть это окно, открыть Powershell или cmd и выполнять команды оттуда

PS C:\Users\odmin> sqlite3 D:/StorJ/bandwidth.db “PRAGMA integrity_check;”
*** in database main ***
Page 3: btreeInitPage() returns error code 11
Page 4: btreeInitPage() returns error code 11
Page 12: btreeInitPage() returns error code 11
Page 7: btreeInitPage() returns error code 11
Page 9: btreeInitPage() returns error code 11
Page 8: btreeInitPage() returns error code 11
Page 11: btreeInitPage() returns error code 11
Page 10: btreeInitPage() returns error code 11
Page 13 is never used
Page 14 is never used
Page 15 is never used
Page 16 is never used
Page 17 is never used
Page 18 is never used
Page 19 is never used
Page 20 is never used
Page 21 is never used
Page 22 is never used
Page 23 is never used
Page 24 is never used
Page 25 is never used
Page 26 is never used
Page 27 is never used
Page 28 is never used
Page 29 is never used
Page 30 is never used
Page 31 is never used
Page 32 is never used
Page 33 is never used
Page 34 is never used
Page 35 is never used
Page 36 is never used
Page 37 is never used
Page 38 is never used
Page 39 is never used
Page 40 is never used
Page 41 is never used
Page 42 is never used
Page 43 is never used
Page 44 is never used
Page 45 is never used
Page 46 is never used
Page 47 is never used
Page 48 is never used
Page 49 is never used
Page 50 is never used
Page 51 is never used
Page 52 is never used
Page 53 is never used
Page 54 is never used
Page 55 is never used
Page 56 is never used
Page 57 is never used
Page 58 is never used
Page 59 is never used
Page 60 is never used
Page 61 is never used
Page 62 is never used
Page 63 is never used
Page 64 is never used
Page 65 is never used
Page 66 is never used
Page 67 is never used
Page 68 is never used
Page 69 is never used
Page 70 is never used
Page 71 is never used
Page 72 is never used
Page 73 is never used
Page 74 is never used
Page 75 is never used
Page 76 is never used
Page 77 is never used
Page 78 is never used
Page 79 is never used
Page 80 is never used
Page 81 is never used
Page 82 is never used
Page 83 is never used
Page 84 is never used
Page 85 is never used
Page 86 is never used
Page 87 is never used
Page 88 is never used
Page 89 is never used
Page 90 is never used
Page 91 is never used
Page 92 is never used
Page 93 is never used
Page 94 is never used
Page 95 is never used
Page 96 is never used
Page 97 is never used
Page 98 is never used
Page 99 is never used
Page 100 is never used
Page 101 is never used
Page 102 is never used
Page 103 is never used
Page 104 is never used
PS C:\Users\odmin> sqlite3 D:\StorJ\info.db “PRAGMA integrity_check;”
ok
PS C:\Users\odmin> sqlite3 D:\StorJ\notifications.db “PRAGMA integrity_check;”
ok
PS C:\Users\odmin> sqlite3 D:\StorJ\orders.db “PRAGMA integrity_check;”
ok
PS C:\Users\odmin> sqlite3 D:\StorJ\piece_expiration.db “PRAGMA integrity_check;”
ok
PS C:\Users\odmin> sqlite3 D:\StorJ\piece_spaced_used.db “PRAGMA integrity_check;”
ok
PS C:\Users\odmin> sqlite3 D:\StorJ\pieceinfo.db “PRAGMA integrity_check;”
ok
PS C:\Users\odmin> sqlite3 D:\StorJ\reputation.db “PRAGMA integrity_check;”
ok

Что нужно сделать в 10 пункте не пойму
cat /storage/dump_all.sql | grep -v TRANSACTION | grep -v ROLLBACK | grep -v COMMIT >/storage/dump_all_notrans.sql
Первые пункты сделал
Там описано всё под линукс, а мне сиди и ломай голову как это внедрить в windows и что этим хотели сказать

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

cat D:\StorJ\dump_all.sql | sls -NotMatch TRANSACTION | sls -NotMatch ROLLBACK | sls -NotMatch COMMIT >D:\StorJ\dump_all_notrans.sql

Все пути типа /storage/ заменяются на D:\StorJ\

Я так подозреваю этого не должно быть?