Я пытаюсь хранить 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.indexmail 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?
я очень давно последний раз юзал давкот и с3 в качесте не обжект стораджа. но подозреваю, что это из-за s3fs. во-первых сами aws не поддерживают монтирование с3 в качестве локальной фс, во-вторых s3fs - последний раз, когда я ее юзал была невероятно глюкавая и медленная. тот же riofs https://github.com/skoobe/riofs был в раз быстрее, если мне не изменяет память.
> Я пытаюсь хранить mailbox_ы на AWS S3. Успешно подмонтировал S3 bucket:
> # s3fs my_bucket -o allow_other,rw -o readwrite_timeout=120 /s3bucketПочта - это высокая нагрузка по I/O, какие 120 секунд таймаута?
Почитайте внимательно опции - https://github.com/s3fs-fuse/s3fs-fuse/wiki/Fuse-Over-Amazon
> Почта - это высокая нагрузка по I/O, какие 120 секунд таймаута?
> Почитайте внимательно опции - https://github.com/s3fs-fuse/s3fs-fuse/wiki/Fuse-Over-AmazonА я пробовал и без опции readwrite_timeout=120, тоже ошибки и тормоза присутствовали... За линк на wiki спасибо, почитаю.
> Почта - это высокая нагрузка по I/O, какие 120 секунд таймаута?
> Почитайте внимательно опции - https://github.com/s3fs-fuse/s3fs-fuse/wiki/Fuse-Over-Amazonи какое значение для таймаута приемлемое? несколько секунд?
>[оверквотинг удален]
> 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?Вынесите индексные файлы в отдельный каталог на локальном диске
к примеру так
mail_location = maildir:~/Maildir:INDEX=/var/indexes/%u