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

Reply via email to