[Dovecot] Best filesystem?

Frank Cusack frank+lists/dovecot at linetwo.net
Mon Jan 31 23:20:49 EET 2011


On 1/31/11 5:23 PM +0000 Ron Leach wrote:
> Ron Leach wrote:
>> Finally, and I do apologise for all the questions, we're wishing to
>> move to NFS.  (At the moment we have a 'one box' Dovecot solution,
>> but this makes upgrade of OS, upgrade of Dovecot, or upgrade of
>> storage always a problem.  We have already exported the new XFS
>> filestore over NFS - but Dovecot is not (yet) using it, that's the
>> next step for us.) Does the fsync solution we've been discussing
>> work just as well when the XFS filestore is exported over NFS?
...
>
> Further, the NFS shares can be mounted on the client with a 'sync' option
> that forces physical writes before returning to the caller. Though this
> would be horrifically slow in any high load (network transmission times,
> disc io queues etc), in our situation of low load we could consider using
> this option to minimise the potential for email loss due to crash or
> power fail.
>
> One further optimization, not relevant to Dovecot or email, but worth
> mentioning in the (unlikely) event that anyone is really this interested,
> if we were to split our XFS share into 'two' shares, one for email, and
> the other for general data storage, then we could apply 'sync' only to
> the XFS share for email (hence ensuring immediate writes) and not to the
> other share for general storage.
>
> Unless I'm wrong about something here, I think this closes the
> NFS-related concern about XFS and Dovecot and loss of email.

You're wrong.

Yes, NFS semantics "guarantee" commit, but what happens is that the
underlying filesystem (e.g. ext3, xfs with metadata spooling) lies to
the kernel about what has been committed.  The NFS call returns, but
the data has not actually been committed.  There have even been
NFS server tweaks for some implementations that themselves lie to
the client, ie w/o depending on filesystem lies, for performance
reasons.

These are all valid performance tweaks but most times people don't
understand the effect on data integrity.

So the summary is, just because you're using NFS doesn't mean anything
wrt data integrity or data loss.  You still have to understand the
underlying filesystem issue and you also have to understand the NFS
server issues.

But, e.g., if you're using Netapp (WAFL), you will have high performance
as well as correct NFS semantics wrt data loss.


More information about the dovecot mailing list