Dave Richardson wrote:
Anyone aware of a particularly good discussion of building a farm of
vpopmail "compliant" front-end machines for user access to a central
file server via NFS on linux? I'm concerned that I haven't thought
through issues in how to properly account for webmail/IMAP, MySQL for
storing smtp-auth IPs for relay control, and a few other topics.
Googling hasn't yielded much but a few threads from the *BSD folks.
My tentative thinking is 2+ front end machines that draw from a
common/identical configuration that provide the client interfaces via:
- SMTPd, smtp-auth, pop3d, send, IMAPd, anti-virus, anti-spam, webmail
(apache + squirrelmail)
- CHKUSER talking to the backend server
- Local /var/qmail/ (typical) install for queue, bin, supervise,
etc... possibly taken from the central, backend server via nightly
rsync where needed.
- NFS client communication to the central backend server
We use a large MySQL/NFS machine for this here. We have each front-end
server (toaster/ecluster/whatever) connecting to a common MySQL DB. We
also use a self authored management program to modify vpopmail DB entries.
Currently we NFS mount a common directory on each front-end machine.
That directory contains the following; domains, qmail-control, webmail.
We then use symlinks to map the required directories on each front-end
server.
front-end (target) -> NFS (source)
-----------------------------------------------
/home/vpopmail/domains -> /shared/vdomains
/var/qmail/control -> /shared/qmail-control
/usr/local/www -> /shared/webmail
/var/tmp -> /shared/webmail-sessions
Make sure your NFS mount is up and operational before starting qmail.
A single, large server provides the "backend" services to these machines
for:
- MySQL server (for smtp-auth tracking, squirrelmail prefs/abook/sigs,
users, domains)
- NFS Service providing Client-mounted folder(s) for the domains' email.
Any special compile/configuration suggestions to support this that I
wouldn't normally use on a single-box solution? Should the client
machines be logging to their local drives, to an NFS mounted drive, or
log over the network (like syslog-ng, even possible with multilog???) to
any particular host?
We use local logging, I would advise against NFS logging, it was iffy
for us. Never had a need to investigate logging over the network. We
only have three front-end machines so it is easy enough to log into the
offending machines and tail/grep the logs. Headers will always tell you
which machine to investigate.
Any administrative issues that grow through this distributed model? I'm
thinking about whether vqadmin or qmailadmin will continue to function
correctly when run from any of the "farm" machines? Would I just allow
one "admin" machine for vqadmin/qmailadmin to prevent issues?
We use neither.
Any risks of data collision/overlap or other issues that might surface
with this multi-server model? Central MySQL should solve most of this,
right?
THANKS!!!!!
Three years up and running, 50,000 delivered messages a day. No problems
ever with lost mail or failures. Clients still scream "you lost my
message" and I prove them wrong each time, but they still try.
I hope that helps.
DAve
--
Three years now I've asked Google why they don't have a
logo change for Memorial Day. Why do they choose to do logos
for other non-international holidays, but nothing for
Veterans?
Maybe they forgot who made that choice possible.