После того, как btrfs scrub, как вы получаете список затронутых файлов?

372
Marnes

Я просто пытался использовать btrfs sendдля резервного копирования, но в итоге я получил ошибку ввода- вывода. Я побежал btrfs scrub, который сообщил о 32 неисправимых блоков на SD-карте моего Распи.

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

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

0
Я надеюсь, что вы можете получить эту информацию от Btrfs; но если вы не можете, [этот ответ] (https://superuser.com/a/1285549/432690) говорит, что вы можете проверить один файл, просто прочитав его. В худшем случае вы читаете все файлы один за другим. Kamil Maciorowski 5 лет назад 0
Да, это так, но ... как только вы опубликовали это, я действительно нашел ответ. Marnes 5 лет назад 0

1 ответ на вопрос

0
Marnes

Оказывается, dmesgперечислит все ошибки контрольной суммы btrfs с путями к файлам после очистки. Запустите,
dmesg --clear btrfs scrub start -B / dmesg
чтобы получить приблизительный обзор плохих файлов.

ловушка: записи dmesg выводят список поврежденных файлов по их простому пути. Удаление этих файлов, сопровождаемое скрабами, синхронизацией и fstrims, не удаляло ошибки. Причиной были снимки, по-прежнему ссылающиеся на плохие блоки, что не было очевидно из сообщений. Удаление снимков также окончательно удалило все ошибки. Marnes 5 лет назад 0

Похожие вопросы