Mail Spool Partitions¶
A mail spool is divided in partitions. The partition Cyrus IMAP ships
with by default is called
Partitions can give you the opportunity to tier your storage, and/or use multiple filesystems to apply restrictions to information (contained within mailboxes), such as the absolute maximum quantity of storage used.
Storage Tiering with Partitions¶
As an example, one could imagine a set of disks configured as follows:
- Some small but fast (expensive) disks for the main storage array,
- Some large but slow (cheap) disks for archives.
This particular example is more efficaciously achieved via the new (post 3.0) Archiving feature.
Mounting a filesystem on the fast disks under
/var/spool/cyrus/fast/, and mounting a filesystem on the slow
/var/spool/cyrus/slow/, you could configure the
following in imapd.conf(5):
defaultpartition: fast partition-fast: /var/spool/cyrus/fast/ partition-slow: /var/spool/cyrus/slow/
Next, you could set the quota on
firstname.lastname@example.org to a measly
$ cyradm -u localhost verify error:num=18:self signed certificate IMAP Password: localhost> sq email@example.com 1048576
You could then also give John a mailbox
Archive for him to clean
up his Personal Namespace without loosing access
to his existing mail:
$ cyradm -u localhost verify error:num=18:self signed certificate IMAP Password: localhost> cm user/john/Archive@example.org slow localhost> sq user/john/Archive@example.org none
John now has unlimited storage in his
Archive folder on the cheap
slow disks, while his day-to-day email is on the expensive fast disks.
Restricting Storage Used with Partitions¶
It is not recommended to use partitions for the purposes of restricting the amount of storage used by (sets of) mailboxes, unless you can also grow the filesystem (preferably online) and you have (automated) means to determine what is to end up on each partition.
If a customer
example.org purchases 5 GB of storage, and
example.com purchases 500 GB of storage, then two partitions sized
5 GB and 500 GB respectively could be used to restrict the users of each
customers without individually restricting each user (to a percentage of
the total storage).
Monitoring the storage used is critical, because actually running out of disk space is very costly – and not a problem the customer themselves could recover from.
Back to Features