Что происходит с репликацией Dovecot dsync, если другой сервер недоступен?

Я подумываю о настройке другого почтового сервера в одном из наших других офисов, используя Postfix и Dovecot. У нас есть сторонний спам-фильтр, который может ретранслировать входящую почту на два сервера с помощью SMTP, и если один из серверов недоступен, он будет ставить почту в очередь, пока не вернется в сеть.

Мне было интересно, происходит ли что-то подобное при использовании dsync to синхронизировать два экземпляра Dovecot. Я не смог найти однозначного ответа в Интернете.

Если я настрою репликацию master / master с помощью dsync, я понимаю, что изменения, которые пользователь вносит с помощью своего IMAP-клиента на одном сервере (A), будут затем реплицированы на другой сервер (B). Но если B перейдет в автономный режим, а пользователь продолжит вносить изменения в A, будут ли эти изменения автоматически реплицированы на B, когда он вернется в онлайн? Или тогда A и B будут не синхронизированы и потребуют какого-либо ручного вмешательства?

0
задан 8 April 2016 в 11:49
1 ответ

dsync является «идемпотентным» и будет выполнять синхронизацию из любого состояния, в котором вы в данный момент находитесь; нет очереди ожидающих изменений, как в случае с чем-то вроде репликации MySQL.

Это означает, что, когда сервер B возвращается в исходное состояние, в следующий раз, когда запускается dsync, вы в конечном итоге получите синхронизацию обоих серверов. Никакого ручного вмешательства не требуется, и они вернутся к синхронизации, даже если вся файловая система почты на B была стерта (хотя для этого может потребоваться некоторое время).

Вы, вероятно, захотите, чтобы пользователи обычно имели доступ только через сервер A, и в случае сбоя A и вашего прокси-сервера, перенаправляющего их на B, удалите A из пула прокси, пока ваш dsync не завершится и A снова не синхронизируется .

0
ответ дан 5 December 2019 в 10:35

Теги

Похожие вопросы