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

Медленный ext4 fsck

Почему fsck так медленно работает в файловой системе ext4? Я всегда использовал reiserfs или xfs, и с этими системами fsck работал очень быстро, всего за несколько секунд. Теперь я решил попробовать ext4, но я разочарован тем, что каждый раз, когда системе приходится проверять мой домашний адрес, требуется много времени (это может занять 25 минут на моем домашнем разделе 250 ГБ, который заполнен на 85%). Может дело в том, что он конвертировался из ext3?

Воссоздание вашей файловой системы с дополнительными опциями "-O extent,uninit_bg"улучшит время fsck ext4.

  • «степень» снизит накладные расходы на метаданные больших файлов.
  • «uninit_bg» создаст файловую систему без инициализации всех групп блоков. Это улучшит mkfs и fsck, потому что будет меньше метаданных для проверки (по крайней мере, пока ваша fs не заполнена).

При преобразовании из ext3 экстенты используются не полностью. Он просто обновляет inodes и оставляет их как экстенты размером 1. Если вы запустите файлы с помощью такой программы, как tar, вы сможете получить более сжатые файлы экстентов.

Также имеет значение, как вы преобразовали ext3 в ext4; разные параметры имеют разные возможности и могут повлиять на время fsck. Кроме того, я думаю, что полный диск требует больше времени для fsck; в конце концов, вы проверяете данные объемом около 200 ГБ и, вероятно, в три раза увеличиваете размер занимаемых inode.

Что вы можете сделать, так это сообщить об ошибке в дистрибутив, который собрал используемое вами ядро, или непосредственно в bugzilla ядра. В конце концов, это тот тип поведения, который разработчик заинтересован в диагностике и исправлении.

Мой раздел ext3 на 400 ГБ также занимает утомительно много времени во время fsck. Кроме того, по мере увеличения объемов fsck займет слишком много времени. Цитирование Эта статья:

1 ЭБ (эксабайт) будет более чем достаточно на очень долгое время - действительно, полный запуск e2fsck в файловой системе такого размера (на текущем оборудовании) займет более 100 лет.

Итак, я действительно надеюсь, что файловые системы и их инструменты очень скоро станут лучше, иначе запуск fsck на них будет невозможен.

Я бежал fsck -V -y дважды на моих 2 ТБ RAID1 ext4 USB-дисках LaCie. В каждом случае процесс длился 24 часа с видимым прогрессом, но не завершился. В каждом случае я убивал процесс и запускал fsck -V -C -y который закончился за считанные минуты. Параметр -C просто должен обеспечивать индикатор выполнения, но, похоже, он также отменяет некоторые огромные потери времени.