Earl R Shannon wrote:
>
> Hello,
>
> We would like to use a shared filesystem. Will ALL the accounts on
> each server. Then we would use a load balancing package ( Resonate )
> in front of the servers. Should one server fail the service would
> continue.
>
> Network
> /\
> / \
> / \
> / \
> ResonateMaster-----ResonateSlave
> |\ /|
> | \ / |
> | \ / |
> | \ / |
> | \ / |
> | \/ |
> | /\ |
> | / \ |
> | / \ |
> | / \ |
> | / \ |
> |/ \|
> cyrusbox1 cyrusbox2
> \ /
> \ /
> \ /
> \ /
> \ /
> \ /
> San ( shared filesystem)
>
> More cyrusboxes can be added to access the San and be linked back to
> the resonate boxes. This allows us to scale the service as necessary
> and provide redundancy in the event of a failure. If an imap server
> fails then the Resonate machines would not route ( bad choice of
> words perhaps but thats basically what Resonate does ) requests to it.
> So, each imap server must see the same filesystem and since one
> connection can come from one server to a mailbox and another from
> a different server some form of locking mechanism must be used to
> garuantee mutual exclusion. The big question as already asked is,
> Does a clustering file system that allows such file system sharing
> provide sufficient protection or would the application
> itself (in this case cyrus) need to be made aware that accesses to its
> data could be made by processes running on a different machine?
The Cyrus code already handles the locking between multiple processes,
so an imapd running on a different box is a subtle (if any) difference,
provided that the shared filesystem handles read/write access from
multiple hosts and provides UNIX file locking semantics.
The only filesystem that I'm aware of that promises this (and delivers)
is SGI's CXFS.
Ken
--
Kenneth Murchison Oceana Matrix Ltd.
Software Engineer 21 Princeton Place
716-662-8973 x26 Orchard Park, NY 14127
--PGP Public Key-- http://www.oceana.com/~ken/ksm.pgp