LINUX.ORG.RU
ФорумAdmin

Dovecot-ошибки в логе при хранение mailbox_ов в AWS S3

 


0

1

Я пытаюсь хранить mailbox_ы на AWS S3. Успешно подмонтировал S3 bucket:

# s3fs my_bucket -o allow_other,rw -o readwrite_timeout=120 /s3bucket

Перенес все почтовые ящики в /s3bucket/vmail, сделал симлинк в /var/vmail:

lrwxrwxrwx  1 root root     16 Jan 12 13:40 vmail -> /s3bucket/vmail/

Рестартанул Dovecot, но в почтовом логе присутствуют такие сообщения:

mail dovecot: lmtp(user@domain): Warning: fscking index file /var/vmail/domain/user/dovecot.index
mail dovecot: lmtp(user@domain): Error: Failed to map transaction log /var/vmail/domain/user/dovecot.index.log at sync_offset=40 after locking: corrupted, indexid=0
dovecot: imap(user@domain): Error: Index /var/vmail/domain/user/dovecot.index: Lost log for seq=1 offset=0: Failed to map file seq=2 offset=40..18446744073709551615 (ret=0): corrupted, indexid=0 (initial_mapped=1, reason=index not found via open())

Я удалил файлы dovecot.index.log в отдельно взятом mailbox_e, рестартанул Dovecot. Но ошибки в почтовом логе не исчезли.

Затем я добавил в ~/.aws/config:

s3 =
  max_concurrent_requests = 100
  max_queue_size = 10000
  multipart_threshold = 64MB
  multipart_chunksize = 16MB
  max_bandwidth = 1000MB/s
  use_accelerate_endpoint = true
  addressing_style = path

Но это повлияло только на скорость открытия web-интерфейса Roundcube. Ошибки в логе не исчезли...

Что можно еще предпринять? Может вместо s3fs попробовать монтирование с помощью s3ql?

1. https://wiki.dovecot.org/IndexFiles

Индекс файлы надо удалять все для ребилда.

2. Если бекендов один или юзеры статично мепятся на бекенды, лучше индексы писать на отдельном локальном разделе, иначе локи будут постоянно. Есть настройки, которые влияют на блокировку и сканирование файлов довекотом, читайте их вики на тему shared storage. Но в целом пишите хотя бы индексы локально.

anonymous
()

Это не хранение ящиков в s3, это выстрел в ногу из костыля. Погугли, вроде есть какой-то плагин для объектной хранилки.

anonymous
()
Ответ на: комментарий от anonymous

попробовал

mail_location = maildir:~/Maildir:INDEX=/var/indexes/%u

но ошибки в логе не исчезли и почему, то в /var/indexed/ индексные файлы не создаются, хотя

drwxr-xr-x  2 vmail vmail  4096 Jan 14 08:48 indexes

gigantischer
() автор топика
Ответ на: комментарий от gigantischer

добавил эти 2 опции в 10-mail.conf, вроде полегчало, часть ошибок в логе исчезла, но остались такие:

mail dovecot: imap(user@domain): Error: Corrupted index cache file /var/vmail/domain/user/dovecot.index.cache: File too small

 mail dovecot: imap(user@domain): Warning: Created dotlock file's timestamp is different than current time (0 vs 1547457934): /var/vmail/domain/user/dovecot.index.log
gigantischer
() автор топика
Ответ на: комментарий от gigantischer

и еще иногда в логе появляются такие сообщения:

mail dovecot: imap(user@domain): Error: write_full() failed with file /var/vmail/domain/user/.Drafts/dovecot.index.log: Input/output error

gigantischer
() автор топика
Ответ на: комментарий от gigantischer

права на вышестоящий каталог:

drwxr-xrwx  16 root root  4096 Jan 15 03:54 var

gigantischer
() автор топика
Ответ на: комментарий от anonymous

почему они продолжат создаваться в старом месте, если в 10-mail.conf указано:

mail_location = maildir:/var/vmail/%d/%n:INDEX=/var/indexes/%d/%n
?

gigantischer
() автор топика
Ответ на: комментарий от anonymous
$ doveconf |grep mail_location
mail_location = maildir:/var/vmail/%d/%n:INDEX=/var/indexes/%d/%n
gigantischer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.