RFC: Tuning ext3

Andreas Dilger adilger at clusterfs.com
Thu May 17 21:21:04 UTC 2007


On May 17, 2007  16:16 -0400, Tod Hagan wrote:
> A. Create using -O sparse_super (default) to save space on large
> filesystems. [MaxStor]

That's the default anyways.

> B. Create using -T largefile4 (one inode per 4 megabytes) to avoid
> wasting space on unused inodes. [MaxStor]

OK if your average file size is > 4MB.

> C. Create using -m 0 to reserve no blocks for the super-user.
> [NoSysFiles][MaxStor]

Can hit fragmentation problems if fs is almost 100% full.  I'd always
leave at least 1% even for large filesystems.

> D. Create using -E stride=N where N matches the underlying RAID.
> [GenNFSPerf]

Yup.

> E. Use a kernel >= 2.6.19 (patches for extents and 48-bit support,
> requires Ubuntu 7.04 feisty or Fedora Core 7 or custom kernel) to allow
> filesystems > 8TB on Intel/AMD chips. [BigFS]

This means ext4.  I'd suggest including the mballoc and delalloc patches
from Alex if performance is the driving factor.  There is some risk
involved in ext4.

> F. Use an external journal on a separate high-RPM drive. [GenNFSPerf]

The journal is mostly sequential writes, so high-RPM is not critical here.

> G. Use a large journal. mkfs -J size=8192 [GenNFSPerf]

This will consume 8GB of RAM on your server, per filesystem.  Watch out.
You probably don't get any benefit beyond 1 or 2 GB.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.




More information about the Ext3-users mailing list