Сохранение старых блоков на внешнем жестком диске и последние блоки на SSD
Я хотел бы сохранить последние 512 МБ блоков на моем SSD (используя обрезку?), а остальную блок-цепочку на внешнем жестком диске, отличном от SSD. Есть ли способ сделать это уже, или мне нужно написать скрипт, чтобы выполнить это?
3 ответа
Блоки не доступны при нормальной работе, за исключением: когда одноранговый выбор извлекает один (и последний блок обычно подается из кеша в памяти), когда происходит реорганизация, которая должна отменить эффект блока (который довольно редко), или когда вы используете RPC для поиска исторического блока.
С учетом этого, возможно, вы можете просто поместить свой каталог блоков на другой диск.
Если вы настроите свой узел на обрезку, но установите сокращенную сумму, намного превышающую объем данных блока, вы избежите того, чтобы сверстники извлекали из вас большое количество старых блоков (но все равно сохраняйте данные).
Если вы обнаружили высокий доступ к диску во время этой конфигурации, я думаю, что это то, что проект хотел бы исправить.
У вас может быть два datadirs, один локально и один на внешнем жестком диске, где каждый раз вы подключаете внешний жесткий диск и запускаете Bitcoin Core, чтобы использовать это как дату и синхронизировать его. Локальный можно обрезать.
Однако, если вы хотите иметь большинство блоков, хранящихся на внешнем жестком диске, и Bitcoin Core автоматически перемещает их там, а затем сможет обрабатывать, когда он не может найти эти блоки, тогда это невозможно.
Если вы уже синхронизированы, вы можете вызвать простой скрипт, используя blocknotify=script.sh
в вашем bitcoin.conf
, чтобы проверить файл с более высоким номером, и если он найден, переместите нижний и верхний.
Но лучший способ, вероятно, будет делать это на уровне блока с некоторой абстракцией fs /raid или неотобразить наблюдателя, если вам нужно сделать это на уровне файла.