Упал объем передаваемого трафика. Помогите разобраться

Здравствуйте.
Несколько дней назад заметил, что отдаваемый трафик начал падать.
Выглядит так:
1
В log файле ошибок кроме этой нет:

Сводка

2023-04-16T18:52:32.765+0300 WARN trust Failed to fetch URLs from source; used cache {“source”: “https://www.storj.io/dcs-satellites”, “error”: “HTTP source: Get "https://www.storj.io/dcs-satellites\”: read tcp 192.168.1.139:51100->34.120.119.150:443: wsarecv: An existing connection was forcibly closed by the remote host.“, “errorVerbose”: “HTTP source: Get "https://www.storj.io/dcs-satellites\”: read tcp 192.168.1.139:51100->34.120.119.150:443: wsarecv: An existing connection was forcibly closed by the remote host.\n\tstorj.io/storj/storagenode/trust.(*HTTPSource).FetchEntries:68\n\tstorj.io/storj/storagenode/trust.(*List).fetchEntries:90\n\tstorj.io/storj/storagenode/trust.(*List).FetchURLs:49\n\tstorj.io/storj/storagenode/trust.(*Pool).fetchURLs:251\n\tstorj.io/storj/storagenode/trust.(*Pool).Refresh:188\n\tstorj.io/storj/storagenode.(*Peer).Run:882\n\tmain.cmdRun:251\n\tstorj.io/private/process.cleanup.func1.4:377\n\tstorj.io/private/process.cleanup.func1:395\n\tgithub.com/spf13/cobra.(*Command).execute:852\n\tgithub.com/spf13/cobra.(*Command).ExecuteC:960\n\tgithub.com/spf13/cobra.(*Command).Execute:897\n\tstorj.io/private/process.ExecWithCustomConfigAndLogger:92\n\tstorj.io/private/process.ExecWithCustomConfig:74\n\tstorj.io/private/process.Exec:64\n\tmain.(*service).Execute.func1:61\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:75”}

Объем данных закачиваемых и скачиваемых определяется клиентами и пользователями, и, как и сток маркет, невозможно предсказать. Мой трафик за Апрель выглядит вот так:

1 Like

Понял, спасибо!
Просто столкнулся с такой ситуацией в первый раз.

Недавно абьюзеры массово заливали файлы в STORJ. На моих нодах дневной ingress был 120Gb. Сейчас он вернулся к 50-60Gb в день и как и у многих, на некоторых нодах чудовищно вырос trash (около 1Tb).

Добрый день, а вот такое состояние ноды это нормально?

Нода онлайн:

В логах есть какие-то ошибки:
C:\Users\User>docker logs --tail 20 storagenode
2023-04-25T13:25:41.338Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34494”}
2023-04-25T13:25:41.367Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34486”}
2023-04-25T13:25:41.783Z INFO piecestore download canceled {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 0, “Remote Address”: “172.17.0.1:34494”}
2023-04-25T13:25:47.598Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “FPIP7XA2FMGN35J2J55J6N2C5FURXFM4EVE3AFCMQ3YEMXMGSNDA”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 512, “Remote Address”: “172.17.0.1:34514”}
2023-04-25T13:25:47.789Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “FPIP7XA2FMGN35J2J55J6N2C5FURXFM4EVE3AFCMQ3YEMXMGSNDA”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 512, “Remote Address”: “172.17.0.1:34514”}
2023-04-25T13:25:52.813Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “SLKU7J2DSOKOAP5ZZY4UNF2BEPTXHCZRJCRVEFTN2BNPNAU5JGWA”, “Satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “Action”: “GET”, “Offset”: 1209600, “Size”: 2560, “Remote Address”: “172.17.0.1:33554”}
2023-04-25T13:25:53.086Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34534”}
2023-04-25T13:25:53.251Z INFO piecestore download canceled {“Process”: “storagenode”, “Piece ID”: “SLKU7J2DSOKOAP5ZZY4UNF2BEPTXHCZRJCRVEFTN2BNPNAU5JGWA”, “Satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “Action”: “GET”, “Offset”: 1209600, “Size”: 0, “Remote Address”: “172.17.0.1:33554”}
2023-04-25T13:25:53.785Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34534”}
2023-04-25T13:25:54.208Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34540”}
2023-04-25T13:25:54.920Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34540”}
2023-04-25T13:25:56.891Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34550”}
2023-04-25T13:25:57.702Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34550”}
2023-04-25T13:25:58.888Z INFO piecedeleter delete piece sent to trash {“Process”: “storagenode”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Piece ID”: “LDFS5R34BQRJMKA2OAXREBVTD5Q3GR3SX6RM62X4DOWL7Y4MD2GA”}
2023-04-25T13:25:59.296Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “LF76HWGJKWFBPSKXVWY5LTOK45YFBGAOHSER7UVQ6SQIPWZJNTQQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 36352, “Remote Address”: “172.17.0.1:52272”}
2023-04-25T13:25:59.812Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “LF76HWGJKWFBPSKXVWY5LTOK45YFBGAOHSER7UVQ6SQIPWZJNTQQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 36352, “Remote Address”: “172.17.0.1:52272”}
2023-04-25T13:26:03.209Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “CCECSTX2BGSXTGKMJR32OPATNI7GKUCI25Q3EVUDC4OTHTBMBUTQ”, “Satellite ID”: “121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6”, “Action”: “GET”, “Offset”: 352256, “Size”: 2560, “Remote Address”: “172.17.0.1:33678”}
2023-04-25T13:26:03.416Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34582”}
2023-04-25T13:26:03.498Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “CCECSTX2BGSXTGKMJR32OPATNI7GKUCI25Q3EVUDC4OTHTBMBUTQ”, “Satellite ID”: “121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6”, “Action”: “GET”, “Offset”: 352256, “Size”: 2560, “Remote Address”: “172.17.0.1:33678”}
2023-04-25T13:26:04.234Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “CWDCWE5KCZ3H2GWDWBQVLTCOCKMWLGBB363PLXLPMCHDPIOQG4IQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 102656, “Remote Address”: “172.17.0.1:34582”}

