Я создаю систему электронной почты и рассматриваю некоторую файловую систему, которая поддерживает онлайн-изменение размера, безопасна при отключении питания и не ограничивает количество файлов в каталоге (или, по крайней мере, может содержать несколько миллионов файлов в каталоге)
Я хочу знать, какая файловая система лучше всего подходит для этой ситуации. Вы можете мне помочь, пожалуйста? Заранее спасибо!
PS: я разделяю хранилище электронной почты следующим образом:
Слой-3: Файловая система (XFS, JFS, Btrfs, Reiser4, ...) поверх drbd (/ dev / drbd0)
Слой-2: DRBD (режим Dual-primary) на логическом томе LVM2
Слой-1: LVM2 на физическом томе (/ dev / sdc, / dev / sdd, ...)
Слой-0: физический том (sdc, sdd, ...) - это аппаратный RAID10 (с включенным "Write-cache mode") (каждый "физический том" на самом деле 4 HDD)
Отредактировано: я использую Ubuntu 12.04 LTS с ядром 3.2.
XFS долгие годы была для меня надежной рабочей лошадкой. В почтовой системе, о которой я говорю, успешно работает Cyrus IMAP-сервер с 50 000+ учетными записями (на пике это было почти 100 000 учетных записей) и около 300 000 почтовых ящиков. Есть десятки миллионов почтовых файлов. Все работает без сбоев, а нагрузка на сервер в основном простаивает.
Но ... пара миллионов файлов в каталоге? О какой почтовой системе идет речь? XFS может как-то справиться с этим, но файловая система не предназначена для такого поведения.
Моя рекомендация из этого списка - XFS. Вы не предоставили информацию о дистрибутиве Linux, но, предполагая, что CentOS или Red Hat, XFS теперь несколько интегрирован. Это зрелая файловая система, которая предлагает онлайн-дефрагментацию и может быть увеличена (не сжата) на лету. Я редко слышу о JFS ... Райзер - это авантюра, и он потерял огромное внимание ... Btrfs недостаточно зрелый верить за это. Что-то не так с ext4?
Также ссылайтесь на эти сообщения:
Готовые к работе высоконадежные файловые системы в Linux: ext4 ext3 XFS или JFS (или ZFS)?
Какая файловая система лучше всего подходит для хранения папок Maildir?
Если все нижние уровни являются избыточными и о них должным образом заботятся, единственные соображения при выборе файловой системы - это скорость и надежность абстрактной файловой системы (поскольку можно предположить, что ничто физическое не нарушит такую избыточность на нижних уровнях).
Для этих требований старый добрый ext3 по-прежнему выигрывает (только с журналированием метаданных) - XFS, как указано, не годится для сбоев ОС, а ext4 также недостаточно зрелый для этих приемов - у меня были тома ext4 с критическими ошибками FS в прошлом, без логической причины для них.
Тем не менее, откуда взялось требование «миллионы файлов в каталоге»?
Электронная почта хранится как mbox или maildir (или, в последнее время, dbox); ни один из них не требует миллионов файлов на каталог - на самом деле это далеко не так: maildirs содержат одну логическую папку почтового ящика на каталог, и я не знаю никого, у кого есть более пары тысяч файлов в папке.
mbox - это один огромный файл на почтовый ящик, период, и он просто не подходит для сегодняшнего хранилища электронной почты.
Предполагается, что dbox, новый ребенок в этом блоке, в большинстве случаев превосходит и mbox, и maildirs, но, опять же, не хранит «миллионы файлов» в одном каталоге.
Некоторые из перечисленных вами настроек соответствуют ряду почтовых систем, над которыми я работаю. Единственное большое за исключением того, что мы медленно убирали DRDB везде, где это было возможно, из-за проблем, которые он вызывает. В 99,99% случаев он идеален, и фальцовка работает хорошо, но в тех случаях, когда это не просто вызывает целую кучу боли.
Как отмечали другие, количество писем в каталоге воля сильно замедлить процесс. Мы решили эту проблему, предложив решения для автоматического архивирования. На самом базовом уровне это сценарий, который подключается через imap, а затем использует imap для перемещения старых писем в подпапку архивации с разбивкой по датам. Для большинства почтовых ящиков это позволяет оставаться относительно чистыми, но при этом организованными.
Для выбора файловой системы параметры настройки имеют довольно большое значение в зависимости от того, какой формат почтового ящика вы выбираете. С maildir noatime может иметь значение для некоторых клиентов, хотя подобные Dovecot со встроенным кешем сводят на нет это преимущество в наши дни.
Я обнаружил, что из-за использования DRBD «Dual-primary mode» моя файловая система поверх имеет только 2 варианта: GFS2 (от RedHat) и OCFS2 (от Oracle). Мне любопытно узнать, какой вариант более стабилен в Ubuntu 12.04 LTS ...
Я слышал о некоторых проблемах с OCFS2; Не уверен, что OCFS2 v1.6 может быть лучше?
Отредактировано: я решил использовать зеркало GlusterFS поверх XFS. Спасибо вам всем!
Для настройки LVM см. Опасности и предостережения LVM который охватывает различные моменты, необходимые для правильной работы LVM.