@Alexey объясните пожалуйста - в чем отличие на практике “storage2.piece-scan-on-startup: false” от применения “enable-lazy-filewalker”? Как работает “lazy-filewalker”? Есть ли смысл переводить все узлы на “lazy-filewalker”? Спасибо
Для начала поясню, что такое filewalker.
Это процесс обхода и вычисления размеров всех кусочков, принадлежащих вашему узлу, для предоставления точной информации о занятом и свободном месте как сателлитам, так и на dashboard.
Например, если у вас повредилась БД и/или вы пересоздали её, узел не сможет распознать свои кусочки, потому что эта информация была потеряна, filewalker восстановит эту информацию в БД (если она исправна) и узел “признает” свои кусочки и будет считать занятое и свободное место корректно.
Он так же помогает в случае, если диск используется совместно с чем-то другим (многие запускают майнер Chia на том же диске).
Это две совершенно разные опции.
Отключает запуск filewalker при старте узла. Это бывает полезно для медленных дисков и/или слабых систем типа Raspberry Pi, но применимо только если ничего больше не использует диск и БД исправна, иначе узел будет предоставлять неверную информацию о занятом и свободном месте как сателлитам, так и на dashboard.
Аргумент командной строки:
или параметр в config.yaml
pieces.enable-lazy-filewalker: true
включает возможность запуска filewalker с пониженным приоритетом, чтобы узел мог нормально обрабатывать клиентские запросы, а не зависать на секунды, если диск и/или ваша система неспособны их обрабатывать параллельно. Опять же полезно для медленных дисковых подсистем и/или слабых устройств типа Raspberry Pi. Но в результате filewalker будет работать значительно дольше.
Разумеется, работает только совместно с включенным filewalker (значение по умолчанию)
storage2.piece-scan-on-startup: true
Для включения “ленивого” нужно указать все 3 параметра?
storage.enable-lazy-filewalker: true
storage2.enable-lazy-filewalker: true
piece.enable-lazy-filewalker: true
Достаточно только правильного, если вы не выключали filewalker:
Не забудьте сохранить конфиг и перезапустить узел.
The question is, then what does “storage2.piece-scan-on-startup: false” scan?
because its scans too, but very shortly, just 2 minutes for every 1 TB here,
i will probaly leave it like that for ever! Love it!
(i will monitor free space for my self, don’t need such HDD wearing mechanism to do so)
(Bcause filewalker in normal way, is just unacceptable for me for 7TB and more discs.
it takes 3-4 days to finish, with good hdd access times, like 8-10ms, constant, but still takes days for full 7TB hdd.)
This is more like a trash cleaner. It removes expired pieces from the trash.
По-дефолту этот параметр активации filewalker включен.
Причем, выключая его, не тольно “…-on-startup”, но в принципе использование filewalker запрещается? Если так, то название параметра настройки, получается, не очень корректно отражает его суть.
Он включен по умолчанию, если вы его не выключили. Когда вы его выключаете, он не запускается на старте, но периодическое обновление баз данных информацией об использованном месте всё равно происходит.
Ну чтобы добить вопрос: правильно ли я понимаю, что активация режима lazy у filewalker происходит только в случае если не запрещено сканирование при старте (scan-on-startup)?
На used-space-filewalker - да, остальные не имеют параметра для отключения, кроме lazy true/false.
Но вы можете поэкспериментировать, я могу ошибаться, не все изменения смотрел.