Безопасная файловая система для хранения электронной почты? XFS? JFS? Btrfs? Reiser4?
Я строю систему электронной почты и рассматриваю некоторые файловые системы, которые поддерживают онлайн-изменение размера, безопасны при отключении питания и не ограничивают количество файлов в каталоге (или, по крайней мере, могут содержать несколько миллионов файлов в каталоге)
Я хочу знать, какая файловая система лучше всего подходит для этой ситуации. Можете ли вы помочь мне, пожалуйста? Заранее спасибо!
PS: я делаю слои для хранения электронной почты как:
Уровень 3: Файловая система (XFS,JFS,Btrfs,Reiser4,...) поверх drbd(/dev/drbd0)
Уровень 2: DRBD (двойной основной режим) на логическом томе LVM2
Уровень-1: LVM2 на физическом томе (/dev/sdc,/dev/sdd,...)
Уровень 0: физический том (sdc, sdd,...) - это аппаратный RAID10(с включенным "режимом записи-кэширования") (каждый "физический том" на самом деле представляет собой 4 HDD)
Еще один вопрос: вы видите что-то не так в моем дизайне?
Отредактировано: я использую Ubuntu 12.04 LTS с ядром 3.2.
6 ответов
Я обнаружил, что из-за использования "двойного первичного режима" DRBD у моей файловой системы есть только два варианта: GFS2(из RedHat) и OCFS2(из Oracle). Мне любопытно узнать, какой вариант более стабилен в Ubuntu 12.04 LTS...
Я слышал некоторые проблемы с OCFS2; Я не уверен, что OCFS2 v1.6 может быть лучше?
Отредактировано: я решил пойти с зеркалом GlusterFS поверх XFS. Спасибо вам всем!
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, но, опять же, не хранит "миллионы файлов" в одном каталоге.
Для настройки LVM, смотрите опасности и предостережения LVM, которые охватывают различные моменты, которые вам необходимо получить, чтобы LVM работал правильно.
Некоторые настройки, которые вы перечисляете, соответствуют ряду систем электронной почты, над которыми я работаю. Единственным большим исключением является то, что мы постепенно вытаскиваем DRDB везде, где это возможно, из-за проблем, которые он вызывает. В 99,99% случаев он идеален и отлично работает, но в те времена, когда это не просто вызывает кучу боли.
Как прокомментировали другие, количество писем в каталоге значительно замедлит работу. Мы обошли это, предлагая решения для автоматического архивирования. На базовом уровне это скрипт, который подключается через imap, а затем использует imap для перемещения старых писем в подпапку архивации, разбитую по датам. Для большинства почтовых ящиков это позволяет оставаться относительно чистым, но все же организованным.
Для выбора файловой системы параметры настройки имеют довольно большое различие в зависимости от выбранного формата почтового ящика. С maildir noatime может иметь значение для некоторых клиентов, хотя подобные Dovecot со встроенным кешем сводят на нет этот выигрыш в наши дни.