C:\Users\User>docker logs --tail 20 storagenode3
2023-04-25T13:27:20.683Z INFO piecestore uploaded {“Process”: “storagenode”, “Piece ID”: “SAJXFZJAW6O5QLVVNK2UJXXC5FBYVDML5IYHD4YIUX777U5TRCHQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “PUT”, “Size”: 16640, “Remote Address”: “172.17.0.1:37984”}
2023-04-25T13:27:21.715Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “DRRHRAI3MOZW2ETCNKWM6BSZ3EZVLPNV27NJC3IRBOPGK7FAPI2A”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 115712, “Remote Address”: “172.17.0.1:38024”}
2023-04-25T13:27:22.119Z ERROR piecestore failed to add bandwidth usage {“Process”: “storagenode”, “error”: “bandwidthdb: database disk image is malformed”, “errorVerbose”: “bandwidthdb: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:60\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).beginSaveOrder.func1:852\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download.func7:763\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:780\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”}
2023-04-25T13:27:22.120Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “DRRHRAI3MOZW2ETCNKWM6BSZ3EZVLPNV27NJC3IRBOPGK7FAPI2A”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “GET”, “Offset”: 0, “Size”: 115712, “Remote Address”: “172.17.0.1:38024”}
2023-04-25T13:27:22.160Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “GEYPTFPEABBNE4BDGHKXIDZPHWMKS5WAW5DDU5IPOCJYWAOBB6CQ”, “Satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “Action”: “GET”, “Offset”: 2005760, “Size”: 2560, “Remote Address”: “172.17.0.1:38026”}
2023-04-25T13:27:22.330Z ERROR piecestore failed to add bandwidth usage {“Process”: “storagenode”, “error”: “bandwidthdb: database disk image is malformed”, “errorVerbose”: “bandwidthdb: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:60\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).beginSaveOrder.func1:852\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download.func7:763\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:780\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”}
2023-04-25T13:27:22.333Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “GEYPTFPEABBNE4BDGHKXIDZPHWMKS5WAW5DDU5IPOCJYWAOBB6CQ”, “Satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “Action”: “GET”, “Offset”: 2005760, “Size”: 2560, “Remote Address”: “172.17.0.1:38026”}
2023-04-25T13:27:22.716Z INFO piecestore download started {“Process”: “storagenode”, “Piece ID”: “ILLLCJIWULAJVPB7TO6ZKM3PN2UDOSIOXQLX4E63K2SBE4CVAPZA”, “Satellite ID”: “121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6”, “Action”: “GET_REPAIR”, “Offset”: 0, “Size”: 1280, “Remote Address”: “172.17.0.1:38032”}
2023-04-25T13:27:22.775Z INFO piecestore upload started {“Process”: “storagenode”, “Piece ID”: “IBK332NA5K6SKBEQWUOIRVWP6A7APAJUJDRQUO73WM6ENQD6MVDQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “PUT”, “Available Space”: 1525050043611, “Remote Address”: “172.17.0.1:38034”}
2023-04-25T13:27:22.778Z INFO piecestore upload started {“Process”: “storagenode”, “Piece ID”: “FZVHDWQLAITPBEUUBGCIMGTXY4YQEKM6QDXPORHPBEPIGRKGEKRA”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “PUT”, “Available Space”: 1525050043611, “Remote Address”: “172.17.0.1:37974”}
2023-04-25T13:27:22.991Z ERROR piecestore failed to add bandwidth usage {“Process”: “storagenode”, “error”: “bandwidthdb: database disk image is malformed”, “errorVerbose”: “bandwidthdb: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:60\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).beginSaveOrder.func1:852\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download.func7:763\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Download:780\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”}
2023-04-25T13:27:22.995Z INFO piecestore downloaded {“Process”: “storagenode”, “Piece ID”: “ILLLCJIWULAJVPB7TO6ZKM3PN2UDOSIOXQLX4E63K2SBE4CVAPZA”, “Satellite ID”: “121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6”, “Action”: “GET_REPAIR”, “Offset”: 0, “Size”: 1280, “Remote Address”: “172.17.0.1:38032”}
2023-04-25T13:27:23.062Z INFO piecestore upload started {“Process”: “storagenode”, “Piece ID”: “Z5BBNKH2AVIWGJ4XSQN4GX32W6Z7YKWFP2LKUDOAP3RKOY37X5AQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “PUT”, “Available Space”: 1525050019291, “Remote Address”: “172.17.0.1:36202”}
2023-04-25T13:27:23.067Z ERROR piecestore failed to add bandwidth usage {“Process”: “storagenode”, “error”: “bandwidthdb: database disk image is malformed”, “errorVerbose”: “bandwidthdb: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:60\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).beginSaveOrder.func1:852\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:505\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:243\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”}
2023-04-25T13:27:23.068Z INFO piecestore uploaded {“Process”: “storagenode”, “Piece ID”: “IBK332NA5K6SKBEQWUOIRVWP6A7APAJUJDRQUO73WM6ENQD6MVDQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “PUT”, “Size”: 512, “Remote Address”: “172.17.0.1:38034”}
2023-04-25T13:27:23.091Z ERROR piecestore failed to add bandwidth usage {“Process”: “storagenode”, “error”: “bandwidthdb: database disk image is malformed”, “errorVerbose”: “bandwidthdb: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:60\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).beginSaveOrder.func1:852\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:505\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:243\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”}
2023-04-25T13:27:23.091Z ERROR piecestore upload failed {“Process”: “storagenode”, “Piece ID”: “FZVHDWQLAITPBEUUBGCIMGTXY4YQEKM6QDXPORHPBEPIGRKGEKRA”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “PUT”, “error”: “context canceled”, “errorVerbose”: “context canceled\n\tstorj.io/common/rpc/rpcstatus.Wrap:75\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload.func5:498\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:504\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:243\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”, “Size”: 22784, “Remote Address”: “172.17.0.1:37974”}
2023-04-25T13:27:23.294Z INFO piecestore upload started {“Process”: “storagenode”, “Piece ID”: “GHFVPXWNVDM3C6UBMDLC3LVDXMDMIHIW5OINCAK5PL2MRII7OQOQ”, “Satellite ID”: “12tRQrMTWUWwzwGh18i7Fqs67kmdhH9t6aToeiwbo5mfS2rUmo”, “Action”: “PUT”, “Available Space”: 1525049981915, “Remote Address”: “172.17.0.1:38036”}
2023-04-25T13:27:23.298Z ERROR piecestore failed to add bandwidth usage {“Process”: “storagenode”, “error”: “bandwidthdb: database disk image is malformed”, “errorVerbose”: “bandwidthdb: database disk image is malformed\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:60\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).beginSaveOrder.func1:852\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:530\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:243\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”}
2023-04-25T13:27:23.299Z INFO piecestore uploaded {“Process”: “storagenode”, “Piece ID”: “Z5BBNKH2AVIWGJ4XSQN4GX32W6Z7YKWFP2LKUDOAP3RKOY37X5AQ”, “Satellite ID”: “12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “PUT”, “Size”: 36864, “Remote Address”: “172.17.0.1:36202”}

