Какие ошибки в файловой системе может обнаружить ядро ​​Linux?

В /etc/fstab есть опция, чтобы решить, что делать с диском в случае возникновения ошибки. Ошибки ={продолжить | перемонтирования-ро | паника}

Какие возможные ошибки диска может отловить ядро? Есть ли другие типы ошибок дисков, которые могут остаться незамеченными ядром?

2 ответа

Ошибки, обнаруженные в этом контексте (опция монтирования fstab errors=) в основном ошибки записи, вызванные плохим диском или сильно поврежденной файловой системой.

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

Таким же образом сильно поврежденная файловая система может вызвать errors= действие из-за невозможности чтения / записи некоторых блоков метаданных.

Да, есть опция монтирования, которая определяет, как файловая система ведет себя при критической ошибке. Вы бы сформировали строку в файле fstab следующим образом (только пример):

/dev/sda5 /srv/foo btrfs relatime,errors=continue 0 1

"Продолжить", "remount-ro" и "паника" - это три варианта, которые есть в этом поле.

На ваш второй вопрос уместно переписать вопрос: "Какие ошибки может уловить эта конкретная файловая система?" Этот ответ полностью зависит от того, какую файловую систему вы используете, какую версию этой файловой системы и как вы проверяете.

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

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

Другие вопросы по тегам