On Fri, 29 Sep 2006, David Severance wrote:
Is MIX any more or less susceptible to problems over NFS than mbox
format?

Neither mix, not mbx, are suitable for use over NFS. Both formats depend upon locking which NFS does not provide.

I ask because we run an NFS environment off of several current
generation NetApp boxes with no problems for many, many years serving
10's of thousands of users.

Traditional UNIX mailbox format "works" with NFS to a limited degree. The only locking is provided by the .lock files which are sufficient to protect against conflicts between MUA and delivery.

However, .lock files do not protect against conflicts between multiple MUAs opening the same mailbox. When NFS is not involved, the client library (the basis of Pine, UW imapd and ipop3d, mailutil, etc.) has locking that will kill the older MUA process.

That mechanism does not work when NFS is involved. Instead, both MUAs will continue to work with the mailbox until the time comes that one MUA alters the file, and the other MUA discovers that it is confused where messages are located and crashes. In other words, the traditional behavior of UNIX MUAs.

Many IMAP clients routinely spawn multiple sessions to the same mailbox. For this and other reasons, traditional UNIX mailbox format is not really suitable for IMAP use even those UW imapd supports it.

Despite warnings about potential NFS problems this
system has worked extremely well and I was wondering if there was
anything that would make MIX more or less susceptible to NFS
difficulties as compared with mbox which we currently use.

When NFS is used, there is no locking. Mix depends upon locks to handle simultaneous access correctly. Mix and mbx are not suitable for use in an NFS environment. You'll probably hear the same thing from the Cyrus guys. NFS is not a real filesystem.

I've given the following religious talk before, but it's worth repeating:

99% of all environments that have IMAP servers access mail via NFS do so with a mistaken notion that this somehow helps with "the load". IMAP servers are I/O bound, not CPU bound. Thus, it is better to have run the IMAP server on the box that has the file bits.

Another problem is the perception that a monolithic mail store is a good idea. It isn't. It is better to break up the mail store into smaller mail stores.

At UW, we have a number of IMAP server systems, each dedicated to a portion of the user space. We have a special DNS zone, tied to our accounting system, so that mrc.deskmail.washington.edu always points to mrc's IMAP server system, wherever it may be today. Today, it is a machine called cg15.u.washington.edu. I neither know, nor care, where it may be tommorrow as the sysadmins may choose to move me at any time.

It also isolates failure. If one of our IMAP server systems fails, then only a small fraction of the user community is affected (and we have hot spares ready to deploy if needed). If the NFS monolith fails, then you lose everything. Also, our systems are split across different facilities so a disaster in one facility doesn't take out service for everybody. [Of course, we do have disaster recovery procedures, albeit non-instantaneous, for the portions which are taken out]

-- Mark --

http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.
_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to