[Dovecot] Problem to setup replication

Daniel Thielemann Daniel-128 at gmx.de
Fri Feb 14 09:37:57 UTC 2014


Has somebody an idea OR a working howto / guide to setup dovecot replication?

Thanks 

> Gesendet: Dienstag, 28. Januar 2014 um 13:02 Uhr
> Von: "Daniel Thielemann" <Daniel-128 at gmx.de>
> An: dovecot at dovecot.org
> Betreff: [Dovecot] Problem to setup replication
>
> Hi,
> 
> i tried to setup replication since some days but I'am stuck now. 
> 
> 
> 
> My conf:
> 
> # 2.2.10: /etc/dovecot/dovecot.conf
> # OS: Linux 2.6.32-431.3.1.el6.x86_64 x86_64 CentOS release 6.5 (Final)
> dsync_remote_cmd = ssh -l%{login} %{host} /usr/bin/doveadm dsync-server -u%u -l%{lock_timeout} -n%{namespace}
> log_path = /var/log/dovecot
> mail_gid = 5000
> mail_home = /var/vmail/%d/%n
> mail_location = maildir:~/Maildir
> mail_plugins = " notify replication"
> mail_uid = 5000
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
> mbox_write_locks = fcntl
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Drafts {
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     special_use = \Junk
>   }
>   mailbox Sent {
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     special_use = \Sent
>   }
>   mailbox Trash {
>     special_use = \Trash
>   }
>   prefix =
> }
> passdb {
>   args = /etc/dovecot/dovecot-sql.conf
>   driver = sql
> }
> plugin {
>   mail_replica = remote:vmail at server1.domain.dom
>   replication_full_sync_interval = 1 hours
>   sieve = ~/.dovecot.sieve
>   sieve_dir = ~/sieve
> }
> protocols = imap sieve
> service aggregator {
>   fifo_listener replication-notify-fifo {
>     user = vmail
>   }
>   unix_listener replication-notify {
>     user = vmail
>   }
> }
> service auth {
>   unix_listener /var/spool/postfix/private/auth {
>     mode = 0666
>     user = postfix
>   }
>   unix_listener auth-master {
>     mode = 0600
>     user = vmail
>   }
>   unix_listener auth-userdb {
>     group = vmail
>     mode = 0600
>     user = vmail
>   }
> }
> service managesieve-login {
>   inet_listener sieve_deprecated {
>     port = 2000
>   }
> }
> service replicator {
>   process_min_avail = 1
>   unix_listener replicator-doveadm {
>     mode = 0600
>     user = vmail
>   }
> }
> ssl = required
> ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
> ssl_key = </etc/pki/dovecot/private/dovecot.pem
> userdb {
>   driver = prefetch
> }
> userdb {
>   args = /etc/dovecot/dovecot-sql.conf
>   driver = sql
> }
> protocol lda {
>   auth_socket_path = /var/run/dovecot/auth-master
>   log_path = /var/log/protocol-lda.log
>   mail_plugins = sieve
>   postmaster_address = postmaster at domain.dom
> }
> 
> -----------------
> 
> sql-conf:
> 
> driver = mysql
> connect = host=127.0.0.1 dbname=xxx user=mailuser password=xxx
> default_pass_scheme = SSHA512
> 
> password_query = SELECT email as user, password FROM virtual_users WHERE email='%u';
> 
> user_query = SELECT email as user FROM virtual_users WHERE email ='%u';
> 
> iterate_query = SELECT email as user FROM virtual_users WHERE email='%u';
> 
> ------------------
> 
> 
> The config on the other node is similar, except the mail_replica settings. The weird thing is, that my logs are completly empty. I see only the dovecot startup messages and nothing else. I don't understand why the replication never starts by itself or why there are no errors or anything else in the log. I already read the dovecot replication howto in the official documentation, but IMO I've setup everything already like in the docs.
> 
> 
> 
> -----------------
> 
> I've already tried to replicate my mailboxes using dsync, but if I run the dsync command I get only this output:
> 
> 
> bash-4.1$ ssh vmail at server1.domain.dom /usr/bin/doveadm dsync-server -u john at domain.dom
> VERSION dsync   3       2
> Hhostname       sync_ns_prefix  sync_box        sync_box_guid   sync_type       debug   sync_visible_namespaces exclude_mailboxes       send_mail_requests      backup_send     backup_recv  lock_timeout     no_mail_sync    no_backup_overwrite     purge_remote
> Smailbox_guid   last_uidvalidity        last_common_uid last_common_modseq      last_common_pvt_modseq  changes_during_sync
> Nname   existence       mailbox_guid    uid_validity    uid_next        last_renamed_or_created subscribed      last_subscription_change
> Dhierarchy_sep  mailboxes       dirs    unsubscribes
> Bmailbox_guid   uid_validity    uid_next        messages_count  first_recent_uid        highest_modseq  highest_pvt_modseq      mailbox_lost    cache_fields    have_guids      have_save_guids       have_only_guid128
> Atype   key     value   stream  deleted last_change     modseq
> Ctype   uid     guid    hdr_hash        modseq  pvt_modseq      save_timestamp  add_flags       remove_flags    final_flags     keywords_reset  keyword_changes
> Rguid   uid
> Mguid   uid     pop3_uidl       pop3_order      received_date   stream
> cname   decision        last_used
> .
> Hserver1.domain.dom
> dsync-remote(john at domain.dom): Error: dsync(local): I/O has stalled, no activity for 600 seconds
> dsync-remote(john at domain.dom): Error: Timeout during state=slave_recv_handshake
> 
> 
> 
> Any help would be appreciated, because I've really no other ideas anymore.
> 
> 
> Thanks in advance
> 
> 
> PS: Excuse my english, I'am german :D
> 


More information about the dovecot mailing list