<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Postfix and NFS</title> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> </head> <body> <h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix and NFS</h1> <hr> <p> This question was asked on the postfix-users mailing list a while ago: </p> <blockquote> <p> Also, what considerations are there for file locking or other potential problems when running Postfix with a Netapp-style box for /var/mail delivery? I know that FreeBSD has broken NFS file locking (both client and server?) but I'm not sure if this is something Postfix can work around or not. </p> </blockquote> <p> Postfix jumps several hoops in order to deal with NFS-specific problems. Thus, Postfix on NFS is slightly less reliable than Postfix on a local disk. That is not a problem in Postfix; the problem is in NFS and affects other MTAs as well. </p> <p> For queue locking within Postfix, NFS is not an issue because you cannot share Postfix queues among multiple Postfix instances. </p> <p> In order to have mailbox locking over NFS, you have to configure everything to use fcntl() locks for mailbox access (or switch to maildir style, which needs no application-level lock controls). </p> <p> To turn on fcntl() mailbox locks with Postfix you specify: </p> <blockquote> <pre> /etc/postfix/main.cf: <a href="postconf.5.html#virtual_mailbox_lock">virtual_mailbox_lock</a> = fcntl <a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = fcntl </pre> </blockquote> <p> Obviously, this approach is useful only if all other mailbox access software also uses fcntl() locks. </p> <p> You can also "play safe" and throw in <i>username</i>.lock files: </p> <blockquote> <pre> /etc/postfix/main.cf: <a href="postconf.5.html#virtual_mailbox_lock">virtual_mailbox_lock</a> = fcntl, dotlock <a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = fcntl, dotlock </pre> </blockquote> <p> This is the combination that many applications end up using. </p> </body> </html>