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


9

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

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

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

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

Ответы:


6

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

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


Спасибо за эту ссылку, помог подтвердить несколько вещей для меня. Я также выполнил свой собственный сравнительный анализ, который подтвердил линейный рост, показанный в этой статье.
Уомбл

2

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

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

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


0

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/


-1

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

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

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


Другой вариант - использовать Nexenta (ядро opensolaris, пользовательская среда Debian), что даст вам ZFS. <A href=" nexenta.org/"> http://www.nexenta.org/</A >
Cas

3
Когда файловая система повреждена, независимо от того, что это (extN, XFS, ZFS и т. Д.) Или от того, есть ли у вас время / монтирование на основе, ей нужен fsck. Я хочу убедиться, что одна поврежденная файловая система не займет слишком много времени для fsck.
womble

1
да, конечно, fs нужен fsck, если он был поврежден. использование таких файлов, как XFS, не устранит их, и вы не должны или даже не хотите этого делать. Я не сказал ничего, что могло бы быть разумно истолковано иначе. Моя точка зрения заключалась в том, что форсировать fsck просто потому, что прошло X дней или Y столько монтировок, так как последний fsck не нужен и раздражает и, возможно, даже «ограничивает карьеру», особенно если ваши пользователи или ваша компания ждут прихода сервера обратно. Вы можете устранить эти ненужные fscks, и это хорошо.
Cas

Какая бы хорошая вещь ни была (или не может быть), она не отвечает на поставленный вопрос.
womble
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.