Question about lmtp.lock

Michael Loftis mloftis at wgops.com
Mon Dec 13 12:14:49 EST 2004



--On Monday, December 13, 2004 10:38 -0500 David G Mcmurtrie 
<dgm+ at pitt.edu> wrote:

> We've installed cyrus imapd 2.1.17 on a 4-node Veritas cluster and we're
> now testing it.  Our /var/imap filesystem is on a clustered filesystem.
>
> We noticed that all of the lmtpd processes are just sitting in a blocking
> fcntl() call waiting for a lock on /var/imap/socket/lmtp.lock.  When we
> run this in a clustered environment, each lmtpd is consuming CPU resources
> while blocking.  In a non-clustered ufs environment they do not.
>
> Is there any reason that the lmtpd processes need to be serialized across
> different nodes in a cluster?  If not, we'll just write these lock files
> to local ufs space on each cluster node.

There are a number of different lockfiles that cyrus uses during it's 
lifecycle.  Though one thing you need to know is that it is not designed to 
run like you're attempting to run it.  Each cyrus instance is meant to be 
standalone, and running them all from a shared disk could very likely cause 
mailbox corruption, as well as skiplist corruption for the seen/subs 
entries and such.  The only part of cyrus that may be multi-node from same 
storage safe is the BerkeleyDB stuff used for the mailboxes and deliver DBs.

Take a look at MURDER, that's what you'll want if you want to cluster 
Cyrus.  MURDER+heartbeat with a shared storage medium provides for failover 
(heartbeat is a separate, generic failover package).

>
> While I'm on the subject, what is the purpose of
> /var/imap/socket/imap.lock?
>
> Thanks,
>

---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list