Subject: Re: tuning TB RAID-backed filestore to reduce inode/superblock overhead
To: George Michaelson <ggm@apnic.net>
From: David Laight <david@l8s.co.uk>
List: current-users
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

-- 
David Laight: david@l8s.co.uk