время fsck ext3 в зависимости от размера раздела

время fsck ext3 в зависимости от размера раздела

Я занимаюсь настройкой крупномасштабной фермы хранения данных, и чтобы избежать необходимости в месячных проверках fsck, я планирую разбить хранилище на несколько меньших файловых систем (это нормально, поскольку у меня хорошо структурированное дерево файлов, поэтому я могу легко монтировать отдельные файловые системы на 1/, 2/, 3/, 4/и т. д.).

Моя трудность заключается в поиске любого перечисления того, что такое "разумный" размер для файловой системы, чтобы время fsck оставалось таким же "разумным". Хотя я полностью осознаю, что абсолютное время для заданного размера будет во многом зависеть от оборудования, я не могу найти никакого описания формы кривой для времени fsck ext3 с различными размерами файловых систем и каковы другие переменные (занимает ли файловая система, полная файлов в одном каталоге, больше времени, чем та, в которой находится 10 файлов в каждом из тысяч каталогов в дереве; большие файлы против маленьких файлов; полная файловая система против пустой файловой системы; и т. д.).

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

РЕДАКТИРОВАТЬ: Для ясности: независимо от файловой системы, если что-то пойдет не так с метаданными, это нужно будет проверить. Включены ли или нужны ли re-fscks на основе времени или монтирования, не является проблемой, и единственная причина, по которой я прошу цифры конкретно относительно ext3, заключается в том, что это наиболее вероятный выбор файловой системы. Если вы знаете файловую систему с особенно быстрым процессом fsck, я открыт для предложений, но это должен быть надежный вариант (заявления о том, что «файловая система X никогда не нуждается в fscking!» будут высмеяны и долго высмеиваться). Я также знаю о необходимости резервного копирования, и желание fsck не является заменой резервного копирования, однако простое удаление файловой системы и восстановление из резервной копии, когда она дает сбой, вместо fscking ее, кажется действительно,Действительноглупый компромисс.

решение1

По словамстатья Матура и др.(стр. 29), время e2fsck растет линейно с количеством инодов в файловой системе после определенной точки. Если судить по графику, вы более эффективны с файловыми системами до 10 миллионов инодов.

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

решение2

Думаю, вам придется провести собственное тестирование. Быстрый поиск в Google ничего не дал, кроме того, что ext4 fscks намного быстрее ext3.

Итак, создайте несколько разделов ext3, 100 ГБ, 200 ГБ и т. д., до размера диска, который вы будете использовать. Затем заполните их данными. Если вы можете использовать данные, которые напоминают ваши производственные данные (файлы в каталоге, распределение размеров файлов и т. д.), то это будет лучше всего. Обратите внимание, что простое копирование файлов из другого раздела или устройства резервного копирования поместит их на диск идеально размеченными и дефрагментированными, и поэтому ваши тесты будут лишены большого количества времени поиска головки диска, которое будет возникать из-за большого количества записей/изменений/удалений.

Вам также нужно будет подумать о параллельных fscks. Смотрите последние пару полей в /etc/fstab. Разделы на одном физическом диске должны быть созданы последовательно; несколько дисков на одном контроллере могут быть созданы параллельно, но будьте осторожны, чтобы не перегрузить контроллер и не замедлить его.

решение3

http://lmgtfy.com/?q=fsck+benchmark

похоже, что fsck на файловых системах ext4 значительно быстрее, чем на ext3, по некоторым данным, ext4 fsck в 10 и даже более раз быстрее, чем ext3.

Две весьма интересные статьи из этого поиска:

http://thunk.org/tytso/blog/2008/08/08/fast-ext4-fsck-times/иhttp://thunk.org/tytso/blog/2009/02/26/fast-ext4-fsck-times-revisited/

решение4

есть ли причина, по которой вы не можете использовать файловую систему, которая не запускает fscks на основе времени или количества монтирований при перезагрузке?

(Проверки fsck, основанные на времени, меня действительно раздражают — для долго работающего сервера это практически гарантирует, что вам придется выполнять полную проверку fsck каждый раз, когда вы обновляете ядро).

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

Связанный контент