Проверка данных блока Linux на лету


0

Я довольно привык к функции сравнения / очистки четности многих систем NAS. Тем не менее, я не могу найти аналогичную функцию, когда речь идет об одиночных жестких дисках. Конечно, с одним диском не будет возможности узнать, верен ли бит, однако, по крайней мере, должна быть возможность обнаружить нечитаемые сектора и узнать, когда диск должен быть выведен из эксплуатации.

Мой сценарий использования:

  • один внешний жесткий диск, подключенный к Linux
  • еженедельный тест "скраб", чтобы убедиться, что мы не попали в плохие сектора

Более того, если на диске есть способ сделать что-то похожее на SpinRite онлайн, это было бы идеально (но, вероятно, проблематично).

Ответы:


0

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

Ищите пакеты , такие как smartmontools, smart-notifierили smartctl.


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

@petr Вы можете просто использовать, ddчтобы прочитать весь диск в битовую корзину, или использовать findи xargsдля чтения использованных блоков. Если вы делаете резервные копии, то данные будут читаться достаточно часто. Я полагаю, что большинство дисков используют чтение после записи, чтобы обнаружить повреждение во время записи, блоки не должны быть повреждены.
BillThor
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.