Subject: Re: Making FFS fsck faster
To: Greywolf <greywolf@starwolf.com>
From: James Chacon <jmc@NetBSD.org>
List: current-users
Date: 04/20/2005 10:23:26
On Tue, Apr 19, 2005 at 04:29:15PM -0700, Greywolf wrote:
> [Thus spake Matthias Petermann ("MP: ") 9:32pm...]
> 
> MP: Hi,
> MP:
> MP: last week I got a very worse experience on NetBSD FFS. I had to wait for
> MP: about 7 minutes to complete a fsck of a 120 GB FFS disklabel,
> MP: after my box crashed.
> 
> Please tell me you didn't put everything under that 120GB. :)
> 
> I know, I know, partitioning disks doesn't really help much and "makes
> no sense now that we have larger disks", but I find that if I isolate
> at least the OS-critical filesystems (/, /usr (or / and /usr), and /var)
> to appropriately sized partitions, I can at least come up much quicker
> and then, if I need to, I can run the remaining partitions later and
> bring them on line as they become ready.

It still doesn't really help w. larger and larger disks unless you bother
to virtualize it all into a lot of ccd's or something to get more slices.

I'm assuming 8 slices here as not all platforms do 16 slices.

You lose 1 slice for the "whole disk" (granted you don't have to do this but
in general it's done) and on a boot drive usually one for swap. Assuming swap
is even 5G that leaves 115G to be spread out among 6 slices.

That's almost 20G per slice (19.17 to be exact). Considering / wouldn't need
that, it's even more per average slice. And this is only a 120G disk. 300G
ones are becoming common and under this scenario average slice size if
completely spread out would be 49G or so.

Even at 16 slices it's 8.2G and 21G respectively. Those are best case if
everything is done the same. Since most likely you'll end up with smaller
system ones this is still a major problem.

"Bring the other ones online" only works if the system is usable w. only
the system partitions. Considering a lot of folks throwing 120+G drives into
boxes are on PC's using it as a desktop, this isn't useful advice at all
there. 

No matter if you partition ginsu style or all 1 chunk you'll still end up with
large partitions that take forever to fsck. This isn't a new problem at all
as I remember multi-hundred gigabyte raid setups on Slowaris in the mid 90's
we cringed when they rebooted as fsck's then could take hours. Sun solved
this with ufs logging, but there are other solutions and we should look into
them.

James