[scaling kolab] using multiple cyrus partitions rather than one LVM partition

Gavin McCullagh gavin.mccullagh at gcd.ie
Thu Aug 11 13:53:59 CEST 2011


Hi,

we have a pretty standard kolab setup here.  When we set it up we put the
3 /kolab partitions on LVM.  The spool ran low on space recently, so we
added a second (hardware RAID1) physical volume and expanded the LVM onto
it.  This is fine.

It occurs to me however, that this is far from optimal.  People tend to
accumulate mail over years and want to hold onto it.  So, what happens is
that we fill Volume 1 up, then add Volume 2.  From then on Volume 2 is busy
with all the current and new mail, while Volume 1 is quiet, primarily
storing archived mail.  There will be some exceptions to this, but they
will be exceptions.  Also, should one of my RAID1 volumes fail, I
potentially lose all mail.

It seems to me that I'd get better disk performance and more failure
tolerance if I created multiple cyrus spools, one per physical volume and
balanced the users between them.  If the balancing is done right¹, this
should mean that the free space is split between the volumes, as is the old
and new mail and therefore the disk load.

I'm pretty sure Cyrus has the ability to spread mail over different spools,
but I don't wish to deviate too far from Kolab's setup.  

Is this functionality exposed in Kolab?  It seems like this would be key to
scaling kolab to many more users.  We're not concerned about disk load just
now, but at some point it might be an issue.

Gavin

¹ Not entirely trivial.




More information about the users mailing list