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
}

Reply via email to