Which fs for storing mailboxes?
Clint Byrum
clint at ubuntu.com
Sat Jun 18 18:12:02 UTC 2011
Excerpts from Pandu Poluan's message of Sat Jun 18 02:55:51 -0700 2011:
> Hello list!
>
> We're going to deploy Axigen for our subsidiary company's email system.
>
> Now, I want to split the storage into 4:
> * Boot : ext2
> * Swap
> * Root : ext4
> * Mailboxes : ?which?
>
> The question: what filesystem should I use for the partition
> containing the mailboxes? Ext4? XFS? Or something else? What would be
> their advantages/disadvantages?
>
> FYI, the email server will have 40~50 simultaneous users, traffic will
> be relatively light (I don't think there will be more than 30-40
> emails per day for 90% of the users), and the emails mostly are
> mid-sized (100 KiB ~ 1 MiB, occasionally (less than 5% of time) 2 MiB
> ~ 4 MiB).
If you have mbox, honestly, I don't think it matters. 1 file per user
means the FS has very little work to do. I'd go XFS for this because
it is especially good at free space management and dealing with large
files. mbox's biggest weakness is users like me, who end up with 10's
of thousands of emails in one folder (CPU and I/O suffer whenever I make
any changes).
If you have Maildir, it gets interesting, because now each email is
taking up an inode on the FS. This means how the FS manages its meta-
data is very important.
Ext4 is going to need some special options if you plan to store many
millions of emails. If its under 1 million, I wouldn't worry about
it. My 145G default / partition on Ext4 has 20 million inodes (created
with installer defaults). Ext4 also may cause a lot of Random seeking
in Maildir as it doesn't always put files from a directory in the same
location. That said, if you bump up the inode number at filesystem
creation time, there are very few gotchyas.. ext4 continues to be a
jack of all trades.
ReiserFS is something to be avoided, even though it has no inode
limitation. It also keeps all files in a directory as physically close
on the disk as possible, so reading the entire contents of a folder is
quite fast. It suffers mightily from one thing though, which is that it
has a single B-Tree for the entire Filesystem, so if there are two people
deleting lots of email at the same time, they can block one another as
they collapse nodes in the B-Tree. With 40-50 simultaneous users that
is a real danger, and I've experienced it in the not-so-distant past
(kernel 2.6.18).
XFS at one time had a lot of problems with deleting lots of files. I
don't know if those persist, but that is why I've avoided it for Maildir
based systems. Anything that discourages users from deleting email is
a bad thing. ;)
So, I'd say Ext4, with lots of inodes, and a good RAID system underneath
to soften the blow of random seeks, is the best option.
More information about the ubuntu-server
mailing list