Subject: Re: tuning TB RAID-backed filestore to reduce inode/superblock overhead
To: George Michaelson <email@example.com>
From: David Laight <firstname.lastname@example.org>
Date: 09/07/2004 07:50:09
On Tue, Sep 07, 2004 at 11:36:38AM +1000, George Michaelson wrote:
> Is there a HOWTO for BSD which explains what is 'reasonable' overhead to work
> towards in constructing a 1.5Tb filestore on RAID?
> A co-worker just complained the consumed space for 1.5tb looked to be 100Gb and
> that seems a very high overhead. -no tunefs, no newfs options, no RAID tuning. Out
> of the box.
> Any simple guidance would be appreciated.
The big overhead is the inodes, by default there is one inode for every
4 fragments (if not set by -i bytes-per-inode to newfs).
With 1k fragments this is 1 inode for every 4k, FFSv1 inodes are 128
bytes - so that is 1/32th of the disk space. FFSv2 inodes are twice
the size so will use 1/16th of the space.
The other overheads are one bit per inode and 1 bit per fragment, and
a small overhead (relative to the size of a CG) per cylinder group.
You will get a lot of CGs (the bitmaps are constrained to an fs block).
Doubling the fragment (and block) size will reduce the number of CGs by
a facter of 4.
Depending on what the intended use of the FS, you could reduce the number
of inodes. But, for instance, a NetBSD build tree (maybe for pkgsrc)
is mainly small files.
David Laight: email@example.com