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
john...@oricom.dmz none     00:06:33  00:06:33  00:21:33     -
johnd...@oricom.dmz none     00:06:34  00:06:34  00:06:34     -
johnd...@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@localhost
}
protocol lmtp {
  mail_plugins = quota sieve
  postmaster_address = webmaster@localhost
}

Reply via email to