high-availability Cyrus (i.e. glusterfs)?

Andre Felipe Machado andremachado at techforce.com.br
Tue Sep 28 11:41:04 EDT 2010

AFAIK, cyrus needs posix file locks and mmap support.
GlusterFS needs FUSE and it only supports writable mmap files after kernel
2.6.26 or so.
Therefore, you need recent kernel and recent fuse.
Further, you need to extremely fine tune your configuration, as the most robust
clustered filesystems suffer under load over small files.
Its their achiles heel...
And cyrus uses small files and "hot spot files".
We are evaluating clustered fs like GlusterFS, GFS, OCFS2 (and other
shared/mirrored alternatives) since 2007 and they are "not there" yet for such
heavy load profile (small files).
GlusterFS is the most elegant, flexible and promising of them.
But clustered filesystems worth their performance penalty if you need
active-active servers.
For such active-active, you may consider using Dovecot, that was designed having
taking into account clustered filesystems and shared storage and multiple
servers. It has four file locking methods to choose for best suitability for a
given storage method and even sql backends for mailer internal db (not for
messages) .
But dovecot does not support shared folders across multiple backends yet as
cyrus. And *this* is a killer feature for us.
If you wants active-passive configuration, it is best to stay away from any
clustered filesystem, to not pay the heavy performance cost for small files (and
another layer of bugs) without REALLY needing the active-active fs sharing.
Keep it simple.
Maybe you even do not need "real time" up to the microsecond
replication/mirroring  or sharing.
This allows even more simple and or reliable or recoverable or less resource
hungry solutions as more "sync delay" is accepted.
Low level (byte or even file) solutions will replicate crashes like bdb
corruptions and will slow down your app.
Byte, block, file replications need REALY FAST and EXTREMELY LOW LATENCY
networks, also. Notably for small files.
Answer yourself: What you desire? what you actually need?
Maybe you consider worthwhile to read some articles to bring some light to the
Also, remember that glusterfs evolved since the written article and newer
versions use somewhat different confs and tuning, that depends of YOUR
You will need some translation service to articles on brazilian portuguese. Look
for "Translate this page." link near bottom of each page.
Good luck.
Andre Felipe Machado

[0] http://www.techforce.com.br/news/linux_blog/glusterfs_tuning_small_files
[1 ]
[4] http://www.techforce.com.br/news/linux_blog/postgresql_ha_p1_5_com_glusterfs
[5] http://www.techforce.com.br/news/linux_blog/postgresql_ha_p1_com_glusterfs
[7] http://www.techforce.com.br/news/linux_blog/red_hat_cluster_suite_debian_etch
[11] http://www.techforce.com.br/news/linux_blog/postgresql_ha_p1_5_com_glusterfs
[12] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595370

More information about the Info-cyrus mailing list