Что не так?

Похоже и здесь нужно восстанавливать базы данных((

eto ukazyvaet 4to baza danny povrezhdena, mozhno udalit, i perezapustit node, on sozdast novuju, poterjaete tolko statistiku, vsjo ostalnoe budet ok, na vyplaty ne vlijaet.

Частота, с которой люди тут постят что базы данных повредились, ни в какие ворота не лезет. SQLite жутко надежная база данных, но не всемогущая: если доступ к базе написан правильно, единственный способ повредить базу это выдрать кабель питания, пока база открыта, и/или в любое другое время, если база находится на SSD без PLP.

UPSы дешевые, очень. SSD c PLP на иБее — тоже копейки.

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

1 Like

u menja vse bazy na ssd, za poslednii god a to i 3 goda ni razu ne lomalis tochno, a u menja 80+ nodes
skoree vsego bjutsa izza togo to nahodjatsa na diske s dannymi, i pri bolshoi nagruzke oshibki tozhe voznikajut pri zapisi.

Интересно! Я начал писать что такое никогда не должно происходить – потому что в противном случае дискам нельзя было бы доверять, и посреди параграфа осознал что так оно и есть – диски врут (bit-rot, плохой кабель – poor signal integrity), и если data integrity важно – нужно использовать checksumming filesystem, zfs/btrfs/и подобные.

Однако, все равно, вероятность того, что bit rot затронет именно те секторы, где база сидит, должна быть довольно маленькой. Может имеет смысл (особенно для однодисковых нод) перемещать базы в Ramdisk на старте, и (атомарно, move-copy-rename) копировать их на диск на стопе.

Это уберет проблемы с производительностью, и если что-то внезапно рухнуло – просто потеряться статистика за текущую сессию.

baza dannyh na ssd pomoimu dostato4no bystro i rabotaet.

1 Like

Я не из-за скорости, а сохранности данных. База на ССД может повредится если пропадет питание, например, в любое время между стартом и стопом ноды.

Если база в раме, то на диск она может попасть только если ноду остановили и ничего плохого по дороге не произошло. В противном случае – на диске останется старая база данных, которая скооперируется в рам на следующем старте ноды.

Это называется дисковый кэш записи. Но удастся ли на Windows заставить - не уверен.
Вообще можно попробовать включить кэш записи, но тогда управляемый UPS обязателен, иначе начнут повреждаться не только базы данных.

Это может помочь с производительностью но не решает проблему. Единственное решение — UPS:

Но ожидать что пользователи пойдут сразу его покупать не приходится.

Потому может стоит добавить стартап код чтоб проверять integrity SQLite. База сломалась — стираем (или переименовываем) и продолжаем как ни в чем ни бывало.

Это улучшит стабильность и заменит посты в стиле «моя года не стартует!!!» на «где вся моя статистика???», что значительно лучше.

Ну и в каментах можно будет посоветовать или купить UPS или перестать обращать внимание на статистику:

  • если у пользователей не было UPS до сих пор — явно это им ни как не мешает, а покупать железки для сторж не рекомендуется.
  • повреждение других сторж файлов не фатально — скорее всего это будет очень маленький процент.

С моей персональной точки зрения — то что UPS обязателен само собой разумеется. Это даже не вопрос, идея втыкать кабель питания прямо в розетку должно вызывать непреодолимую тревогу и беспокойство :).

Лишняя автоматизация потому и называется лишней.
Узел упадёт вместо этого, позволяя Оператору принять решение, может у вас есть бэкап БД сделанный за минуту до повреждения. Пересоздание БД необратимая операция и история может быть потеряна, а значит dashboard будет показывать неправильные цифры и смущать Оператора, а он будет безуспешно искать, в чём же была проблема, если всё исчезает самостоятельно.

я персонально согласен с вами, однако рекомендовать для всех от имени Storj не буду, потому что мы не рекомендуем производить любые инвестиции только для Storj. Если это делается не только для Storj, тогда проблем нету.
Опять же, надо руководствоваться здравым смыслом тоже. Например, мой узел на Raspi3 никогда не имел UPS и проблем с диском даже после внезапного отключения питания, хотя, конечно, в Спб отключение питания само по себе редкость, но - бывало.

1 Like

В этом случае я думаю это не будет лишним.

Вот пример: Database issue (No such table)

Если бы нода проверила integrity каждой базе на старте, и пересоздала поломанные (можно еще dismissible сообщение в дашборде написать — we detected database corruption and re-created the affected databases. Some statistic will be lost”, и послать имейл) — не было бы того топика и даунтайма ноды. И не пришлось бы сотрудникам Сторж объяснять в сотый раз как сделать вручную то, что нода должна была бы сделать сама.

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

Uptime важнее косметической статистики.

Можно скопировать испорченную базу куда нибудь

Сообщение в дашборде это решает. Эппл так делает с Time Machine: если пользователи бекапят на non-compliant SMB сервер и sparse bundle портится — тайм машина уведомляет пользователя что она начинает бекап сначала чтоб исправить повреждения.

Пожалуйста, передайте эту идею команде :slight_smile:

1 Like

zdes ja soglasen s @arrogantrabbit eto budet polezno dlja stoikosti sistemy. te polzovateli kotory delajut backup ne spashivajut zdes, 4to eto za oshibka i kak ejo ispravit, bolshinstvo teh kto sprashivajut, ne znajut 4to takoe baza dannyh i bazovyh printsipov ejo raboty.

1 Like

Передать идею можно здесь:

Или создать feature request: Issues · storj/storj · GitHub
Посмотрите, кстати, на Database files get corrupted too often · Issue #4213 · storj/storj · GitHub

А ещё лучше - сделать pull request, он будет рассмотрен командой быстрее всего.

1 Like