[Dovecot] No failover from director to backend?

Patrick Westenberg pw at wk-serv.de
Sun Oct 21 14:15:47 EEST 2012


Hi everyone,

short version:
Is there no built in failover mechanism for the director service to
handle a backend failure?

Long version:
I have a frontend server running the director service and two backends.
Due to maintenance I had to shut down one of the backends which caused 
connection errors for the users being directed to this backend.

I was very surprised as I expected the director to redirect these users
to the remaining backend.

Am I wrong or is the director not working as expected?

Regards
Patrick



# 2.1.6: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.5
auth_mechanisms = plain login
director_mail_servers = 172.17.1.1 172.17.1.2
director_servers = 172.17.1.3 172.17.1.4
lmtp_proxy = yes
log_path = /var/log/dovecot.log
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
protocols = imap pop3 lmtp sieve
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0666
     user = postfix
   }
   unix_listener auth-userdb {
     user = dovecot
   }
}
service director {
   fifo_listener login/proxy-notify {
     mode = 0666
   }
   inet_listener {
     address = 172.17.1.3
     port = 9090
   }
   unix_listener director-userdb {
     mode = 0600
   }
   unix_listener login/director {
     mode = 0666
   }
}
service imap-login {
   executable = imap-login director
}
service lmtp {
   inet_listener lmtp {
     address = 172.17.1.3
     port = 24
   }
}
service managesieve-login {
   executable = managesieve-login director
   inet_listener sieve {
     port = 4190
   }
}
service pop3-login {
   executable = pop3-login director
}
ssl_cert = </etc/ssl/certs/imap.xx.crt
ssl_key = </etc/ssl/private/imap.xx.key
protocol !smtp {
   passdb {
     args = proxy=y nopassword=y starttls=any-cert
     driver = static
   }
}
protocol smtp {
   passdb {
     args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
     driver = sql
   }
   userdb {
     args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
     driver = sql
   }
}
protocol lmtp {
   auth_socket_path = director-userdb
}



More information about the dovecot mailing list