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

В / etc / fstab есть опция, позволяющая решить, что делать с диском при возникновении ошибки. errors = {continue | remount-ro | panic}

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

1
задан 1 October 2016 в 23:41
2 ответа

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

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

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

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

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

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

.
0
ответ дан 3 December 2019 в 23:40

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

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

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

.
1
ответ дан 3 December 2019 в 23:40

Теги

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