Назад | Перейти на главную страницу

Являются ли файлы с нулевым байтом признаком повреждения файловой системы?

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

# /etc/init.d/apache2 restart Syntax error on line 161 of /etc/apache2/apache2.conf:
Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!

После дальнейшего расследования я нашел несколько файлов /etc/apache2/mods-availabe иметь размер файла нулевых байтов

...
-rw-r--r-- 1 root root     0 Jun 15 15:14 authz_host.load
....

Это признак повреждения файловой системы? Я боюсь размонтировать файловую систему, чтобы запустить fsck. Конечно, система зарезервирована, но как мы можем обнаружить что-то подобное в будущем?

Нет, файл с нулевым байтом не является признаком повреждения файловой системы.

Вероятные симптомы повреждения файловой системы включают:

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

Самый надежный способ определить повреждения файловой системы - это запустить проверку файловой системы.

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