ZCS Multi Server Installation Guide Network Edition 6.0 Rev 11/2010
Table of Contents Previous Next Index


Preparing Your Server Environment : Linux File System Setup

Linux File System Setup
The ext3 file system is supported for Linux deployments. The file system should be mounted with the noatime option set.
The ext3 file system should have dirsync enabled. The zimbra mailbox server uses fsync(2) as necessary to ensure that data in the files are flushed from buffers to disk. That is, when an incoming message is received, fsync is called on the blob store message file before the MTA is given an acknowledgment that the message was received or delivered by the mailbox server.
However, when the Zimbra mailbox server or MTA creates new files, such as during message delivery, the update to the directory containing the file must be flushed to disk. Even if the data in the file is flushed with fsync, the file entry in the directory might be lost if the server crashed before the directory update is flushed to disk.
With the ext3 file system, to have directory updates be written to disk automatically and atomically, there are two options
Update directory attributes by running chattr +D dir on all the relevant directories.
If you are doing this for the first time, consider running chattr -R +D to recursively update a whole tree of directories; future sub-directories inherit the attribute from the parent directory. Zimbra recommends dirsync be enabled for all blob stores, Lucene search index directories, and MTA queues.
The following options are a guidelines for when creating an ext3 file system with the mke2fs command. Refer to ext3 documentation.
Caution: Running mke2fs will wipe all data from the partition. Make sure that you create the file system in the correct partition.
 
For message store, option -i should be the expected average message size. Estimate this conservatively as the number of inodes can not be changed after creation.
Stride is used to tell the file system about the size of the RAID configuration. Stride * block size should be equal to RAID stripe size. Fopr example 4k blocks, 128k RAID stripes would set stride=32.
Note: For large ZCS deployments, see the Zimbra wiki, Performance Tuning Guidelines for Large Deployments article.

Preparing Your Server Environment : Linux File System Setup

Table of Contents Previous Next Index
ZCS Multi Server Installation Guide Network Edition 6.0 Rev 11/2010
Copyright © 2010 Zimbra Inc.