[CentOS] Storage - posibilities?

Sat Jan 14 18:17:40 UTC 2012
Devin Reade <gdr at gno.org>

Rafa³ Radecki <radecki.rafal at gmail.com> wrote:

> We are thinking about replacing these storage hosts with one solution,
> maybe a storage array with appropriate disk space and I/O capacity.

As John had mentioned the solution really depends on a complete
analysis of your requirements (average and maximum message size, 
number of messages, number of submailboxes, number of users, 
number of concurrent users, interconnect, etc).  I'm not sure if 
you're talking about replacing just the storage subsystem or the
entire mail system, but I'll assume the latter.

Although I mentioned Cyrus Murder
<http://cyrusimap.web.cmu.edu/mediawiki/index.php/Cyrus_Murder>
on the other thread, that is intended for truly large installations
and may (or not) be overkill in your situation.

One nice thing is that a basic Cyrus installation (without the Murder
part of the architecture) installs onto a single host (and is 
available in the CentOS distribution), and can scale up when 
circumstances dictate.  Cyrus is extremely easy on resources; 
probably a decade ago I had (going by memory) over 100,000 users on
one machine.

One configuration I like for "single instance" (non-Murder) installations
is to run Cyrus in a two-node pacemaker/corosync active-passive cluster
using DRBD and local disk as the storage.  In this configuration
both nodes have mailscanner + sendmail running (equal MX priorities
in DNS), and both are configured to hand off the messages via
lmtp to the active node's cyrus processes.  These are sealed
servers (no general login access) with authentication tied into
a master-replica LDAP configuration. And of course the local storage
on the nodes is Linux software RAID (so it's replicated at not
only the host level but also the DRBD level).

Even ignoring the usual HA aspects, it's nice to be able to do most
maintenance without bringing down the mail system.

And of course if your site is large enough that the "single instance"
configuration runs out of capacity, you can still expand it into
the Cyrus Murder architecture quite easily.

With respect to NFS, trying to use it as the back end storage has
the usual problem with NFS locking and perhaps performance. Using
has in the past been contraindicated, but I've not looked into
that issue recently to see if there are any changes. If you're leaning
toward a storage appliance (netapp or whatever), I would expect
cyrus to work just fine with iSCSI.

Cyrus also has nice searching and mail filtering capabilities.

Devin