[Dovecot] Unbreakable NFS locking issues...

Rod Treweek rtreweek at gmail.com
Tue Nov 11 02:06:48 EET 2008

Hello All,

    We are struggling to find a solution to a problem we are encountering
with a load-balanced email setup. Currently, we have a Coyote loadbalancer,
and 3 Postfix/Dovecot nodes that then get their information from a mysql
database.  The problem is that after a couple weeks, we start seeing NFS
locking issues occur, which then takes email completely down, requiring a
site visit to basically do an interactive mode reboot to shut off NFS so
that we can remount the filesystem again.  We have our mailstore on an
Aberdeen NAS which is accessed over NFS v. 4.

 Dovecot version 1.1.2

Here's the relevant mysql string:

grep -v '^ *\(#.*\)\?$' dovecot-mysql.conf
driver = mysql
connect = host=X.X.X.X dbname=Something user=Something password=Something
password_query = SELECT username as user, password,
concat('/NFS1MAILDIR/mailSysV2/', maildir) as userdb_home,
concat('maildir:/NFS1MAILDIR/mailSysV2/', maildir) as userdb_mail, 143 as
userdb_uid, 143 as userdb_gid, concat('*:bytes=', floor(quota*1024)) AS
quota_rule FROM mailbox WHERE username = '%u' AND active = '1'
user_query = SELECT concat('/NFS1MAILDIR/mailSysV2/', maildir) as home,
concat('maildir:/NFS1MAILDIR/mailSysV2/', maildir) as mail,
concat('maildir:/NFS1MAILDIR/mailSysV2/', maildir) as maildir, 143 AS uid,
143 AS gid, concat('*:bytes=', floor(quota*1024)) AS quota_rule FROM mailbox
WHERE username = '%u' AND active = '1'

And here's what our configuration is on each of the nodes:

 dovecot -n
# 1.1.2: /usr/local/etc/dovecot.conf
protocols: imap pop3
ssl_ca_file: /usr/local/etc/dovecot/certs/tdpserver.crt
ssl_cert_file: /usr/local/etc/dovecot/certs/tdpserver.crt
ssl_key_file: /usr/local/etc/dovecot/certs/tdpserver.key
ssl_parameters_regenerate: 0
ssl_cipher_list: ALL:!LOW:!SSLv2
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/local/libexec/dovecot/imap-login
login_executable(imap): /usr/local/libexec/dovecot/imap-login
login_executable(pop3): /usr/local/libexec/dovecot/pop3-login
login_user: postfix
login_greeting: Something witty here..
login_process_per_connection: no
login_max_connections: 512
max_mail_processes: 2048
mail_max_userip_connections: 50
verbose_proctitle: yes
first_valid_uid: 69
last_valid_uid: 500
first_valid_gid: 69
last_valid_gid: 500
mail_access_groups: postfix
mail_privileged_group: postfix
mmap_disable: yes
dotlock_use_excl: no
mail_nfs_storage: yes
mail_nfs_index: yes
mail_executable(default): /usr/local/libexec/dovecot/imap
mail_executable(imap): /usr/local/libexec/dovecot/imap
mail_executable(pop3): /usr/local/libexec/dovecot/pop3
mail_plugins(default): quota imap_quota
mail_plugins(imap): quota imap_quota
mail_plugins(pop3): quota
mail_plugin_dir(default): /usr/local/lib/dovecot/imap
mail_plugin_dir(imap): /usr/local/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3
imap_client_workarounds(default): delay-newmail netscape-eoh
imap_client_workarounds(imap): delay-newmail netscape-eoh
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
auth default:
  mechanisms: login plain
  user: dovecot
    driver: sql
    args: /usr/local/etc/dovecot-mysql.conf
    driver: sql
    args: /usr/local/etc/dovecot-mysql.conf
    type: listen
      path: /var/spool/postfix/private/auth
      mode: 432
      user: postfix
      group: postfix
      path: /var/run/dovecot/auth-master
      mode: 384
      user: dovecot
      group: dovecot
  quota: dict:user::proxy::quota
  imap_quota: dict:user::proxy::quota
  quota_rule: *:storage=528576
  quota: mysql:/usr/local/etc/dovecot/dovecot-dict-quota.conf

Any help you can offer is greatly, greatly appreciated, as well as opinions
on any other 'validated' postfix/dovecot email enterprise design solutions.

Thanks Very Much In Advance,


More information about the dovecot mailing list