У меня есть два сервера с общим диском glusterfs, на обоих запущен dovecot и обслуживается почта с этого общего диска. Пользователи читают почту только с одного из этих серверов, но почта доставляется на оба. Иногда возникают проблемы при доступе к папке «Входящие» maildir:
IMAP (пользователь): открыть (/ home / user / Maildir / dovecot-uidlist) не удалось: в доступе отказано
Пользователь не может открыть почтовый ящик. Доступ к другим папкам работает нормально. Если я удалю файлы индекса dovecot и перезапущу dovecot, все будет работать нормально.
Что я могу сделать, чтобы сделать эту установку более надежной?
Мои настройки dovecot на обоих серверах:
mmap_disable = no
dotlock_use_excl = yes
mail_nfs_storage = yes
mail_nfs_index = no
Если все остальное не помогает, я мог бы создать сценарий bash для очистки файлов индекса dovecot, если в журналах есть ошибки ...
У меня есть glusterfs, развернутые для нескольких проектов, но я не использую его в качестве внутреннего хранилища для хранилища IMAP / SMTP.
Но по опыту могу сказать несколько вещей:
Прежде всего, я бы не рекомендовал никому использовать распределенные файловые системы в качестве серверной части хранилища при высоких транзакционных нагрузках, таких как IMAP и SMTP. Поскольку они плохо с ними работают, в основном по двум причинам: большая задержка и проблемы с блокировкой файлов.
Во-вторых, потратив некоторое время на канал gluster freenode, вы видели, как люди, сообщающие о Dovecot, жалуются на постоянное повреждение индекса. Поэтому я настоятельно рекомендую вам использовать другое решение для репликации обратного хранилища, репликацию dsync или что-то подобное.
Надеюсь это поможет.