Fast replication

@4OS yves at 4os.ca
Tue Oct 17 15:59:51 EEST 2017



On 2017-10-17 01:53, Aki Tuomi wrote:
>
> On 16.10.2017 20:34, @4OS wrote:
>> Hi,
>>
>> I'm trying to get replication to work with a 2 machines setup.
>>
>> So far full replication is happening at the specified interval (24hrs)
>> without problem but fast sync is not happening.
>> The fast sync counter is always equal to full sync unless i exec dsync
>> manually.
>>
>> doveadm replicator status '*'
>> username priority fast sync full sync success sync failed
>> johndoe at oricom.dmz none     00:06:33  00:06:33  00:21:33     -
>> johndoe2 at oricom.dmz none     00:06:34  00:06:34  00:06:34     -
>> johndoe3 at oricom.dmz none     00:06:34  00:06:34  00:06:34     -
>>
>> The fast replication part is not clear and i cannot find much about it.
>> There is nothing related with dovecot -a and the documentation does
>> not say much about it.
>>
>> How the fast replication is triggered? Manually or it is supposed to
>> be automatic through some type of config.
>>
>> Some light over this would help me understand the way it work and how
>> to get it setup right.
>>
>> yves
> Fast replication should occur when there are some mails being saved.
>
> Aki
>
> Aki
Hi,
That where is my problem. The fast sync is not triggering and i cannot 
find any hint of what is wrong.
I moved that setup to a production server with a thousand active 
mailboxes and i get the same result.
The only way to get the fast sync to work is calling dsync directly : 
doveadm sync -d -N -l 30 -U -u '*'
Maybe it is in my config.

Setup is 2 dovecot vm with nfs storage (distinct server each) (debian 
jessie 8.9 + backports)
about a thousand mailboxes receiving an average of 18K mail daily

here is the dovecot -n for both server:

# 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 4.9.0-0.bpo.3-amd64 x86_64 Debian 8.9
auth_master_user_separator = +
auth_mechanisms = plain login
auth_verbose = yes
disable_plaintext_auth = no
doveadm_password =  # hidden, use -P to show it
doveadm_port = 4711
listen = *
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_plugins = " notify replication quota"
mail_privileged_group = vmail
passdb {
   args = /etc/dovecot/dovecot-sql.conf
   driver = sql
}
passdb {
   args = /etc/dovecot/dovecot-superuser.conf
   driver = sql
   master = yes
}
plugin {
   mail_replica = tcp:xxx.xxx.xxx.xxx:4711
   quota = dict:user::file:/var/vmail/%d/%n/.quotausage
   quota_exceeded_message = %u :: Courriel non remis : Boite pleine.
   quota_rule2 = Trash:storage=+10%%
   quota_warning = storage=95%% quota-warning 95 %u
   quota_warning2 = storage=80%% quota-warning 80 %u
   sieve = /var/vmail/%d/%n/.sieve
   sieve_max_redirects = 25
}
protocols = imap pop3
service aggregator {
   fifo_listener replication-notify-fifo {
     mode = 0666
     user = vmail
   }
   unix_listener replication-notify {
     mode = 0666
     user = vmail
   }
}
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
   unix_listener auth-userdb {
     group = vmail
     mode = 0600
     user = vmail
   }
   user = root
}
service config {
   unix_listener config {
     user = vmail
   }
}
service doveadm {
   inet_listener {
     port = 4711
   }
   user = vmail
}
service imap-login {
   client_limit = 1000
   process_limit = 512
}
service lmtp {
   unix_listener /var/spool/postfix/private/dovecot-lmtp {
     group = postfix
     mode = 0600
     user = postfix
   }
}
service quota-warning {
   executable = script /usr/local/bin/quota-warning.sh
   unix_listener quota-warning {
     group = vmail
     mode = 0666
     user = vmail
   }
   user = vmail
}
service replicator {
   process_limit = 1
   process_min_avail = 1
   unix_listener replicator-doveadm {
     mode = 0666
   }
}
ssl_ca = </etc/ssl/private/*.xxx.xxx.bundle
ssl_cert = </etc/ssl/private/*.xxx.xxx.crt
ssl_cipher_list = 
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:DES-CBC3-SHA:!aNULL:!MD5:!DSS:!EXPORT:!LOW:!eNULL
ssl_dh_parameters_length = 2048
ssl_key =  # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
ssl_protocols = !SSLv2 !SSLv3
userdb {
   driver = prefetch
}
userdb {
   args = /etc/dovecot/dovecot-sql.conf
   driver = sql
}
protocol imap {
   mail_plugins = quota imap_quota
}
protocol pop3 {
   mail_plugins = quota
   pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
   mail_plugins = sieve quota
   postmaster_address = webmaster at localhost
}
protocol lmtp {
   mail_plugins = quota sieve
   postmaster_address = webmaster at localhost
}



More information about the dovecot mailing list