[KLUG Members] Re: Defrag'ing ext3 filesystems?

Bryan J. Smith members@kalamazoolinux.org
Mon, 11 Nov 2002 13:14:53 -0500 (EST)


Quoting Adam Williams <awilliam@whitemice.org>:
> Reiserfs is good for some niche applications,

First off, let me say ReiserFS is a revolutionary, but still a very sound
approach to a filesystem design.  Although there is some "legacy compatibility"
issues, the team _has_ done a good job of getting NFS stable.  And the
journaling is actually very good, and it's not shy to stop and say, "hey, I
don't trust my journal" and tell the user to do a full fsck.

The "problem" with ReiserFS is that the structure is constantly changing.  And
although the kernel implementation works well, the off-line tools (like
"repair") are not always "kept-in-sync."  As such, ReiserFS is solid _until_ you
run into a situation where the journal is not good, and you must run the
off-line tools to fix things.

Especially on distros that do a "poor job" of QA checking and testing -- I've
seen Mandrake ship with the _wrong_ off-line tools for the kernel version!  Seen
_several_ people toast ReiserFS filesystems that were just "dirty" and get
toasted by the off-line tools.

> the primary alternative to mainstream use if XFS,

XFS is 8 years proven on Irix.  The Linux version is a _direct_port_ to Linux,
structure for structure.  It has had all kinds of "features" from Day 1,
including POSIX ACLs, as well as full legacy "compatibility" from official quota
support to kNFS integration.

> although I here JFS works quite well these days.
> XFS and JFS feature-for-feature are pretty darn close.

In raw implementation, yes, XFS and JFS are similar.

The "problem" I've had with JFS is the fact that it is a port from OS/2, not
AIX.  A direct port from AIX would have been far better for Linux.

Does JFS have "production quality" POSIX ACLs, Quota and NFS support?  When I
looked at it 12 months ago, it was lagging especially in the first two.

The other, "heresay"-based, comment on JFS I'll make is the "insistance" to go
to its journal.  IBM OS/2's HPFS and Microsoft NT's NTFS, which is largely just
HPFS reborn in Microsoft's image (just like the .NET CLR, which is little more
than a Java+class, long story), is very "aggressive" in going to the journal. 
I've personally had two major production failures with NTFS due to a journal
"mis-read."

Several people I know have stated that the JFS port to Linux from OS/2 follows
this IBM tradition of "aggressive" journal recovery.  A journal mis-read is
_far_worse_ than not having a journal.  But I've only heard this "second-hand"
so it should be taken as such -- I've _never_ run JFS on Linux personally (just
the other three).  Furthermore, the JFS from AIX is rumored to be not as
aggressive in journal reads, but that's not the port Linux has.

With that said, I guess I missed the early portion of this thread on
"defragmentation?"  Ext2/3 is pretty non-fragmenting, one of the better ones of
any UNIX fs' out there.  But UNIX, in general, doesn't fragment as bad as
DOS/NT-based systems -- because of the _strict_ separation of binaries, data
and, especially, temp/log files.

Which is how you can further improve non-fragmentation several times over on
just about _any_ UNIX flavor by following these two rules:

1.  Large, reserved disk space (5-10%) as the worst fragmentation occurs when
the disk is near-full

2.  Strict separation of binaries, data and, most importantly, temporary/log
files to their own filesystems

-- 
Bryan J. Smith, E.I.            Contact Info:  http://thebs.org
A+/i-Net+/Linux+/Network+/Server+ CCNA CIWA CNA SCSA/SCWSE/SCNA
---------------------------------------------------------------
There are two types of people:  people who fear guns and people
who respect guns.  The latter are not ones to commit violent
crimes, but the former seemingly thinks otherwise to be true.