Основная проблема заключается в том, что средство проверки файловой системы (обычно) не является частью файловой системы. Вместо этого это отдельная программа, которая читает и записывает на тот же диск, что и код файловой системы в ядре. В результате, если вы запускаете fsck в активной файловой системе, у вас есть две разные сущности, которые читают (и могут изменять) одни и те же данные (диск), но они никак не координируют друг друга. В результате, как отмечали другие, большинство контролеров ожидают, что никто больше не изменяет метаданные файловой системы во время работы. Они запутаются и / или сообщат о ложных ошибках, если файловая система ядра изменит что-то, чего не ожидает средство проверки.
Существует несколько файловых систем со средствами проверки, которые явно предназначены для запуска «в режиме онлайн» (то есть, когда файловая система активна). В более новых версиях FFS / UFS это выполняется путем запуска fsck для недавнего снимка файловой системы (реплика, доступная только для чтения, на момент времени, копия при записи). Если он обнаруживает проблемы, такие как несоответствия в битовых картах выделения, он исправляет их с помощью системного вызова, а не путем записи на сырой диск. Это позволяет ему координировать действия с активной файловой системой.
NetApp WAFL также имеет онлайн-инструмент проверки. Есть, наверное, другие.