Hello all,
This email is by no means an "Educate me step by step" query, But
more of an inquiry about which direction to go based on your
experience. I've been working with Dovecot for some years now, so
the configuration of that piece is no stranger. However, Choosing
the right style of shared storage has proven to be somewhat of a
challenge.
A bit of background of what I need to provide service for:
~80,000 users, that will potentially grow throughout the future
~100 unique domains
Ability to scale horizontally. As resources grow, adding a node
(or group of nodes) with the exact configuration as the other
nodes. Director should be able to send the connection to a node
that has the same data as it's neighbors, Allowing high
availability.
What I've experimented with so far:
Server pairs, using dsync to replicate data between the nodes
- Director to send users to a specific pair (director_tag
returned from passdb)
Pros:
- Easy way to replicate data, without the need for external
tools
Cons:
- Limited to one pair of nodes
- dsync doesn't replicate all sieve files, for example, one
file that tracks out of office replies has not been replicated in
my experience
NFS storage managed by corosync and pacemaker - Director to
send users to any backend
Pros:
- One location for all data. New nodes that get stood up will be easy to configure
Cons:
- Complex to set up
In your experience, what did you choose for mail storage?
Thanks.