Очистка не используемых файлов с диска

Добрый день!

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

Как понять какие данные не используются и их можно удалить? Есть какое-то ПО для этого?


18s3LXyqSXL7mPPoHT9wpkUqJBFupGUH8avkdHfW1PUgkYVfo9

какая версия используется?

Используется версия 1.105.4

обновить версию, рестартануть, подождать, если нет- сделать db check

и проверь папку треш от старых версий там может проблемка - ищи папки старше месяца

как сделать bd check?

есть старая папка, её можно удалять?

блобы не трогаем, смотрим в 4 папки в папке треш

Как я вам уже написал в тикете - лучше ничего не удалять из данных узла. Единственная папка, откуда можно относительно безопасно удалить всё, что старше 48 часов - это папка temp.

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

Удаление из blobs приведёт к неминуемой дисквалификации.

Принудительно обновлять до 1.107.x не рекомендуется до окончания этого релиза на https://version.storj.io, потому что этот релиз содержит миграции БД. Если произойдёт откат - узел не будет запускаться и вам придётся удалить все файлы БД (*.db), а вместе с ними - всю историю и текущую статистику. На выплаты это не влияет, но данные на доске будут вообще некорректные.

Судя по расхождению, у вас наверняка есть ошибки, связанные с filewalker и/или database, их нужно исправить.
Поискать в логах (PowerShell):

sls error "$env:ProgramFiles\Storj\Storage Node\storagenode.log" | sls "database|used-space" | select -last 10

PS C:\Windows\system32> sls error “$env:ProgramFiles\Storj\Storage Node\storagenode.log” | sls “database|used-space” | select -last 10

C:\Program Files\Storj\Storage Node\storagenode.log:1928060:2024-07-09T16:38:11+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE”, “action”:
“GET_REPAIR”, “amount”: 1778944, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/stor
j/storagenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}
C:\Program Files\Storj\Storage Node\storagenode.log:2290791:2024-07-10T00:37:33+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6”, “action”
: “PUT”, “amount”: 201520384, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/storj/st
oragenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}
C:\Program Files\Storj\Storage Node\storagenode.log:2483728:2024-07-10T05:37:16+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6”, “action”
: “PUT”, “amount”: 84423680, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/storj/sto
ragenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}
C:\Program Files\Storj\Storage Node\storagenode.log:2483732:2024-07-10T05:37:16+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “action”
: “PUT_REPAIR”, “amount”: 172436224, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/s
torj/storagenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}
C:\Program Files\Storj\Storage Node\storagenode.log:2604581:2024-07-10T08:37:29+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “action”
: “PUT_REPAIR”, “amount”: 181771776, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/s
torj/storagenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}
C:\Program Files\Storj\Storage Node\storagenode.log:2604769:2024-07-10T08:37:40+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “12L9ZFwhzVpuEKMUNUqkaTLGzwY9G24tbiigLiXpmZWKwmcNDDs”, “action”
: “PUT”, “amount”: 1018273024, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/storj/s
toragenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}
C:\Program Files\Storj\Storage Node\storagenode.log:2604823:2024-07-10T08:37:44+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6”, “action”
: “PUT”, “amount”: 110466304, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/storj/st
oragenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}
C:\Program Files\Storj\Storage Node\storagenode.log:2638534:2024-07-10T09:17:26+03:00 ERROR piecestore upload failed {“Piece ID”: “XKHJOCLBADICY2RYJZNYQELMBPDBNVXBC7ZHWYCMAQA4SQNSVSWQ”, “Satellite ID”: “12EayR
S2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S”, “Action”: “PUT”, “Remote Address”: “79.127.226.97:37948”, “Size”: 2304, “error”: “pieceexpirationdb: database is locked”, “errorVerbose”: “pieceexpirationdb: dat
abase is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*pieceExpirationDB).SetExpiration:115\n\tstorj.io/storj/storagenode/pieces.(*Store).SetExpiration:587\n\tstorj.io/storj/storagenode/piecestore.(*End
point).Upload.func6:483\n\tstorj.io/storj/storagenode/piecestore.(*Endpoint).Upload:516\n\tstorj.io/common/pb.DRPCPiecestoreDescription.Method.func1:294\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:167\n\tstorj.io/drpc/drpcserver.(*Server).ServeOne:109\n\tst
orj.io - This website is for sale! - orj Resources and Information.\n\tstorj.io/drpc/drpcctx.(*Tracker).track:35”}
C:\Program Files\Storj\Storage Node\storagenode.log:2651072:2024-07-10T09:37:13+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE”, “action”:
“GET_REPAIR”, “amount”: 27214080, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/sto
rj/storagenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}
C:\Program Files\Storj\Storage Node\storagenode.log:2651073:2024-07-10T09:37:13+03:00 ERROR orders failed to add bandwidth usage {“satellite ID”: “121RTSDpyNZVcEU84Ticf2L1ntiuUimbWgfATz21tuvgk3vzoA6”, “action”
: “PUT”, “amount”: 92196864, “error”: “bandwidthdb: database is locked”, “errorVerbose”: “bandwidthdb: database is locked\n\tstorj.io/storj/storagenode/storagenodedb.(*bandwidthDB).Add:76\n\tstorj.io/storj/sto
ragenode/orders.(*Service).SendOrders.func2:254\n\tgolang.org/x/sync/errgroup.(*Group).Go.func1:78”}

PS C:\Windows\system32>

Вот что ещё… (((

Как и ожидалось. Вы можете оптимизировать NTFS, если нет возможности не использовать Windows и NTFS (NTFS под Linux работает ещё хуже):

  1. проверить диск на ошибки и исправить их
  2. выключить 8dot3: NTFS Disable 8dot3name
  3. выключить atime: [Solved] Win10 20GB Ram Usage - #17 by arrogantrabbit
  4. включить кэш записи (обе галки в Политике диска), если у вас есть управляемый ИБП
  5. Провести дефрагментацию
  6. Включить автоматическую дефрагментацию для этого диска, если вы её выключили (она включена по умолчанию)
  7. Переместить БД на другой, менее загруженный диск/SSD: Move databases on Windows storagenode - #2 by Alexey

Зависит от причины. Есть всего две:

  1. online score ниже 60%. Восстановится, если узел будет онлайн в следующие 30 дней
  2. suspension score ниже 60%. Восстановится, если узел начнёт проходить аудиты без неожиданных ошибок (ожидаемые ошибки типа “file not found” или кусочек повреждён (в логе про это ничего не будет сказано), ещё 3 таймаута по 5 минут на получение кусочка для аудита (об этом можно косвенно узнать, если время между GET_AUDIT & started и finished больше 5 минут для одного и того же кусочка). Ожидаемые ошибки будут снижать audit score и всё может закончится дисквалификацией. Так что эта причина требует внимания.

Алексей, спасибо за ответ!

Проделаю описанные вами рекомендации и вернуть с обратной связью.

1 Like