Mailstore Partitioning

Cyrus scales well as your storage requirements grow. Scaling is accomplished by spreading the mailstore across filesystems. New partitions can be added to the mailstore at any time without requiring downtime,[39] copying of files, or even the users’ knowledge.

The default Cyrus configuration requires two properties related to mailstore partitioning in /etc/imapd.conf :

partition-default: /var/spool/cyrus
defaultpartition: default

Under this default configuration, when a new mailbox is created, it inherits the partition of its parent mailbox. If the new mailbox does not have a parent mailbox, then the mailbox is placed on the default partition partition-default.

Depending on the specifics of the hardware configuration, the system administrator may want to distribute the mailstore across several disks. Suppose, for example, a system with a single disk for its mailstore reached 90% of its disk capacity, and the administrator added two disks and a new disk controller. In this case, the system administrator would probably decide to keep her mailstore partitioning as simple as possible and add a new partition for each new disk.[40] After adding the new hardware to the system, formatting the disks, and mounting the new partitions, the administrator would create a user subdirectory under each new partition and change /etc/imapd.conf to look like:

partition-default: /var/spool/cyrus partition-1: /var/spool/cyrus1 partition-2: /var/spool/cyrus2 defaultpartition: ...

Get Managing IMAP now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.