От:
http://linux.die.net/man/8/fsck.ext3
«Обратите внимание , что в целом это не безопасно для работы e2fsck
на смонтированных файловых системах. Единственное исключение , если -n
указана опция, и -c
, -l
или -L
опция не указана. Однако, даже если это сделать безопасно, результаты , выводимые e2fsck
являются недопустимо, если файловая система смонтирована. Если e2fsck
спрашивается, следует ли проверять монтируемую файловую систему, единственный правильный ответ - «нет». Только экспертам, которые действительно знают, что они делают, следует рассмотреть вопрос об ответе на этот вопрос в любом другом путь. "
Основная проблема заключается в том, что средство проверки файловой системы (обычно) не является частью файловой системы. Вместо этого это отдельная программа, которая читает и записывает на тот же диск, что и код файловой системы в ядре. В результате, если вы запускаете fsck в активной файловой системе, у вас есть две разные сущности, которые читают (и могут изменять) одни и те же данные (диск), но они никак не координируют друг друга. В результате, как отмечали другие, большинство контролеров ожидают, что никто больше не изменяет метаданные файловой системы во время работы. Они запутаются и / или сообщат о ложных ошибках, если файловая система ядра изменит что-то, чего не ожидает средство проверки.
Существует несколько файловых систем со средствами проверки, которые явно предназначены для запуска «в режиме онлайн» (то есть, когда файловая система активна). В более новых версиях FFS / UFS это выполняется путем запуска fsck для недавнего снимка файловой системы (реплика, доступная только для чтения, на момент времени, копия при записи). Если он обнаруживает проблемы, такие как несоответствия в битовых картах выделения, он исправляет их с помощью системного вызова, а не путем записи на сырой диск. Это позволяет ему координировать действия с активной файловой системой.
NetApp WAFL также имеет онлайн-инструмент проверки. Есть, наверное, другие.
источник
Запускать fsck на смонтированном для чтения и записи разделе было бы глупо, даже если fsck находится в режиме только для чтения. Файловая система изменится в fsck, и данные в памяти, которые кэширует fsck из файловой системы, станут недействительными (и, таким образом, fsck увидит несогласованность). Вы можете запустить fsck в смонтированной файловой системе только для чтения в режиме только для чтения и получить действительные результаты. Запуск fsck в режиме чтения / записи в монтированной файловой системе, доступной только для чтения, если fsck вносит изменения в файловую систему в ходе своего запуска, ядро увидит, что структуры файловой системы неожиданно меняются под ней. Это также было бы плохо.
источник
Помимо того факта, что это, вероятно, убило бы вашу пропускную способность ввода-вывода, если файловая система изменяется, пока она fsck'd, тогда fsck не сможет отслеживать изменения и сообщать о несоответствиях.
Некоторые файловые системы, такие как XFS, позволяют выполнять проверку согласованности, пока файловая система монтируется для чтения-записи, с оговоркой, что о ложных ошибках, скорее всего, будут сообщаться.
xfs_check
Перед выполнением проверки рекомендует отключить или смонтировать файловую систему только для чтения.источник
Итак, цель fsck - сообщать о несоответствиях файловой системы, то есть о нарушенных инвариантах.
Однако многие из этих проверок включают в себя более одной структуры FS. Если кто-то модифицирует FS (запись данных), эти структуры могут быть временно не синхронизированы. fsck посчитает это несоответствием, даже если это не является проблемой. fsck не может определить, является ли несоответствие временным или постоянной проблемой, требующей устранения. Так что это не может работать (если FS не предназначен специально для онлайн-проверки. Некоторые делают, но ext3 нет).
источник
Ну, ты можешь. fsck -n / dev / sda1 сделает именно это, по крайней мере, на ext3. Я только что проверил это :)
источник
Вы можете, точно так же, как вы можете засунуть руку в движущийся блендер и, возможно, не пораниться, или точно так же, как вы можете выпрыгнуть из высокого здания, нацелившись на небольшую кучу подушек, которые вы положили на тротуаре ниже.
Но зачем вам, кроме проверки собственной смертности? Потому что ваш босс, безусловно, собирается проверить это снова, когда узнает, ПОЧЕМУ почтовый сервер не распознает корневой диск сейчас.
источник