Ext4 - Как включить дополнительные проверки, контрольные суммы, проверки, тесты любого рода?


8

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

Тем не менее, я хотел бы знать, если / когда он начинает умирать, и перемонтировать только для чтения. Есть ли опции, которые позволят проводить дополнительные проверки файлов на Ext4 fs? (Мне все равно, если это замедлит файловую систему.)


1
Жесткий диск имеет внутренние проверки CRC, поэтому, даже если он выходит из строя и / или имеет ожидающие блоки, он должен обнаружить эти ошибки и сообщить о них операционной системе. Если файлы повреждены из-за поврежденных блоков жесткого диска, вы увидите эти повреждения как ошибки ввода-вывода без каких-либо специальных опций.
Мартин фон Виттих,

@MartinvonWittich Диск может или нет, но если данные будут повреждены при передаче между диском и контроллером диска, внутренние проверки CRC диска ничего вам не дадут ... Итак, CRC на уровне FS - хорошая функция для иметь.
Матье

Ответы:


8

Поскольку ядро ​​3.6 ext4 поддерживает контрольную сумму метаданных (вам также понадобится e2fsprogs 1.43+), но неясно, насколько стабильна эта функция. Кроме того, вы можете смонтировать файловую систему ext4 с помощью journal_checksumфункции, но ...

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


5

Тем не менее, я хотел бы знать, если / когда он начинает умирать, и перемонтировать только для чтения.

Монтирование только для чтения ничего не спасет, если проблема в плохих блоках - посмотрите на первый абзац здесь и обратите внимание на проблемы, связанные с ошибками чтения .

Нет способа обнаружить поврежденные блоки без физического чтения с диска, поэтому, подобно поиску ловушки мыши, установленной в темной комнате, не существует способов избежать потенциальных проблем при проверке. Если вы считаете, что диск выходит из строя, периодически umountзапускайте его e2fsck -cна всех разделах; если это ваша корневая файловая система, и вам нужно использовать, например, liveCD, то сделайте это. Согласно справочной странице;

-c Эта опция заставляет e2fsck использовать программу badblocks (8) для сканирования устройства только для чтения, чтобы найти любые поврежденные блоки. Если обнаружены какие-либо поврежденные блоки, они добавляются в индекс плохих блоков, чтобы предотвратить их размещение в файле или каталоге.

Если блоки содержат данные, то в какой-то момент в каталоге может оказаться сохраненная версия /lost+found, я не уверен.

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


1
msgstr "ловушка для мыши в темной комнате". Хорошая фраза.
Фахим Митха

3

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

Например, smartctlинструмент из пакета smartmontools предоставит вам доступ к встроенному состоянию SMART для некоторых дисков.

Вы также можете увеличить частоту проверок файловой системы для конкретной цели, используя tune2fsкоманду. Например, кажется, что он tune2fs -c 1 targetбудет проверять диск почти каждый раз перед его установкой при загрузке.


1
smartctlможет также выполнить внутренний механизм самотестирования диска, например, с smartctl -t long /dev/sdX.
Мартин фон Виттих

1
@MartinvonWittich Проблемы с SMART это вы должны знать , что вы ищете Backblaze и они не обязательно сказать вам много Google : «Наш анализ определяет несколько параметров из себя привода мониторинга объекта (SMART) , которые коррелируют сильно со сбоями. Несмотря на эту высокую корреляцию, мы заключаем, что модели, основанные только на параметрах SMART, вряд ли будут полезны для прогнозирования отказов отдельных накопителей ».
Матье

@Mathieu, да, эти умные вещи предсказания IMO довольно бесполезны. Но самотестирование в моем опыте на 100% точно. К сожалению, большинство людей не знают, что они существуют, и поэтому их редко используют.
Мартин фон Виттих

2

Хорошая точка зрения от освещения. Хорошо, если SmartD работает в фоновом режиме, который периодически проверяет наличие сбоев.

Помимо этого вы можете использовать

e2fsck -fvy -c -c -C0 /dev/sda1

-f    Force checking even if the file system seems clean.
-v    Verbose mode.
-y    Assume an answer of `yes' to all questions
-C0   write  completion  information to stdout
-c -c If this option is specified twice, then the 
      bad block scan  will  be  done  using  a  non-destructive
      read-write test.

Этот неразрушающий тест чтения-записи ( -c -c) позволяет узнать, есть ли ошибки чтения.
Однако это занимает много времени.

Так что это должно быть транзитное решение перед покупкой нового диска.


За исключением того, что вы не можете сделать это, пока FS монтируется, и сканирование на наличие плохих блоков идет медленно, как патока, так что это не совсем приемлемый вариант ...
Матье
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.